Add new functions to windowmanager-client
[apps/agl-service-windowmanager.git] / src / windowmanager-client.hpp
index 833187a..33024b0 100644 (file)
@@ -39,22 +39,23 @@ class WMClient
     virtual ~WMClient();
 
     std::string appID();
-    //WMClient::WMClient(const WMClient &obj);
-    /* const std::vector<optional<unsigned>> surfaceIDList();
-    optional<unsigned> surfaceID(role); */
+    void registerLayer(unsigned layerID);
+    bool addSurface(const std::string& role, unsigned surface);
+    bool removeSurfaceIfExist(unsigned surfaceID);
+    bool removeRole(const std::string& role);
+
+    void dumpInfo();
 
   private:
     unsigned layer;
-    std::vector<unsigned> surfaces;
     std::string id;
-    std::vector<std::string> roles;
+    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;
 #else
     std::unordered_map<std::string, struct afb_event> event_list;
 #endif
-    //std::vector<Task *> requestingTask;
 };
 } // namespace wm