4
Abstract: A subclass of UINavigationController that handles the UI needed for a user to
5
browse for Bonjour services.
6
It contains list view controllers for domains and service instances.
7
It allows the user to add their own domains.
13
#import <UIKit/UIKit.h>
14
#import "BrowserViewController.h"
15
#import "DomainViewController.h"
17
@class BonjourBrowser;
19
@protocol BonjourBrowserDelegate <UINavigationControllerDelegate>
21
// This method will be invoked when the user selects one of the service instances from the list.
22
// The ref parameter will be the selected (already resolved) instance or nil if the user taps the 'Cancel' button (if shown).
23
- (void) bonjourBrowser:(BonjourBrowser*)browser didResolveInstance:(NSNetService*)ref;
26
@interface BonjourBrowser : UINavigationController <BrowserViewControllerDelegate, DomainViewControllerDelegate> {
27
id<BonjourBrowserDelegate> __delegate; // because UINavigationContoller also has a _delegate
28
DomainViewController* _dvc;
29
BrowserViewController* _bvc;
32
BOOL _showDisclosureIndicators;
33
NSString* _searchingForServicesString;
34
BOOL _showCancelButton;
35
BOOL _showTitleInNavigationBar;
38
@property(nonatomic, assign) id<BonjourBrowserDelegate> delegate;
39
@property(nonatomic, copy, readwrite) NSString* searchingForServicesString; // The string to show when there are no services currently found (but updates are still ongoing)
40
@property(nonatomic, assign, readwrite) BOOL showTitleInNavigationBar; // If YES, the title of this object will be shown in the navigation bar
43
- (id) initForType:(NSString*)type // The Bonjour service type to browse for, e.g. @"_http._tcp"
44
inDomain:(NSString*)domain // The initial domain to browse in (pass nil to start in domains list)
45
customDomains:(NSMutableArray*)customDomains // An array of domains specified by the user
46
showDisclosureIndicators:(BOOL)showDisclosureIndicators // Whether to show discolsure indicators on service instance table cells
47
// e.g. if you want to push a view controller onto this navigation controller
48
showCancelButton:(BOOL)showCancelButton; // Whether to show a cancel button as the right navigation item
49
// Pass YES if you are modally showing this BonjourBrowser