Implement attachApp
[apps/agl-service-windowmanager-2017.git] / src / wm_client.cpp
index 84f9842..356cd6f 100644 (file)
@@ -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)
 {