BROKEN COMMIT. Majority of code to handle closing has been added. Listeners do not close correctly.
5 // Created by Jens Alfke on 1/22/08.
6 // Copyright 2008 Jens Alfke. All rights reserved.
9 #import "MYDNSService.h"
10 @class MYBonjourRegistration;
13 /** Searches for Bonjour services of a specific type. */
14 @interface MYBonjourBrowser : MYDNSService
17 NSString *_serviceType;
20 NSMutableSet *_services, *_addServices, *_rmvServices;
22 MYBonjourRegistration *_myRegistration;
25 /** Initializes a new BonjourBrowser.
26 Call -start to begin browsing.
27 @param serviceType The name of the service type to look for, e.g. "_http._tcp". */
28 - (id) initWithServiceType: (NSString*)serviceType;
30 /** Is the browser currently browsing? */
31 @property (readonly) BOOL browsing;
33 /** The set of currently found services. These are instances of the serviceClass,
34 which is BonjourService by default.
35 This is KV-observable. */
36 @property (readonly) NSSet *services;
38 /** The class of objects to create to represent services.
39 The default value is [BonjourService class]; you can change this, but only
40 to a subclass of that. */
41 @property Class serviceClass;
43 /** My own registration for this service type.
44 This object is created on demand and won't be started up until you tell it to.
45 Before starting it, you'll need to set its port, and optionally its name.
46 Your own registration will _not_ be visible in the set of services.*/
47 @property (readonly) MYBonjourRegistration *myRegistration;