24 #include <gui_utils/avahi_dispatcher.h> 25 #include <netcomm/service_discovery/service.h> 43 __dispatcher_all_for_now.connect(sigc::mem_fun(*
this, &AvahiDispatcher::on_all_for_now));
44 __dispatcher_cache_exhausted.connect(sigc::mem_fun(*
this, &AvahiDispatcher::on_cache_exhausted));
45 __dispatcher_browse_failed.connect(sigc::mem_fun(*
this, &AvahiDispatcher::on_browse_failed));
46 __dispatcher_service_added.connect(sigc::mem_fun(*
this, &AvahiDispatcher::on_service_added));
47 __dispatcher_service_removed.connect(sigc::mem_fun(*
this, &AvahiDispatcher::on_service_removed));
57 return __signal_all_for_now;
67 return __signal_cache_exhausted;
77 return __signal_browse_failed;
84 sigc::signal<void, NetworkService *>
87 return __signal_service_added;
94 sigc::signal<void, NetworkService *>
97 return __signal_service_removed;
104 __dispatcher_all_for_now();
111 __dispatcher_cache_exhausted();
120 __dispatcher_browse_failed();
128 const char *host_name,
129 const char *interface,
130 const struct sockaddr *addr,
131 const socklen_t addr_size,
133 std::list<std::string> &txt,
137 addr, addr_size, txt);
138 __queue_service_added.push_locked(s);
139 __dispatcher_service_added();
149 __queue_service_removed.push_locked(s);
150 __dispatcher_service_removed();
155 AvahiDispatcher::on_all_for_now()
157 __signal_all_for_now.emit();
161 AvahiDispatcher::on_cache_exhausted()
163 __signal_cache_exhausted.emit();
167 AvahiDispatcher::on_browse_failed()
169 __signal_browse_failed.emit();
173 AvahiDispatcher::on_service_added()
175 __queue_service_added.lock();
176 while (! __queue_service_added.empty()) {
178 __signal_service_added.emit(s);
180 __queue_service_added.pop();
182 __queue_service_added.unlock();
186 AvahiDispatcher::on_service_removed()
188 __queue_service_removed.lock();
189 while (! __queue_service_removed.empty()) {
191 __signal_service_removed.emit(s);
193 __queue_service_removed.pop();
195 __queue_service_removed.unlock();
virtual void cache_exhausted()
Cache exhausted.
sigc::signal< void > signal_cache_exhausted()
Get "cache exhausted" signal.
Fawkes library namespace.
sigc::signal< void > signal_all_for_now()
Get "all for now" signal.
virtual void service_removed(const char *name, const char *type, const char *domain)
A service has been removed from the network.
virtual void all_for_now()
All results have been retrieved.
sigc::signal< void, NetworkService * > signal_service_removed()
Get "service remove" signal.
virtual void browse_failed(const char *name, const char *type, const char *domain)
Failed to browse for a given service.
virtual void service_added(const char *name, const char *type, const char *domain, const char *host_name, const char *interface, const struct sockaddr *addr, const socklen_t addr_size, uint16_t port, std::list< std::string > &txt, int flags)
A service has been announced on the network.
sigc::signal< void > signal_browse_failed()
Get "browse failed" signal.
Representation of a service announced or found via service discovery (i.e.
AvahiDispatcher()
Constructor.
sigc::signal< void, NetworkService * > signal_service_added()
Get "service added" signal.