Move the softkey impelementation to this e_tizen_ws_shell_softkey.c file.
Change-Id: Icc4d1ecb64f1f9fb60a55063b902c7f019cbad36
src/bin/server/e_tizen_ws_shell_srv_quickpanel.c \
src/bin/server/e_tizen_ws_shell_srv_screensaver_manager.c \
src/bin/server/e_tizen_ws_shell_srv_screensaver.c \
+src/bin/server/e_tizen_ws_shell_srv_softkey.c \
src/bin/server/e_tizen_indicator.c \
src/bin/server/e_tizen_clipboard.c \
src/bin/server/e_surface_view.c \
'server/e_tizen_ws_shell_srv_quickpanel.c',
'server/e_tizen_ws_shell_srv_screensaver_manager.c',
'server/e_tizen_ws_shell_srv_screensaver.c',
+ 'server/e_tizen_ws_shell_srv_softkey.c',
'server/e_tizen_indicator.c',
'server/e_tizen_clipboard.c',
'server/e_surface_view.c',
#include "e_tizen_ws_shell_srv_quickpanel_intern.h"
#include "e_tizen_ws_shell_srv_screensaver_manager_intern.h"
#include "e_tizen_ws_shell_srv_screensaver_intern.h"
+#include "e_tizen_ws_shell_srv_softkey_intern.h"
#include <tzsh_server.h>
}
}
-static void
-_tzsh_srv_softkey_cb_destroy(struct wl_client *client EINA_UNUSED, struct wl_resource *resource)
-{
- wl_resource_destroy(resource);
-}
-
-static void
-_tzsh_srv_softkey_cb_msg_send(struct wl_client *client EINA_UNUSED, struct wl_resource *resource, uint32_t msg)
-{
- E_Tizen_Ws_Shell_Srv *tzsh_srv;
- E_Service_Softkey *softkey_service;
- E_Zone *zone;
-
- tzsh_srv = wl_resource_get_user_data(resource);
-
- EINA_SAFETY_ON_NULL_RETURN(tzsh_srv);
- EINA_SAFETY_ON_NULL_RETURN(tzsh_srv->tzsh);
-
- zone = tzsh_srv->zone;
- EINA_SAFETY_ON_NULL_RETURN(zone);
-
- softkey_service = e_service_softkey_get(zone);
- EINA_SAFETY_ON_NULL_RETURN(softkey_service);
-
- switch (msg)
- {
- case TWS_SERVICE_SOFTKEY_MSG_SHOW:
- e_service_softkey_show(softkey_service);
- break;
- case TWS_SERVICE_SOFTKEY_MSG_HIDE:
- e_service_softkey_hide(softkey_service);
- break;
- default:
- ERR("Unknown message!! msg %d", msg);
- break;
- }
-}
-
-static const struct tws_service_softkey_interface _tzsh_srv_softkey_iface =
-{
- _tzsh_srv_softkey_cb_destroy,
- _tzsh_srv_softkey_cb_msg_send,
-};
-
static void
_tzsh_srv_iface_cb_softkey_get(struct wl_client *client, struct wl_resource *res_tzsh_srv, uint32_t id)
{
E_Tizen_Ws_Shell_Srv *tzsh_srv;
- E_Service_Softkey *softkey_service = NULL;
- struct wl_resource *res;
tzsh_srv = wl_resource_get_user_data(res_tzsh_srv);
EINA_SAFETY_ON_NULL_RETURN(tzsh_srv);
if (!eina_list_data_find(g_tizen_ws_shell_mgr->tzsh_srvs, tzsh_srv))
return;
- res = wl_resource_create(client, &tws_service_softkey_interface, 1, id);
- if (!res)
+ if (tzsh_srv->role != TZSH_SRV_ROLE_SOFTKEY)
{
- wl_client_post_no_memory(client);
+ ERR("Could not find softkey service");
+ tizen_ws_shell_send_error(res_tzsh_srv,
+ TIZEN_WS_SHELL_ERROR_NO_SERVICE);
return;
}
- ELOGF("TZSH", "[SOFTKEY SERVICE] resource created. res:%p, res_tzsh_srv:%p, id:%d", NULL, res, res_tzsh_srv, id);
+ tzsh_srv->client = client;
+ tzsh_srv->id = id;
- if (tzsh_srv->tzsh)
+ if (!e_tizen_ws_shell_srv_softkey_init(tzsh_srv))
{
- E_Zone *zone = tzsh_srv->zone;
- if (zone)
- softkey_service = e_service_softkey_get(zone);
- ELOGF("TZSH", "[SOFTKEY SERVICE] resource set. res:%p, softkey_service:%p, softkey_ec:%p", NULL, res, softkey_service, tzsh_srv->ec);
- if (softkey_service)
- {
- e_service_softkey_wl_resource_set(softkey_service, res);
- e_service_softkey_restore_visible_request(softkey_service);
- }
+ ERR("e_tizen_ws_shell_srv_softkey_init() failed.");
+ tizen_ws_shell_send_error(res_tzsh_srv,
+ TIZEN_WS_SHELL_ERROR_NOT_SUPPORTED);
+ return;
}
-
- wl_resource_set_implementation(res, &_tzsh_srv_softkey_iface, tzsh_srv, NULL);
}
static void
--- /dev/null
+#include "e_tizen_ws_shell_srv_softkey_intern.h"
+#include "services/e_service_softkey_intern.h"
+
+#include <tzsh_server.h>
+
+static void
+_tzsh_srv_softkey_cb_destroy(struct wl_client *client EINA_UNUSED, struct wl_resource *resource)
+{
+ wl_resource_destroy(resource);
+}
+
+static void
+_tzsh_srv_softkey_cb_msg_send(struct wl_client *client EINA_UNUSED, struct wl_resource *resource, uint32_t msg)
+{
+ E_Tizen_Ws_Shell_Srv *tzsh_srv;
+ E_Service_Softkey *softkey_service;
+ E_Zone *zone;
+
+ tzsh_srv = wl_resource_get_user_data(resource);
+
+ EINA_SAFETY_ON_NULL_RETURN(tzsh_srv);
+ EINA_SAFETY_ON_NULL_RETURN(tzsh_srv->tzsh);
+
+ zone = tzsh_srv->zone;
+ EINA_SAFETY_ON_NULL_RETURN(zone);
+
+ softkey_service = e_service_softkey_get(zone);
+ EINA_SAFETY_ON_NULL_RETURN(softkey_service);
+
+ switch (msg)
+ {
+ case TWS_SERVICE_SOFTKEY_MSG_SHOW:
+ e_service_softkey_show(softkey_service);
+ break;
+ case TWS_SERVICE_SOFTKEY_MSG_HIDE:
+ e_service_softkey_hide(softkey_service);
+ break;
+ default:
+ ERR("Unknown message!! msg %d", msg);
+ break;
+ }
+}
+
+static const struct tws_service_softkey_interface _tzsh_srv_softkey_iface =
+{
+ _tzsh_srv_softkey_cb_destroy,
+ _tzsh_srv_softkey_cb_msg_send,
+};
+
+EINTERN Eina_Bool
+e_tizen_ws_shell_srv_softkey_init(E_Tizen_Ws_Shell_Srv *tzsh_srv)
+{
+ struct wl_client *client;
+ struct wl_resource *res;
+ uint32_t id;
+ E_Service_Softkey *softkey_service = NULL;
+
+ EINA_SAFETY_ON_NULL_RETURN_VAL(tzsh_srv, EINA_FALSE);
+
+ client = tzsh_srv->client;
+ id = tzsh_srv->id;
+
+ res = wl_resource_create(client, &tws_service_softkey_interface, 1, id);
+ if (!res)
+ {
+ wl_client_post_no_memory(client);
+ return EINA_FALSE;
+ }
+
+ ELOGF("TZSH", "[SOFTKEY SERVICE] resource created. res:%p, id:%d", NULL,
+ res, id);
+
+ if (tzsh_srv->tzsh)
+ {
+ E_Zone *zone = tzsh_srv->zone;
+ if (zone)
+ softkey_service = e_service_softkey_get(zone);
+
+ ELOGF("TZSH", "[SOFTKEY SERVICE] resource set. res:%p, softkey_service:%p, softkey_ec:%p", NULL,
+ res, softkey_service, tzsh_srv->ec);
+
+ if (softkey_service)
+ {
+ e_service_softkey_wl_resource_set(softkey_service, res);
+ e_service_softkey_restore_visible_request(softkey_service);
+ }
+ }
+
+ wl_resource_set_implementation(res, &_tzsh_srv_softkey_iface, tzsh_srv, NULL);
+
+ return EINA_TRUE;
+}
--- /dev/null
+#ifndef E_TIZEN_WS_SHELL_SRV_SOFTKEY_INTERN_H
+#define E_TIZEN_WS_SHELL_SRV_SOFTKEY_INTERN_H
+
+#include "e_intern.h"
+#include "e_tizen_ws_shell_manager_intern.h"
+
+EINTERN Eina_Bool e_tizen_ws_shell_srv_softkey_init(E_Tizen_Ws_Shell_Srv *tzsh_srv);
+
+#endif