* limitations under the License.
*/
-#ifndef WM_LAYERS_H
-#define WM_LAYERS_H
+#ifndef WM_LAYER_HPP
+#define WM_LAYER_HPP
#include <string>
#include <vector>
const std::unordered_map<std::string, std::string> popCurrentState();
const std::unordered_map<std::string, std::string> getCurrentState();
const std::vector<unsigned> getIviIdList();
+ void addLayer(unsigned layer);
+ void removeLayer(unsigned layer);
+ void setArea(const std::string& app, const std::string& area);
+
+ // Debug
+ void dump();
private:
std::vector<unsigned> render_order;
STACK
};
- explicit WMLayer(json_object* j);
+ explicit WMLayer(json_object* j, unsigned uuid);
~WMLayer() = default;
+
+ // Status & Setting API
unsigned getNewLayerID(const std::string& role);
unsigned idBegin() { return this->id_begin; }
unsigned idEnd() { return this->id_end; }
+ unsigned getUuid() { return this->uuid; }
const std::string& layerName();
MANAGEMENT_TYPE layerType() { return this->type; }
void appendArea(const std::string& area);
- void removeLayerID(unsigned id);
- LayerState getLayerState() const { return before_state; }
- WMError setLayerState(const LayerState& l);
- bool checkIDBelongTo(unsigned id);
+ LayerState& getLayerState() { return tmp_state; }
+ WMError setLayerState(const LayerState& l);
+ bool hasLayerID(unsigned id);
+ bool hasRole(const std::string& role);
+
+ // Manipulation
+ void addLayerToState(unsigned layer);
+ void removeLayerFromState(unsigned layer);
+ void setAreaToState(const std::string& app, const std::string& area);
+ void terminateApp(unsigned layer);
+ void update();
+ void undo();
+
+ // Debug
+ void dump();
+
private:
- LayerState before_state;
+ LayerState tmp_state;
LayerState state;
+ unsigned uuid;
std::string name = ""; // Layer name
MANAGEMENT_TYPE type;
std::string role_list;
} // namespace wm
-#endif // WM_LAYERS_H
+#endif // WM_LAYER_HPP