Fix area and role
[apps/agl-service-windowmanager.git] / src / wm_layer.hpp
index 83a5e74..7da432c 100644 (file)
@@ -34,9 +34,11 @@ class LayerState
   public:
     LayerState();
     ~LayerState() = default;
+    const std::unordered_map<std::string, std::string> getCurrentState();
     const std::vector<unsigned> getIviIdList();
     void addLayer(unsigned layer);
     void removeLayer(unsigned layer);
+    bool hasLayer(unsigned layer);
     void attachAppToArea(const std::string& app, const std::string& area);
 
     // Debug
@@ -58,6 +60,7 @@ class WMLayer
     unsigned idBegin() { return this->id_begin; }
     unsigned idEnd()   { return this->id_end; }
     unsigned getWMLayerID() { return this->wm_layer_id; }
+    unsigned getScreenID() { return this->screen; }
     const std::string& layerName();
     void appendArea(const std::string& area);
     LayerState& getLayerState() { return tmp_state; }
@@ -68,7 +71,9 @@ class WMLayer
     // Manipulation
     void addLayerToState(unsigned layer);
     void removeLayerFromState(unsigned layer);
+    bool hasLayerFromState(unsigned layer);
     void attachAppToArea(const std::string& app, const std::string& area);
+    std::string attachedApp(const std::string& area);
     void update();
     void undo();
 
@@ -86,6 +91,7 @@ class WMLayer
     std::string role_list;
     std::vector<std::string> area_list;
     std::vector<unsigned>    id_list;
+    unsigned screen;
     unsigned id_begin;
     unsigned id_end;
 };