aboutsummaryrefslogtreecommitdiffstats
path: root/src/wm_client.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/wm_client.cpp')
-rw-r--r--src/wm_client.cpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/wm_client.cpp b/src/wm_client.cpp
index 84f9842..356cd6f 100644
--- a/src/wm_client.cpp
+++ b/src/wm_client.cpp
@@ -18,6 +18,8 @@
#include "wm_client.hpp"
#include "util.hpp"
#include <ilm/ilm_control.h>
+#include <uuid/uuid.h>
+
#define INVALID_SURFACE_ID 0
@@ -188,6 +190,29 @@ WMError WMClient::setRenderOrder(const vector<string> &order)
return ret;
}
+string WMClient::attachTmpServiceSurface(const string& supplier, const string& service_surface)
+{
+ string uuid;
+ uuid_t u;
+ char out[37]; // uuid is 36 characters
+ uuid_generate_random(u);
+ uuid_unparse(u, out);
+ uuid = out;
+ this->service2supplier.emplace(service_surface, supplier);
+ return uuid;
+}
+
+WMError WMClient::attachServiceSurface(const string& service_surface, unsigned surface)
+{
+ WMError ret = WMError::NOT_REGISTERED;
+ if(this->service2supplier.count(service_surface) != 0)
+ {
+ this->service2surfaces.emplace(service_surface, surface);
+ ret = WMError::SUCCESS;
+ }
+ return ret;
+}
+
#if GTEST_ENABLED
bool WMClient::subscribe(afb_req req, const string &evname)
{