service_browse_handler.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef __PLUGINS_WEBVIEW_SERVICE_BROWSER_H_
00024 #define __PLUGINS_WEBVIEW_SERVICE_BROWSER_H_
00025
00026 #include <netcomm/service_discovery/service.h>
00027 #include <netcomm/service_discovery/browse_handler.h>
00028
00029 #include <map>
00030 #include <string>
00031
00032 namespace fawkes {
00033 class Logger;
00034 }
00035
00036 class WebviewServiceBrowseHandler : public fawkes::ServiceBrowseHandler
00037 {
00038 public:
00039 WebviewServiceBrowseHandler(fawkes::Logger *logger, fawkes::NetworkService *webview_service);
00040
00041 virtual void all_for_now();
00042 virtual void cache_exhausted();
00043 virtual void browse_failed(const char *name,
00044 const char *type,
00045 const char *domain);
00046 virtual void service_added(const char *name,
00047 const char *type,
00048 const char *domain,
00049 const char *host_name,
00050 const struct sockaddr *addr,
00051 const socklen_t addr_size,
00052 uint16_t port,
00053 std::list<std::string> &txt,
00054 int flags);
00055 virtual void service_removed(const char *name,
00056 const char *type,
00057 const char *domain);
00058
00059
00060
00061
00062 typedef std::map<std::string, fawkes::NetworkService *> ServiceList;
00063
00064 ServiceList & service_list();
00065
00066 private:
00067 fawkes::Logger *__logger;
00068 fawkes::NetworkService *__webview_service;
00069 ServiceList __service_list;
00070 };
00071
00072 #endif