1 #ifndef _SERVICE_DISCOVERY_AVAHICLIENT_H_ 2 #define _SERVICE_DISCOVERY_AVAHICLIENT_H_ 4 #define DEFAULT_THREAD_POLL 6 #ifdef DEFAULT_THREAD_POLL 7 #define DEFAULT_POLL ThreadPoll 9 #define DEFAULT_POLL SimplePoll 12 #include <avahi-client/client.h> 13 #include <sigc++/sigc++.h> 20 #include <avahi-common/error.h> 21 #include <avahi-common/thread-watch.h> 22 #include <base-logging/Singleton.hpp> 56 virtual void stop() = 0;
64 class Client :
public base::Singleton<Client>
66 friend class base::Singleton<
Client>;
78 enum Mode { INIT, NORMAL, RECOVERY };
83 static AvahiClient* msAvahiClient;
89 static AvahiThreadedPoll* msPoll;
95 std::vector<ClientObserver*> msObservers;
105 static void stateUpdateCallback(AvahiClient* client, AvahiClientState state,
void* userdata);
111 void start(
bool runningDaemonRequired);
125 static AvahiClient* getAvahiClient();
131 static AvahiClientState getAvahiClientState();
146 static void unlock();
Client represent a wrapper to access the avahi_client (a singleton). Every avahi program must set up ...
Definition: Client.hpp:64
EventType type
Definition: Client.hpp:42
virtual void update(const Event &event)=0
Definition: Client.hpp:37
Definition: Client.hpp:40
Definition: Client.hpp:153
Definition: Client.hpp:37
EventType
Definition: Client.hpp:37
virtual ~ClientObserver()
Definition: Client.hpp:45
Definition: Client.hpp:33
Definition: Client.hpp:37