Bonjour/MYBonjourBrowser.h
changeset 26 cb9cdf247239
child 28 732576fa8a0d
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/Bonjour/MYBonjourBrowser.h	Wed Apr 22 16:45:39 2009 -0700
     1.3 @@ -0,0 +1,52 @@
     1.4 +//
     1.5 +//  MYBonjourBrowser.h
     1.6 +//  MYNetwork
     1.7 +//
     1.8 +//  Created by Jens Alfke on 1/22/08.
     1.9 +//  Copyright 2008 Jens Alfke. All rights reserved.
    1.10 +//
    1.11 +
    1.12 +#import <Foundation/Foundation.h>
    1.13 +
    1.14 +
    1.15 +/** Searches for Bonjour services of a specific type. */
    1.16 +@interface MYBonjourBrowser : NSObject
    1.17 +{
    1.18 +    @private
    1.19 +    NSString *_serviceType;
    1.20 +    NSNetServiceBrowser *_browser;
    1.21 +    BOOL _browsing;
    1.22 +    NSError *_error;
    1.23 +    Class _serviceClass;
    1.24 +    NSMutableSet *_services, *_addServices, *_rmvServices;
    1.25 +}
    1.26 +
    1.27 +/** Initializes a new BonjourBrowser.
    1.28 +    Call -start to begin browsing.
    1.29 +    @param serviceType  The name of the service type to look for, e.g. "_http._tcp". */
    1.30 +- (id) initWithServiceType: (NSString*)serviceType;
    1.31 +
    1.32 +/** Starts browsing. This is asynchronous, so nothing will happen immediately. */
    1.33 +- (void) start;
    1.34 +
    1.35 +/** Stops browsing. */
    1.36 +- (void) stop;
    1.37 +
    1.38 +/** Is the browser currently browsing? */
    1.39 +@property (readonly) BOOL browsing;
    1.40 +
    1.41 +/** The current error status, if any.
    1.42 +    This is KV-observable. */
    1.43 +@property (readonly,retain) NSError* error;
    1.44 +
    1.45 +/** The set of currently found services. These are instances of the serviceClass,
    1.46 +    which is BonjourService by default.
    1.47 +    This is KV-observable. */
    1.48 +@property (readonly) NSSet *services;
    1.49 +
    1.50 +/** The class of objects to create to represent services.
    1.51 +    The default value is [BonjourService class]; you can change this, but only
    1.52 +    to a subclass of that. */
    1.53 +@property Class serviceClass;
    1.54 +
    1.55 +@end