Bonjour/MYBonjourBrowser.h
author Jens Alfke <jens@mooseyard.com>
Sun Apr 26 18:12:44 2009 -0700 (2009-04-26)
changeset 30 096cf03b65d4
child 28 732576fa8a0d
permissions -rw-r--r--
* Fixed path type of MYUtilities folder ref; this fixes issue #2.
* Added MYDNSService.h/m to iPhone project.
* Changed base SDK of iPhone project to 2.2.1 (from 2.0)
jens@26
     1
//
jens@26
     2
//  MYBonjourBrowser.h
jens@26
     3
//  MYNetwork
jens@26
     4
//
jens@26
     5
//  Created by Jens Alfke on 1/22/08.
jens@26
     6
//  Copyright 2008 Jens Alfke. All rights reserved.
jens@26
     7
//
jens@26
     8
jens@26
     9
#import <Foundation/Foundation.h>
jens@26
    10
jens@26
    11
jens@26
    12
/** Searches for Bonjour services of a specific type. */
jens@26
    13
@interface MYBonjourBrowser : NSObject
jens@26
    14
{
jens@26
    15
    @private
jens@26
    16
    NSString *_serviceType;
jens@26
    17
    NSNetServiceBrowser *_browser;
jens@26
    18
    BOOL _browsing;
jens@26
    19
    NSError *_error;
jens@26
    20
    Class _serviceClass;
jens@26
    21
    NSMutableSet *_services, *_addServices, *_rmvServices;
jens@26
    22
}
jens@26
    23
jens@26
    24
/** Initializes a new BonjourBrowser.
jens@26
    25
    Call -start to begin browsing.
jens@26
    26
    @param serviceType  The name of the service type to look for, e.g. "_http._tcp". */
jens@26
    27
- (id) initWithServiceType: (NSString*)serviceType;
jens@26
    28
jens@26
    29
/** Starts browsing. This is asynchronous, so nothing will happen immediately. */
jens@26
    30
- (void) start;
jens@26
    31
jens@26
    32
/** Stops browsing. */
jens@26
    33
- (void) stop;
jens@26
    34
jens@26
    35
/** Is the browser currently browsing? */
jens@26
    36
@property (readonly) BOOL browsing;
jens@26
    37
jens@26
    38
/** The current error status, if any.
jens@26
    39
    This is KV-observable. */
jens@26
    40
@property (readonly,retain) NSError* error;
jens@26
    41
jens@26
    42
/** The set of currently found services. These are instances of the serviceClass,
jens@26
    43
    which is BonjourService by default.
jens@26
    44
    This is KV-observable. */
jens@26
    45
@property (readonly) NSSet *services;
jens@26
    46
jens@26
    47
/** The class of objects to create to represent services.
jens@26
    48
    The default value is [BonjourService class]; you can change this, but only
jens@26
    49
    to a subclass of that. */
jens@26
    50
@property Class serviceClass;
jens@26
    51
jens@26
    52
@end