2nd Step : Implement overview into app.cpp for set_role
[apps/agl-service-windowmanager.git] / src / wm-client.hpp
index 3680d8f..ad9e7b0 100644 (file)
@@ -30,6 +30,11 @@ extern "C"
 namespace wm
 {
 
+enum WM_CLIENT_ERROR_EVENT
+{
+    UNKNOWN_ERROR
+};
+
 class WMClient
 {
   public:
@@ -38,25 +43,28 @@ class WMClient
     WMClient(const std::string &appid, const std::string &role);
     virtual ~WMClient();
 
-    std::string appID();
-    unsigned surfaceID(const std::string &role);
-    unsigned layerID();
+    std::string appID() const;
+    unsigned surfaceID(const std::string &role) const;
+    unsigned layerID() const;
     void registerLayer(unsigned layerID);
     bool addSurface(const std::string& role, unsigned surface);
     bool removeSurfaceIfExist(unsigned surfaceID);
     bool removeRole(const std::string& role);
 
+    bool subscribe(afb_req req, const std::string &event_name);
+    void emitError(WM_CLIENT_ERROR_EVENT ev);
+
     void dumpInfo();
 
   private:
-    unsigned layer;
     std::string id;
+    unsigned layer;
     std::unordered_map<std::string, unsigned> role2surface;
 #if GTEST_ENABLED
     // This is for unit test. afb_make_event occurs sig11 if call not in afb-binding
-    std::unordered_map<std::string, std::string> event_list;
+    std::unordered_map<std::string, std::string> event2list;
 #else
-    std::unordered_map<std::string, struct afb_event> event_list;
+    std::unordered_map<std::string, struct afb_event> event2list;
 #endif
 };
 } // namespace wm