namespace wm
{
+enum WM_CLIENT_ERROR_EVENT
+{
+ UNKNOWN_ERROR
+};
+
class WMClient
{
public:
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