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);
77 delete fawkes_service;
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;
108 return __fawkes_network_thread;
128 return __service_publisher;
138 return __service_browser;
Service publisher interface.
NetworkNameResolver * nnresolver()
Get network name resolver.
virtual void remove(ThreadList &tl)=0
Remove multiple threads.
Fawkes library namespace.
FawkesNetworkHub * hub()
Get Fawkes network hub.
Dummy service publisher interface.
FawkesNetworkManager(ThreadCollector *thread_collector, unsigned short int fawkes_port, const char *service_name)
Constructor.
void publish_service(NetworkService *service)
Publish service.
~FawkesNetworkManager()
Destructor.
ServicePublisher * service_publisher()
Get service publisher.
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.