ARC is still kind of a foreign concept to me. I've had some conversations
with David about it, but I don't remember if I ever implemented some of his
recommendations.

As for the uuid thing, it might be a problem with the toll-free bridge
mechanism. I've also started doing some work in CFString that might've
broken parts of it. I'm still working on it, just not as much as I should.
On Jan 9, 2013 9:47 AM, "Marcus Müller" <[email protected]> wrote:

Hi Stefan,

As the GNUstep corebase maintainer, of be very interested in hearing what
has and has not worked for you.

the obvious (and probably biggest) thing missing is ARC support. As I
already mentioned this poses a problem in ARC-ready code which drags in
corebase headers via other classes. It obviously doesn't matter if you
compile these other classes with -fno-arc, as the header inclusion alone is
the whole problem (and sometimes pretty hard to avoid, as you can't always
forward-declare or mask required structs).

The next problem I encountered was missing functionality in CFSocket,
specifically CFSocketEnableCallBacks/CFSocketDisableCallBacks. This is
probably not too hard to implement.

The real showstopper is missing ARC support.

The project is to be considered experimental, at best, but there are still
a few useful features.

Yes, definitely. I was really surprised to see so much being implemented, I
didn't really expect that. ;-)

Concerning the uuid issue you had. Could you provide me an example of what
avahi does accept?

I just revisited the issue and have to correct myself. It seems that
GSAvahiNetService doesn't properly retain the name given to it via -[
NSNetService initWithDomain:type:name:port:]. I just had a brief look at
the code and saw nothing suspicious, but the following code will
demonstrate the issue:


NSString *name = [[NSUserDefaults standardUserDefaults] stringForKey:@
"ServiceName"];
if (!name)
  name = CFUUIDCreateString(kCFAllocatorDefault,
CFUUIDCreate(kCFAllocatorDefault));

NSNetService *service = [[NSNetService alloc] initWithDomain:@""
type:@"_test-service._tcp."
name:name port:12345];
[service publish];


This happens when _not_ passing any argument to the test program:

2013-01-09 16:23:03.156 TestService[45728]
service:fdfee732-1df0-40da-95a0-f3c57f4fe760 type:_test-service._tcp.
port:12345
Assertion failed: (name), function avahi_entry_group_add_service_strlst,
file entrygroup.c, line 422.
Abort trap: 6 (core dumped)


If you provide -ServiceName fdfee732-1df0-40da-95a0-f3c57f4fe760 as command
line argument, the assertion doesn't happen.



Cheers,


  Marcus


-- 
Marcus Müller  .  .  .  http://www.mulle-kybernetik.com/znek/
_______________________________________________
Gnustep-dev mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/gnustep-dev

Reply via email to