DNSServiceDiscoveryPref.h [plain text]
#import <Cocoa/Cocoa.h>
#import <PreferencePanes/PreferencePanes.h>
#import <CoreFoundation/CoreFoundation.h>
#import <SecurityInterface/SFAuthorizationView.h>
#import <SystemConfiguration/SystemConfiguration.h>
#import <dns_sd.h>
typedef struct MyDNSServiceState {
DNSServiceRef service;
CFRunLoopSourceRef source;
CFSocketRef socket;
} MyDNSServiceState;
@interface DNSServiceDiscoveryPref : NSPreferencePane
{
IBOutlet NSTextField *hostName;
IBOutlet NSTextField *sharedSecretName;
IBOutlet NSSecureTextField *sharedSecretValue;
IBOutlet NSComboBox *browseDomainsComboBox;
IBOutlet NSComboBox *regDomainsComboBox;
IBOutlet NSButton *wideAreaCheckBox;
IBOutlet NSButton *hostNameSharedSecretButton;
IBOutlet NSButton *registrationSharedSecretButton;
IBOutlet NSButton *applyButton;
IBOutlet NSButton *revertButton;
IBOutlet NSWindow *sharedSecretWindow;
IBOutlet NSWindow *addBrowseDomainWindow;
IBOutlet NSButton *addBrowseDomainButton;
IBOutlet NSButton *removeBrowseDomainButton;
IBOutlet NSButton *browseOKButton;
IBOutlet NSButton *browseCancelButton;
IBOutlet NSButton *secretOKButton;
IBOutlet NSButton *secretCancelButton;
IBOutlet NSImageView *statusImageView;
IBOutlet NSTabView *tabView;
IBOutlet NSTableView *browseDomainList;
IBOutlet SFAuthorizationView *comboAuthButton;
NSWindow *mainWindow;
NSString *currentHostName;
NSString *currentRegDomain;
NSArray *currentBrowseDomainsArray;
NSMutableArray *browseDomainsArray;
NSMutableArray *defaultBrowseDomainsArray;
NSString *defaultRegDomain;
NSString *hostNameSharedSecretName;
NSString *hostNameSharedSecretValue;
NSString *regSharedSecretName;
NSString *regSharedSecretValue;
BOOL currentWideAreaState;
BOOL prefsNeedUpdating;
BOOL toolInstalled;
BOOL browseDomainListEnabled;
BOOL justStartedEditing;
NSImage *successImage;
NSImage *inprogressImage;
NSImage *failureImage;
MyDNSServiceState regQuery;
MyDNSServiceState browseQuery;
NSMutableArray *browseDataSource;
NSMutableArray *registrationDataSource;
}
-(IBAction)applyClicked : (id)sender;
-(IBAction)enableBrowseDomainClicked : (id)sender;
-(IBAction)addBrowseDomainClicked : (id)sender;
-(IBAction)removeBrowseDomainClicked : (id)sender;
-(IBAction)revertClicked : (id)sender;
-(IBAction)changeButtonPressed : (id)sender;
-(IBAction)closeMyCustomSheet : (id)sender;
-(IBAction)comboAction : (id)sender;
-(IBAction)wideAreaCheckBoxChanged : (id)sender;
-(NSMutableArray *)browseDataSource;
-(NSMutableArray *)registrationDataSource;
-(NSComboBox *)browseDomainsComboBox;
-(NSComboBox *)regDomainsComboBox;
-(NSString *)currentRegDomain;
-(NSMutableArray *)defaultBrowseDomainsArray;
-(NSArray *)currentBrowseDomainsArray;
-(NSString *)currentHostName;
-(NSString *)defaultRegDomain;
-(void)setDefaultRegDomain : (NSString *)domain;
-(void)enableApplyButton;
-(void)disableApplyButton;
-(void)applyCurrentState;
-(void)setBrowseDomainsComboBox;
-(void)setupInitialValues;
-(void)startDomainBrowsing;
-(void)toggleWideAreaBonjour : (BOOL)state;
-(void)updateApplyButtonState;
-(void)enableControls;
-(void)disableControls;
-(void)validateTextFields;
-(void)readPreferences;
-(void)savePreferences;
-(void)restorePreferences;
-(void)watchForPreferenceChanges;
-(void)updateStatusImageView;
-(NSString *)sharedSecretKeyName : (NSString * )domain;
-(NSString *)domainForHostName : (NSString *)hostNameString;
-(int)statusForHostName : (NSString * )domain;
-(NSData *)dataForDomainArray : (NSArray *)domainArray;
-(NSData *)dataForDomain : (NSString *)domainName isEnabled : (BOOL)enabled;
-(NSData *)dataForSharedSecret : (NSString *)secret domain : (NSString *)domainName key : (NSString *)keyName;
-(BOOL)domainAlreadyInList : (NSString *)domainString;
-(NSString *)trimCharactersFromDomain : (NSString *)domain;
-(void)authorizationViewDidAuthorize : (SFAuthorizationView *)view;
-(void)authorizationViewDidDeauthorize : (SFAuthorizationView *)view;
-(void)mainViewDidLoad;
-(int)numberOfItemsInComboBox : (NSComboBox *)aComboBox;
-(id)comboBox : (NSComboBox *)aComboBox objectValueForItemAtIndex : (int)index;
-(void)controlTextDidChange : (NSNotification *) notification;
@end