DNSRegistrationThread.h [plain text]
#ifndef _DNSRegistrationThread_
#define _DNSRegistrationThread_ 1
#include "CNSLHeaders.h"
class mDNSPlugin;
class DNSRegistrationThread
{
public:
DNSRegistrationThread ( mDNSPlugin* parentPlugin );
virtual ~DNSRegistrationThread ();
void Initialize ( CFRunLoopRef idleRunLoopRef );
void Cancel ( void );
tDirStatus RegisterHostedServices ( void );
tDirStatus PerformRegistration ( CFStringRef nameRef,
CFStringRef typeRef,
CFStringRef domainRef,
CFStringRef protocolSpecificData,
CFStringRef portRef,
CFStringRef* serviceKeyRef );
tDirStatus PerformDeregistration ( CFDictionaryRef service );
tDirStatus PerformDeregistration ( CFStringRef serviceKey );
mDNSPlugin* GetParentPlugin ( void ) { return mParentPlugin; }
CFStringRef GetOurSpecialRegKey ( void ) { return mOurSpecialRegKey; }
private:
mDNSPlugin* mParentPlugin;
CFRunLoopRef mRunLoopRef;
SCDynamicStoreRef mSCRef;
CFMutableDictionaryRef mRegisteredServicesTable;
CFMutableDictionaryRef mMachineService;
Boolean mCanceled;
CFStringRef mOurSpecialRegKey;
};
CFStringRef CreateComputerNameEthernetString( CFStringRef computerName );
CFStringRef CreateMacAddressString ( void );
#endif // #ifndef