+
+class listener_interface {
+public:
+ listener_interface(std::string uid, std::set<std::string> listen_appid = std::set<std::string>()) : m_uid(uid), m_listen_appid(listen_appid) {}
+ virtual ~listener_interface() {}
+ virtual void notify(afb_api_t api, std::string appid = "") = 0;
+ std::string myUid(void) {return m_uid;}
+ void addListenAppId(const std::string &appid) {m_listen_appid.insert(appid);}
+ void removeListenAppId(const std::string &appid) {m_listen_appid.erase(appid);}
+ bool isListenAppId(const std::string &appid) {
+ auto it = m_listen_appid.find(appid);
+ return it != m_listen_appid.end() ? true : false;
+ }
+ bool listenAppEmpty(void) {return m_listen_appid.empty();}
+ void clearListenAppSet(void) {m_listen_appid.clear();}
+private:
+ std::string m_uid;
+ std::set<std::string> m_listen_appid;
+};
+