24 #include <netcomm/fawkes/network_manager.h>
25 #include <core/threading/thread_collector.h>
27 #include <core/exceptions/system.h>
28 #include <netcomm/fawkes/server_thread.h>
29 #include <netcomm/fawkes/handler.h>
30 #include <netcomm/utils/resolver.h>
32 #include <netcomm/dns-sd/avahi_thread.h>
33 #include <netcomm/service_discovery/service.h>
35 #include <netcomm/service_discovery/dummy_service_publisher.h>
36 #include <netcomm/service_discovery/dummy_service_browser.h>
59 unsigned short int fawkes_port,
60 const char *service_name)
62 __fawkes_port = fawkes_port;
63 __thread_collector = thread_collector;
66 __thread_collector->add(__fawkes_network_thread);
69 __service_publisher = __avahi_thread;
70 __service_browser = __avahi_thread;
71 __thread_collector->add(__avahi_thread);
76 __avahi_thread->publish_service(fawkes_service);
77 delete fawkes_service;
87 FawkesNetworkManager::~FawkesNetworkManager()
89 __thread_collector->remove(__fawkes_network_thread);
90 delete __fawkes_network_thread;
92 __thread_collector->remove(__avahi_thread);
93 delete __avahi_thread;
95 delete __service_publisher;
96 delete __service_browser;
106 FawkesNetworkManager::hub()
108 return __fawkes_network_thread;
116 FawkesNetworkManager::nnresolver()
126 FawkesNetworkManager::service_publisher()
128 return __service_publisher;
136 FawkesNetworkManager::service_browser()
138 return __service_browser;