Changeset 4842

Show
Ignore:
Timestamp:
06/18/07 05:08:14 (1 year ago)
Author:
morris
Message:

Split out dns-sd registration

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • wired/trunk/wired/server.c

    r4841 r4842  
    4848#include "version.h" 
    4949 
     50#ifdef HAVE_DNS_SD_H 
     51 
     52static void                                                     wd_server_register_dnssd(void); 
     53static void                                                     wd_server_register_dnssd_reply(DNSServiceRef, DNSServiceFlags, DNSServiceErrorType, const char *, const char *, const char *, void *); 
     54#endif 
     55 
    5056static void                                                     wd_control_listen_thread(wi_runtime_instance_t *); 
    5157static void                                                     wd_transfer_listen_thread(wi_runtime_instance_t *); 
     
    6268 
    6369void wd_server_init(void) { 
    64 #ifdef HAVE_DNS_SD_H 
    65         DNSServiceRef                   service; 
    66         DNSServiceErrorType             err; 
    67 #endif 
    6870        wi_enumerator_t                 *enumerator; 
    6971        wi_array_t                              *array, *addresses; 
     
    154156         
    155157#ifdef HAVE_DNS_SD_H 
    156         err = DNSServiceRegister(&service, 
    157                                                          0, 
    158                                                          0, 
    159                                                          wi_string_cstring(wd_settings.name), 
    160                                                          WD_ZEROCONF_NAME, 
    161                                                          NULL, 
    162                                                          NULL, 
    163                                                          htons(wd_settings.port), 
    164                                                          0, 
    165                                                          NULL, 
    166                                                          NULL, 
    167                                                          NULL); 
    168          
    169         if(err != kDNSServiceErr_NoError) 
    170                 wi_log_warn(WI_STR("Could not register for DNS service discovery: %d"), err); 
     158        wd_server_register_dnssd(); 
    171159#endif 
    172160} 
     
    279267#pragma mark - 
    280268 
     269#ifdef HAVE_DNS_SD_H 
     270 
     271static void wd_server_register_dnssd(void) { 
     272        DNSServiceRef                   service; 
     273        DNSServiceErrorType             err; 
     274 
     275        err = DNSServiceRegister(&service, 
     276                                                         0, 
     277                                                         kDNSServiceInterfaceIndexAny, 
     278                                                         wi_string_cstring(wd_settings.name), 
     279                                                         WD_DNSSD_NAME, 
     280                                                         NULL, 
     281                                                         NULL, 
     282                                                         htons(wd_settings.port), 
     283                                                         0, 
     284                                                         NULL, 
     285                                                         wd_server_register_dnssd_reply, 
     286                                                         NULL); 
     287         
     288        if(err != kDNSServiceErr_NoError) 
     289                wi_log_warn(WI_STR("Could not register for DNS service discovery: %d"), err); 
     290} 
     291 
     292 
     293 
     294static void wd_server_register_dnssd_reply(DNSServiceRef client, DNSServiceFlags flags, DNSServiceErrorType error, const char *name, const char *regtype, const char *domain, void *context) { 
     295        wi_log_info(WI_STR("DNS service discovery reply for %s.%s%s: %d"), name, regtype, domain, error); 
     296} 
     297 
     298#endif 
     299 
     300 
     301 
     302#pragma mark - 
     303 
    281304static void wd_control_listen_thread(wi_runtime_instance_t *argument) { 
    282305        wi_pool_t                       *pool; 
  • wired/trunk/wired/server.h

    r4508 r4842  
    3434#include "chats.h" 
    3535 
    36 #define WD_ZEROCONF_NAME                      "_wired._tcp" 
     36#define WD_DNSSD_NAME                         "_wired._tcp" 
    3737#define WD_SERVER_PORT                          2000 
    3838#define WD_TRACKER_PORT                         2002