static E_Config_DD *_e_config_client_type_edd = NULL;
static E_Config_DD *_e_config_policy_desk_edd = NULL;
static E_Config_DD *_e_config_socket_access_edd = NULL;
+static E_Config_DD *_e_config_aux_hint_supported_edd = NULL;
E_API int E_EVENT_CONFIG_MODE_CHANGED = 0;
E_CONFIG_DD_FREE(_e_config_client_type_edd);
E_CONFIG_DD_FREE(_e_config_policy_desk_edd);
E_CONFIG_DD_FREE(_e_config_socket_access_edd);
+ E_CONFIG_DD_FREE(_e_config_aux_hint_supported_edd);
}
static void
E_CONFIG_VAL(D, T, sock_symlink_access.smack.value, STR);
E_CONFIG_VAL(D, T, sock_symlink_access.smack.flags, INT);
+ _e_config_aux_hint_supported_edd = E_CONFIG_DD_NEW("E_Config_Aux_Hint_Supported", E_Config_Aux_Hint_Supported);
+#undef T
+#undef D
+#define T E_Config_Aux_Hint_Supported
+#define D _e_config_aux_hint_supported_edd
+ E_CONFIG_VAL(D, T, name, STR);
+
_e_config_edd = E_CONFIG_DD_NEW("E_Config", E_Config);
#undef T
#undef D
E_CONFIG_VAL(D, T, delayed_load_idle_count, INT);
E_CONFIG_VAL(D, T, use_buffer_flush, UCHAR);
E_CONFIG_LIST(D, T, sock_accesses, _e_config_socket_access_edd);
+ E_CONFIG_LIST(D, T, aux_hint_supported, _e_config_aux_hint_supported_edd);
}
/* externally accessible functions */
E_Config_Desktop_Window_Profile *wp;
E_Config_Policy_Desk *pd;
E_Config_Socket_Access *sa;
+ E_Config_Aux_Hint_Supported *auxhint;
if (!ecf) return;
E_FREE(sa);
}
+ EINA_LIST_FREE(ecf->aux_hint_supported, auxhint)
+ {
+ eina_stringshare_del(auxhint->name);
+ E_FREE(auxhint);
+ }
+
E_FREE(ecf);
}
typedef struct _E_Config_Client_Type E_Config_Client_Type;
typedef struct _E_Config_Policy_Desk E_Config_Policy_Desk;
typedef struct _E_Config_Socket_Access E_Config_Socket_Access;
+typedef struct _E_Config_Aux_Hint_Supported E_Config_Aux_Hint_Supported;
#else
#ifndef E_CONFIG_H
int delayed_load_idle_count;
Eina_Bool use_buffer_flush;
Eina_List *sock_accesses;
+ Eina_List *aux_hint_supported;
};
struct _E_Config_Desklock_Background
} sock_symlink_access;
};
+struct _E_Config_Aux_Hint_Supported
+{
+ const char *name;
+};
+
EINTERN int e_config_init(void);
EINTERN int e_config_shutdown(void);
e_policy_wl_aux_hint_init(void)
{
int i, n;
+ E_Config_Aux_Hint_Supported *auxhint;
+ Eina_List *l;
+
n = (sizeof(hint_names) / sizeof(char *));
for (i = 0; i < n; i++)
{
e_hints_aux_hint_supported_add(hint_names[i]);
}
+
+ EINA_LIST_FOREACH(e_config->aux_hint_supported, l, auxhint)
+ {
+ if (!auxhint->name) continue;
+ e_hints_aux_hint_supported_add(auxhint->name);
+ }
+
return;
}