+unsigned WindowManager::generateLayerForClient(const string& role)
+{
+ string l_name;
+ unsigned lid = this->lc->getNewLayerID(role, &l_name);
+ if (lid == 0)
+ {
+ // register drawing_name as fallback and make it displayed.
+ lid = this->lc->getNewLayerID(string("fallback"));
+ HMI_DEBUG("%s is not registered in layers.json, then fallback as normal app", role.c_str());
+ if (lid == 0)
+ {
+ return lid;
+ }
+ }
+
+ // TODO: remote layer name is fixed
+ this->lc->createNewLayer(lid, ("Remote" == l_name));
+
+ // add client into the db
+ return lid;
+}
+