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> 65 bool enable_ipv4,
bool enable_ipv6,
66 const std::string &listen_ipv4,
const std::string &listen_ipv6,
67 unsigned short int fawkes_port,
68 const char *service_name)
70 __fawkes_port = fawkes_port;
71 __thread_collector = thread_collector;
73 listen_ipv4, listen_ipv6,
76 __thread_collector->add(__fawkes_network_thread);
78 __avahi_thread =
new AvahiThread(enable_ipv4, enable_ipv6);
79 __service_publisher = __avahi_thread;
80 __service_browser = __avahi_thread;
81 __thread_collector->add(__avahi_thread);
86 __avahi_thread->publish_service(fawkes_service);
87 delete fawkes_service;
97 FawkesNetworkManager::~FawkesNetworkManager()
99 __thread_collector->remove(__fawkes_network_thread);
100 delete __fawkes_network_thread;
102 __thread_collector->remove(__avahi_thread);
103 delete __avahi_thread;
105 delete __service_publisher;
106 delete __service_browser;
116 FawkesNetworkManager::hub()
118 return __fawkes_network_thread;
126 FawkesNetworkManager::nnresolver()
136 FawkesNetworkManager::service_publisher()
138 return __service_publisher;
146 FawkesNetworkManager::service_browser()
148 return __service_browser;
155 FawkesNetworkManager::fawkes_port()
const 157 return __fawkes_port;
Service publisher interface.
Fawkes library namespace.
Dummy service publisher interface.
Representation of a service announced or found via service discovery (i.e.
Network name and address resolver.