Add SCREEN_CONNECTOR_WCREEN_TYPE_COMPONENT_BASED 53/249753/5
authorChanggyu Choi <changyu.choi@samsung.com>
Wed, 16 Dec 2020 09:38:56 +0000 (18:38 +0900)
committerChanggyu Choi <changyu.choi@samsung.com>
Tue, 22 Dec 2020 04:01:58 +0000 (13:01 +0900)
Screen connector has to deal with widget component.
So this patch add type for component_based_app.

Change-Id: I3a5866afaa442b12ac24bc94f4a53711804a7722
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
screen_connector_remote_surface/remote_surface.h
screen_connector_remote_surface_mock/remote_surface.h
screen_connector_watcher/include/screen_connector_toolkit.h
screen_connector_watcher/src/screen_connector_toolkit.cc
screen_connector_watcher_evas/src/screen_connector_toolkit_evas.cc

index 17e8b2c..edf6da3 100644 (file)
@@ -32,7 +32,8 @@ class EXPORT_API RemoteSurface : public IBufferEvent {
     WIDGET = 0x1,
     WATCH = 0x2,
     UI = 0x4,
-    ALL = WIDGET | WATCH | UI
+    COMPONENT_BASED = 0x8,
+    ALL = WIDGET | WATCH | UI | COMPONENT_BASED
   };
 
   enum ChangedEventFilter {
index 86ad8a5..35e6e33 100644 (file)
@@ -32,7 +32,8 @@ class RemoteSurface : public IBufferEvent {
     WIDGET = 0x1,
     WATCH = 0x2,
     UI = 0x4,
-    ALL = WIDGET | WATCH | UI
+    COMPONENT_BASED = 0x8,
+    ALL = WIDGET | WATCH | UI | COMPONENT_BASED
   };
 
   enum ChangedEventFilter {
index 8943be4..fd4e4c3 100644 (file)
@@ -41,6 +41,7 @@ typedef enum {
        SCREEN_CONNECTOR_SCREEN_TYPE_WIDGET = AUL_SCREEN_TYPE_WIDGET,
        SCREEN_CONNECTOR_SCREEN_TYPE_WATCH = AUL_SCREEN_TYPE_WATCH,
        SCREEN_CONNECTOR_SCREEN_TYPE_UI = AUL_SCREEN_TYPE_UI,
+       SCREEN_CONNECTOR_SCREEN_TYPE_COMPONENT_BASED = AUL_SCREEN_TYPE_COMPONENT_BASED,
        SCREEN_CONNECTOR_SCREEN_TYPE_ALL = AUL_SCREEN_TYPE_ALL,
 } screen_connector_screen_type_e;
 
index cbe182b..65a7397 100644 (file)
@@ -247,15 +247,8 @@ extern "C" EXPORT_API int
 screen_connector_toolkit_remove(screen_connector_toolkit_h handle) {
   RemoteSurfaceToolkit* rs = static_cast<RemoteSurfaceToolkit*>(handle);
 
-  for (int i = SCREEN_CONNECTOR_SCREEN_TYPE_WIDGET;
-      i <= SCREEN_CONNECTOR_SCREEN_TYPE_ALL; i++) {
-    auto sci = __toolkits.find(i);
-
-    if (sci == __toolkits.end())
-      continue;
-
-    __toolkits[i]->Remove(rs);
-  }
+  for (auto& i : __toolkits)
+    i.second->Remove(rs);
 
   return 0;
 }
index 664ff9d..4ca837e 100644 (file)
@@ -182,15 +182,8 @@ extern "C" EXPORT_API int
 screen_connector_toolkit_evas_remove(screen_connector_toolkit_evas_h handle) {
   RemoteSurfaceEvasStub* rs = static_cast<RemoteSurfaceEvasStub*>(handle);
 
-  for (int i = SCREEN_CONNECTOR_SCREEN_TYPE_WIDGET;
-      i <= SCREEN_CONNECTOR_SCREEN_TYPE_ALL; i++) {
-    auto sci = __connectors.find(i);
-
-    if (sci == __connectors.end())
-      continue;
-
-    __connectors[i]->Remove(rs);
-  }
+  for (auto& connector : __connectors)
+    connector.second->Remove(rs);
 
   return 0;
 }
@@ -203,15 +196,8 @@ screen_connector_toolkit_evas_start_visibility_notify(void) {
   __visibilityListener = ecore_event_handler_add(
       ECORE_WL2_EVENT_WINDOW_VISIBILITY_CHANGE, [](void* data, int type,
       void* event)->Eina_Bool {
-    for (int i = SCREEN_CONNECTOR_SCREEN_TYPE_WIDGET;
-         i <= SCREEN_CONNECTOR_SCREEN_TYPE_ALL; i++) {
-      auto sci = __connectors.find(i);
-
-      if (sci == __connectors.end())
-        continue;
-
-      __connectors[i]->NotifyWindowVisibilityEvent(type, event);
-    }
+    for (auto& connector : __connectors)
+      connector.second->NotifyWindowVisibilityEvent(type, event);
 
     return ECORE_CALLBACK_RENEW;
   }, NULL);