e_server: move the init/shutdown of e_tizen_screen_rotation 17/312017/1
authorSooChan Lim <sc1.lim@samsung.com>
Fri, 31 May 2024 07:17:35 +0000 (16:17 +0900)
committerTizen Window System <tizen.windowsystem@gmail.com>
Mon, 3 Jun 2024 02:26:16 +0000 (11:26 +0900)
to the e_server directory

Change-Id: Ib677ee3efb585bf01c9266a00f9893615c738518

src/bin/e_comp_screen.c
src/bin/server/e_server.c
src/bin/server/e_server_intern.h

index 8424940..c1216a9 100644 (file)
@@ -1061,12 +1061,6 @@ e_comp_screen_init()
         e_main_ts_begin("\tE_Comp_WL Keymap Init Done");
      }
 
-   if (!e_screen_rotation_init())
-     {
-        e_main_ts_end("\e_screen_rotation_init Init Failed");
-        goto failed_comp_screen;
-     }
-
    if (!e_comp_wl_tizen_hwc_init())
      {
         e_main_ts_end("\e_comp_wl_tizen_hwc_init Init Failed");
@@ -1095,7 +1089,6 @@ e_comp_screen_init()
 
 failed_comp_screen:
 
-   e_screen_rotation_shutdown();
    e_comp_wl_tizen_hwc_shutdown();
    e_input_shutdown();
    _e_comp_screen_engine_deinit();
@@ -1109,7 +1102,6 @@ e_comp_screen_shutdown()
    if (!e_comp) return;
    if (!e_comp->e_comp_screen) return;
 
-   e_screen_rotation_shutdown();
    e_comp_wl_tizen_hwc_shutdown();
 
    if (e_comp_screen_iface)
index f3bdff5..3f62059 100644 (file)
@@ -19,6 +19,7 @@
 #include "e_egl_sync_intern.h"
 #include "e_tizen_screen_manager_intern.h"
 #include "e_linux_dmabuf_intern.h"
+#include "e_screen_rotation_intern.h"
 
 typedef struct _E_Server E_Server;
 
@@ -50,6 +51,7 @@ struct _E_Server
         Dummy_Handle *egl_sync_handle;
         E_Tizen_Screen_Manager *tizen_screen_manager;
         Dummy_Handle *linux_dmabuf_handle;
+        Dummy_Handle *tizen_screen_rotation_handle;
     } handles; // feature handles
 };
 
@@ -110,6 +112,8 @@ e_server_init(void)
 
    if (e_linux_dmabuf_init(e_comp_wl->wl.disp))
      e_server_feature_register(E_SERVER_FEATURE_LINUX_DMABUF, &dummy_handle);
+   if (e_screen_rotation_init())
+     e_server_feature_register(E_SERVER_FEATURE_TIZEN_SCREEN_ROTATION, &dummy_handle);
 
    return EINA_TRUE;
 }
@@ -117,6 +121,7 @@ e_server_init(void)
 EINTERN void
 e_server_shutdown(void)
 {
+   e_screen_rotation_shutdown();
    e_linux_dmabuf_shutdown();
    e_tizen_screen_manager_shutdown();
    e_egl_sync_deinit();
@@ -212,6 +217,9 @@ e_server_feature_register(E_SERVER_FEATURE feature, void *handle)
        case E_SERVER_FEATURE_LINUX_DMABUF:
          g_server->handles.linux_dmabuf_handle = handle;
          break;
+       case E_SERVER_FEATURE_TIZEN_SCREEN_ROTATION:
+         g_server->handles.tizen_screen_rotation_handle = handle;
+         break;
        default:
          ERR("Unknown feature(%d) and handle(%p)", feature, handle);
          break;
@@ -287,6 +295,9 @@ e_server_feature_handle_get(E_SERVER_FEATURE feature)
        case E_SERVER_FEATURE_LINUX_DMABUF:
          handle = g_server->handles.linux_dmabuf_handle;
          break;
+       case E_SERVER_FEATURE_TIZEN_SCREEN_ROTATION:
+         handle = g_server->handles.tizen_screen_rotation_handle;
+         break;
        default:
          ERR("Unknown feature(%d)", feature);
          break;
index a6a1418..6e88cb0 100644 (file)
@@ -24,6 +24,7 @@ typedef enum _E_SERVER_FEATURE {
     E_SERVER_FEATURE_EGL_SYNC,
     E_SERVER_FEATURE_TIZEN_SRCREEN_MANAGER,
     E_SERVER_FEATURE_LINUX_DMABUF,
+    E_SERVER_FEATURE_TIZEN_SCREEN_ROTATION,
     E_SERVER_FEATURE_MAX
 } E_SERVER_FEATURE;