void removeLayer(unsigned layer);
void setArea(const std::string& app, const std::string& area);
+ // Debug
+ void dump();
+
private:
std::vector<unsigned> render_order;
std::unordered_map<std::string, std::string> area2appid;
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() { 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 tmp_state;
LayerState state;
+ unsigned uuid;
std::string name = ""; // Layer name
MANAGEMENT_TYPE type;
std::string role_list;