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)
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);
87 delete fawkes_service;
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;
118 return __fawkes_network_thread;
138 return __service_publisher;
148 return __service_browser;
157 return __fawkes_port;
Service publisher interface.
NetworkNameResolver * nnresolver()
Get network name resolver.
unsigned short int fawkes_port() const
Get Fawkes TCP port.
virtual void remove(ThreadList &tl)=0
Remove multiple threads.
Fawkes library namespace.
FawkesNetworkHub * hub()
Get Fawkes network hub.
Dummy service publisher interface.
void publish_service(NetworkService *service)
Publish service.
~FawkesNetworkManager()
Destructor.
ServicePublisher * service_publisher()
Get service publisher.
FawkesNetworkManager(ThreadCollector *thread_collector, bool enable_ipv4, bool enable_ipv6, const std::string &listen_ipv4, const std::string &listen_ipv6, unsigned short int fawkes_port, const char *service_name)
Constructor.
virtual void add(ThreadList &tl)=0
Add multiple threads.
Representation of a service announced or found via service discovery (i.e.
Network name and address resolver.
ServiceBrowser * service_browser()
Get service browser.