From 26e212239680b01501b239d049d26d82dbaa1b75 Mon Sep 17 00:00:00 2001 From: Marcel Hollerbach Date: Wed, 21 May 2014 21:54:00 +0200 Subject: [PATCH] entrance: added things to sent a list of themes to the client --- src/event/entrance_event.c | 21 +++++++++++++++++++++ src/event/entrance_event.h | 9 ++++++++- 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/src/event/entrance_event.c b/src/event/entrance_event.c index 82fdf6e..817acaf 100644 --- a/src/event/entrance_event.c +++ b/src/event/entrance_event.c @@ -13,6 +13,7 @@ #define ENTRANCE_EVENT_CONF_GUI_NAME "EntranceEventConfGui" #define ENTRANCE_EVENT_CONF_USER_NAME "EntranceEventConfUser" #define ENTRANCE_EVENT_POOLS_NAME "EntranceEventPools" +#define ENTRANCE_EVENT_THEMES_NAME "EntranceEventThemes" static Eina_Bool _entrance_event_type_set(const char *type, void *data, Eina_Bool unknow); static const char *_entrance_event_type_get(const void *data, Eina_Bool *unknow); @@ -64,6 +65,8 @@ _entrance_event_type_set(const char *type, void *data, Eina_Bool unknow) *ev = ENTRANCE_EVENT_CONF_GUI; else if (!strcmp(type, ENTRANCE_EVENT_POOLS_NAME)) *ev = ENTRANCE_EVENT_POOLS; + else if (!strcmp(type, ENTRANCE_EVENT_THEMES_NAME)) + *ev = ENTRANCE_EVENT_THEMES; else { printf("error on type set %s\n", type); @@ -97,6 +100,8 @@ _entrance_event_type_get(const void *data, Eina_Bool *unknow) return ENTRANCE_EVENT_CONF_GUI_NAME; else if (*ev == ENTRANCE_EVENT_POOLS) return ENTRANCE_EVENT_POOLS_NAME; + else if (*ev == ENTRANCE_EVENT_THEMES) + return ENTRANCE_EVENT_THEMES_NAME; else { printf("error on type get %d\n", *ev); @@ -173,6 +178,20 @@ _entrance_event_conf_gui_dd(void) bg.group, EET_T_STRING); EET_DATA_DESCRIPTOR_ADD_BASIC(edd, Entrance_Conf_Gui_Event, "vkbd_enabled", vkbd_enabled, EET_T_UCHAR); + EET_DATA_DESCRIPTOR_ADD_BASIC(edd, Entrance_Conf_Gui_Event, "theme", + theme, EET_T_STRING); + return edd; +} + +static Eet_Data_Descriptor * +_entrance_event_themes_dd(void) +{ + Eet_Data_Descriptor *edd; + Eet_Data_Descriptor_Class eddc; + EET_EINA_STREAM_DATA_DESCRIPTOR_CLASS_SET(&eddc, Entrance_Themes); + edd = eet_data_descriptor_stream_new(&eddc); + EET_DATA_DESCRIPTOR_ADD_LIST_STRING(edd, Entrance_Themes, "themes", + themes); return edd; } @@ -331,6 +350,8 @@ _entrance_event_new(void) _entrance_event_conf_gui_dd()); EET_DATA_DESCRIPTOR_ADD_MAPPING(unified, ENTRANCE_EVENT_POOLS_NAME, _entrance_event_pools_dd()); + EET_DATA_DESCRIPTOR_ADD_MAPPING(unified, ENTRANCE_EVENT_THEMES_NAME, + _entrance_event_themes_dd()); EET_DATA_DESCRIPTOR_ADD_UNION(edd, Entrance_Event, "event", event, type, unified); diff --git a/src/event/entrance_event.h b/src/event/entrance_event.h index 8b4f41b..b49800a 100644 --- a/src/event/entrance_event.h +++ b/src/event/entrance_event.h @@ -13,7 +13,8 @@ typedef enum Entrance_Event_Type_ ENTRANCE_EVENT_ACTION, ENTRANCE_EVENT_MAXTRIES, ENTRANCE_EVENT_CONF_GUI, - ENTRANCE_EVENT_POOLS + ENTRANCE_EVENT_POOLS, + ENTRANCE_EVENT_THEMES } Entrance_Event_Type; typedef struct Entrance_Xsession_ @@ -87,6 +88,11 @@ typedef struct Entrance_Image_ const char *path; } Entrance_Image; +typedef struct Entrance_Themes_ +{ + Eina_List *themes; +} Entrance_Themes; + typedef struct Entrance_Login_ { const char *login; @@ -120,6 +126,7 @@ typedef struct Entrance_Event_ Entrance_Action_Event action; Entrance_Conf_Gui_Event conf_gui; Entrance_Pools pools; + Entrance_Themes themes; } event; } Entrance_Event;