From 9449f151d0ccf3ac755d5f2bd9b4057ae2b03157 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Thu, 30 Jan 2014 13:52:13 +0100 Subject: mDNS: Import The sources can be obtained via: http://opensource.apple.com/tarballs/mDNSResponder/mDNSResponder-544.tar.gz --- .../PreferencePane/DNSServiceDiscoveryPref.h | 170 +++++++++++++++++++++ 1 file changed, 170 insertions(+) create mode 100644 mDNSResponder/mDNSMacOSX/PreferencePane/DNSServiceDiscoveryPref.h (limited to 'mDNSResponder/mDNSMacOSX/PreferencePane/DNSServiceDiscoveryPref.h') diff --git a/mDNSResponder/mDNSMacOSX/PreferencePane/DNSServiceDiscoveryPref.h b/mDNSResponder/mDNSMacOSX/PreferencePane/DNSServiceDiscoveryPref.h new file mode 100644 index 00000000..f0586591 --- /dev/null +++ b/mDNSResponder/mDNSMacOSX/PreferencePane/DNSServiceDiscoveryPref.h @@ -0,0 +1,170 @@ +/* + File: DNSServiceDiscoveryPref.h + + Abstract: System Preference Pane for Dynamic DNS and Wide-Area DNS Service Discovery + + Copyright: (c) Copyright 2005 Apple Computer, Inc. All rights reserved. + + Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple Computer, Inc. + ("Apple") in consideration of your agreement to the following terms, and your + use, installation, modification or redistribution of this Apple software + constitutes acceptance of these terms. If you do not agree with these terms, + please do not use, install, modify or redistribute this Apple software. + + In consideration of your agreement to abide by the following terms, and subject + to these terms, Apple grants you a personal, non-exclusive license, under Apple's + copyrights in this original Apple software (the "Apple Software"), to use, + reproduce, modify and redistribute the Apple Software, with or without + modifications, in source and/or binary forms; provided that if you redistribute + the Apple Software in its entirety and without modifications, you must retain + this notice and the following text and disclaimers in all such redistributions of + the Apple Software. Neither the name, trademarks, service marks or logos of + Apple Computer, Inc. may be used to endorse or promote products derived from the + Apple Software without specific prior written permission from Apple. Except as + expressly stated in this notice, no other rights or licenses, express or implied, + are granted by Apple herein, including but not limited to any patent rights that + may be infringed by your derivative works or by other works in which the Apple + Software may be incorporated. + + The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO + WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED + WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN + COMBINATION WITH YOUR PRODUCTS. + + IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION + OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT + (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#import +#import +#import +#import +#import +#import + +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; + + +// Delegate methods +-(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 -- cgit v1.2.3