PortMapper/MYDNSService.h
changeset 33 a9c59b0acbbc
parent 31 1d6924779df7
child 50 63baa74c903f
     1.1 --- a/PortMapper/MYDNSService.h	Wed Apr 29 13:29:31 2009 -0700
     1.2 +++ b/PortMapper/MYDNSService.h	Wed Apr 29 21:05:01 2009 -0700
     1.3 @@ -50,17 +50,25 @@
     1.4                         inDomain: (NSString*)domain;
     1.5  
     1.6  
     1.7 +/** @name Protected
     1.8 + *  Methods for use only by subclasses
     1.9 + */
    1.10 +//@{
    1.11  
    1.12 -// PROTECTED:
    1.13 -
    1.14 -
    1.15 +/** Normally, all DNSService objects use a shared IPC connection to the mDNSResponder daemon.
    1.16 +    If an instance wants to use its own connection instead, it can set this property to YES before
    1.17 +    it starts. If it does so, it must NOT set the kDNSServiceFlagsShareConnection flag when creating
    1.18 +    its underlying DNSService.
    1.19 +    This functionality is only provided because MYBonjourRegistration needs it -- there's a bug
    1.20 +    that prevents DNSServiceUpdateRecord from working with a shared connection. */
    1.21  @property BOOL usePrivateConnection;
    1.22  
    1.23  /** Subclass must implement this abstract method to create a new DNSServiceRef.
    1.24      This method is called by -open.
    1.25      The implementation MUST pass the given sdRefPtr directly to the DNSService function
    1.26      that creates the new ref, without setting it to NULL first.
    1.27 -    It MUST also set the kDNSServiceFlagsShareConnection flag. */
    1.28 +    It MUST also set the kDNSServiceFlagsShareConnection flag, unless it's already set the
    1.29 +    usePrivateConnection property. */
    1.30  - (int32_t/*DNSServiceErrorType*/) createServiceRef: (struct _DNSServiceRef_t**)sdRefPtr;
    1.31  
    1.32  /** Subclass's callback must call this method after doing its own work.
    1.33 @@ -68,6 +76,7 @@
    1.34      continuous. */
    1.35  - (void) gotResponse: (int32_t/*DNSServiceErrorType*/)errorCode;
    1.36  
    1.37 +/** The underlying DNSServiceRef. This will be NULL except while the service is running. */
    1.38  @property (readonly) struct _DNSServiceRef_t* serviceRef;
    1.39  
    1.40  /** Same as -stop, but does not clear the error property.
    1.41 @@ -79,6 +88,7 @@
    1.42      @return  YES if a message is received, NO on error (or if the service isn't started) */
    1.43  - (BOOL) waitForReply;
    1.44  
    1.45 +//@}
    1.46  
    1.47  @end
    1.48