forked from enlightenment/enlightenment
77 lines
2.1 KiB
C
77 lines
2.1 KiB
C
#ifdef E_TYPEDEFS
|
|
|
|
/* struct used to pass to event handlers */
|
|
typedef struct _E_Event_State E_Event_State;
|
|
|
|
typedef struct _E_State_Item E_State_Item;
|
|
typedef union _E_State_Val E_State_Val;
|
|
|
|
typedef enum
|
|
{
|
|
E_STATE_UNKNOWN,
|
|
E_STATE_BOOL,
|
|
E_STATE_INT,
|
|
E_STATE_UINT,
|
|
E_STATE_DOUBLE,
|
|
E_STATE_STRING
|
|
} E_State_Type;
|
|
|
|
typedef enum
|
|
{
|
|
E_STATE_CHANGE,
|
|
E_STATE_DEL
|
|
} E_State_Event;
|
|
|
|
#else
|
|
# ifndef E_STATE_H
|
|
# define E_STATE_H
|
|
|
|
union _E_State_Val
|
|
{
|
|
Eina_Bool b;
|
|
int i;
|
|
unsigned int u;
|
|
double d;
|
|
const char *s;
|
|
};
|
|
|
|
struct _E_State_Item
|
|
{
|
|
const char *name;
|
|
E_State_Type type;
|
|
E_State_Val val;
|
|
};
|
|
|
|
struct _E_Event_State
|
|
{
|
|
E_State_Event event;
|
|
E_State_Item item;
|
|
};
|
|
|
|
EINTERN int e_state_init(void);
|
|
EINTERN int e_state_shutdown(void);
|
|
|
|
E_API void e_state_item_change_callback_add(const char *glob, void (*cb) (void *data, E_State_Item item, Eina_Bool del), const void *data);
|
|
E_API void e_state_item_change_callback_del(const char *glob, void (*cb) (void *data, E_State_Item item, Eina_Bool del), const void *data);
|
|
|
|
E_API E_State_Item e_state_item_get(const char *name);
|
|
E_API void e_state_item_set(E_State_Item it);
|
|
|
|
E_API void e_state_item_del(const char *name);
|
|
|
|
E_API Eina_Bool e_state_item_val_bool_get(const char *name);
|
|
E_API int e_state_item_val_int_get(const char *name);
|
|
E_API unsigned int e_state_item_val_uint_get(const char *name);
|
|
E_API double e_state_item_val_double_get(const char *name);
|
|
E_API const char *e_state_item_val_string_get(const char *name);
|
|
E_API void e_state_item_val_bool_set(const char *name, Eina_Bool b);
|
|
E_API void e_state_item_val_int_set(const char *name, int i);
|
|
E_API void e_state_item_val_uint_set(const char *name, unsigned int u);
|
|
E_API void e_state_item_val_double_set(const char *name, double d);
|
|
E_API void e_state_item_val_string_set(const char *name, const char *s);
|
|
|
|
extern E_API int E_EVENT_STATE_CHANGE;
|
|
|
|
# endif
|
|
#endif
|