efl/config: move C wrappers for this out of elm_config.h to Efl.h

this is beta API and belongs in its proper header
This commit is contained in:
Mike Blumenkrantz 2020-01-30 10:45:39 -05:00 committed by Marcel Hollerbach
parent 9c4c087cd1
commit bc543ee1b9
2 changed files with 94 additions and 98 deletions

View File

@ -234,6 +234,100 @@ EAPI Efl_Object *efl_part(const Eo *obj, const char *name);
EAPI void efl_observable_tuple_free(Efl_Observable_Tuple *tuple);
static inline Eina_Bool
efl_config_bool_set(Efl_Config *obj, const char * name, Eina_Bool val)
{
Eina_Value *v = eina_value_new(EINA_VALUE_TYPE_UCHAR);
Eina_Bool b;
eina_value_set(v, val);
b = efl_config_set(obj, name, v);
eina_value_free(v);
return b;
}
static inline Eina_Bool
efl_config_bool_get(const Efl_Config *obj, const char * name)
{
Eina_Value *v = efl_config_get(obj, name);
Eina_Bool b = 0;
if (eina_value_type_get(v) == EINA_VALUE_TYPE_UCHAR)
eina_value_get(v, &b);
eina_value_free(v);
return b;
}
static inline Eina_Bool
efl_config_int_set(Efl_Config *obj, const char * name, int val)
{
Eina_Value *v = eina_value_new(EINA_VALUE_TYPE_INT);
Eina_Bool b;
eina_value_set(v, val);
b = efl_config_set(obj, name, v);
eina_value_free(v);
return b;
}
static inline int
efl_config_int_get(const Efl_Config *obj, const char * name)
{
Eina_Value *v = efl_config_get(obj, name);
int b = 0;
if (eina_value_type_get(v) == EINA_VALUE_TYPE_INT)
eina_value_get(v, &b);
eina_value_free(v);
return b;
}
static inline Eina_Bool
efl_config_double_set(Efl_Config *obj, const char * name, double val)
{
Eina_Value *v = eina_value_new(EINA_VALUE_TYPE_DOUBLE);
Eina_Bool b;
eina_value_set(v, val);
b = efl_config_set(obj, name, v);
eina_value_free(v);
return b;
}
static inline double
efl_config_double_get(const Efl_Config *obj, const char * name)
{
Eina_Value *v = efl_config_get(obj, name);
double b = 0;
if (eina_value_type_get(v) == EINA_VALUE_TYPE_DOUBLE)
eina_value_get(v, &b);
eina_value_free(v);
return b;
}
static inline Eina_Bool
efl_config_string_set(Efl_Config *obj, const char *name, const char *val)
{
Eina_Value *v = eina_value_new(EINA_VALUE_TYPE_STRING);
Eina_Bool b;
eina_value_set(v, val);
b = efl_config_set(obj, name, v);
eina_value_free(v);
return b;
}
static inline Eina_Stringshare *
efl_config_string_get(const Efl_Config *obj, const char *name)
{
Eina_Value *v = efl_config_get(obj, name);
Eina_Stringshare *s = 0;
if (eina_value_type_get(v) == EINA_VALUE_TYPE_STRING)
{
const char *b = 0;
eina_value_get(v, &b);
s = eina_stringshare_add(b);
}
eina_value_free(v);
return s;
}
#else
#ifndef EFL_NOLEGACY_API_SUPPORT

View File

@ -2370,104 +2370,6 @@ EAPI double elm_config_drag_anim_duration_get(void);
*/
EAPI void elm_config_drag_anim_duration_set(double set);
/* new efl.config interface helpers in C */
/* FIXME these depend on stuff from Efl.h but this is included before that */
#ifdef EFL_BETA_API_SUPPORT
static inline Eina_Bool
efl_config_bool_set(Efl_Config *obj, const char * name, Eina_Bool val)
{
Eina_Value *v = eina_value_new(EINA_VALUE_TYPE_UCHAR);
Eina_Bool b;
eina_value_set(v, val);
b = efl_config_set(obj, name, v);
eina_value_free(v);
return b;
}
static inline Eina_Bool
efl_config_bool_get(const Efl_Config *obj, const char * name)
{
Eina_Value *v = efl_config_get(obj, name);
Eina_Bool b = 0;
if (eina_value_type_get(v) == EINA_VALUE_TYPE_UCHAR)
eina_value_get(v, &b);
eina_value_free(v);
return b;
}
static inline Eina_Bool
efl_config_int_set(Efl_Config *obj, const char * name, int val)
{
Eina_Value *v = eina_value_new(EINA_VALUE_TYPE_INT);
Eina_Bool b;
eina_value_set(v, val);
b = efl_config_set(obj, name, v);
eina_value_free(v);
return b;
}
static inline int
efl_config_int_get(const Efl_Config *obj, const char * name)
{
Eina_Value *v = efl_config_get(obj, name);
int b = 0;
if (eina_value_type_get(v) == EINA_VALUE_TYPE_INT)
eina_value_get(v, &b);
eina_value_free(v);
return b;
}
static inline Eina_Bool
efl_config_double_set(Efl_Config *obj, const char * name, double val)
{
Eina_Value *v = eina_value_new(EINA_VALUE_TYPE_DOUBLE);
Eina_Bool b;
eina_value_set(v, val);
b = efl_config_set(obj, name, v);
eina_value_free(v);
return b;
}
static inline double
efl_config_double_get(const Efl_Config *obj, const char * name)
{
Eina_Value *v = efl_config_get(obj, name);
double b = 0;
if (eina_value_type_get(v) == EINA_VALUE_TYPE_DOUBLE)
eina_value_get(v, &b);
eina_value_free(v);
return b;
}
static inline Eina_Bool
efl_config_string_set(Efl_Config *obj, const char *name, const char *val)
{
Eina_Value *v = eina_value_new(EINA_VALUE_TYPE_STRING);
Eina_Bool b;
eina_value_set(v, val);
b = efl_config_set(obj, name, v);
eina_value_free(v);
return b;
}
static inline Eina_Stringshare *
efl_config_string_get(const Efl_Config *obj, const char *name)
{
Eina_Value *v = efl_config_get(obj, name);
Eina_Stringshare *s = 0;
if (eina_value_type_get(v) == EINA_VALUE_TYPE_STRING)
{
const char *b = 0;
eina_value_get(v, &b);
s = eina_stringshare_add(b);
}
eina_value_free(v);
return s;
}
#endif
/**
* @}