2014-02-11 05:42:59 -08:00
|
|
|
#ifndef __EOLIAN_DATABASE_H
|
|
|
|
#define __EOLIAN_DATABASE_H
|
|
|
|
|
|
|
|
#include <Eolian.h>
|
|
|
|
|
2014-02-19 04:09:36 -08:00
|
|
|
extern int _eolian_log_dom;
|
|
|
|
|
|
|
|
#ifdef CRI
|
|
|
|
#undef CRI
|
|
|
|
#endif
|
|
|
|
#define CRI(...) EINA_LOG_DOM_CRIT(_eolian_log_dom, __VA_ARGS__)
|
|
|
|
|
|
|
|
#ifdef ERR
|
|
|
|
#undef ERR
|
|
|
|
#endif
|
|
|
|
#define ERR(...) EINA_LOG_DOM_ERR(_eolian_log_dom, __VA_ARGS__)
|
|
|
|
|
|
|
|
#ifdef WRN
|
|
|
|
#undef WRN
|
|
|
|
#endif
|
|
|
|
#define WRN(...) EINA_LOG_DOM_WARN(_eolian_log_dom, __VA_ARGS__)
|
|
|
|
|
|
|
|
#ifdef INF
|
|
|
|
#undef INF
|
|
|
|
#endif
|
|
|
|
#define INF(...) EINA_LOG_DOM_INFO(_eolian_log_dom, __VA_ARGS__)
|
|
|
|
|
|
|
|
#ifdef DBG
|
|
|
|
#undef DBG
|
|
|
|
#endif
|
|
|
|
#define DBG(...) EINA_LOG_DOM_DBG(_eolian_log_dom, __VA_ARGS__)
|
|
|
|
|
2014-02-16 01:41:38 -08:00
|
|
|
int database_init();
|
|
|
|
int database_shutdown();
|
2014-02-11 05:42:59 -08:00
|
|
|
|
2014-04-30 02:03:09 -07:00
|
|
|
/* Add a type in the database */
|
|
|
|
Eina_Bool database_type_add(const char *alias, Eolian_Type type);
|
|
|
|
|
2014-02-11 05:42:59 -08:00
|
|
|
/* Add a class in the database */
|
2014-05-22 07:24:50 -07:00
|
|
|
Eolian_Class database_class_add(const char *class_name, Eolian_Class_Type type);
|
2014-02-11 05:42:59 -08:00
|
|
|
|
|
|
|
/* Add a class from the database */
|
|
|
|
Eina_Bool
|
2014-05-22 07:24:50 -07:00
|
|
|
database_class_del(Eolian_Class class);
|
2014-02-11 05:42:59 -08:00
|
|
|
|
|
|
|
/* Add an inherit class name to a class */
|
2014-05-22 07:24:50 -07:00
|
|
|
Eina_Bool database_class_inherit_add(Eolian_Class class, const char *inherit_class_name);
|
2014-02-11 05:42:59 -08:00
|
|
|
|
|
|
|
/* Set description of class. */
|
|
|
|
void
|
2014-05-22 07:24:50 -07:00
|
|
|
database_class_description_set(Eolian_Class class, const char *description);
|
2014-02-11 05:42:59 -08:00
|
|
|
|
|
|
|
/* Set legacy of class. */
|
|
|
|
void
|
2014-05-22 07:24:50 -07:00
|
|
|
database_class_legacy_prefix_set(Eolian_Class class, const char *legacy_prefix);
|
2014-02-11 05:42:59 -08:00
|
|
|
|
2014-03-10 02:52:46 -07:00
|
|
|
/* Set eo prefix of class. */
|
|
|
|
void
|
2014-05-22 07:24:50 -07:00
|
|
|
database_class_eo_prefix_set(Eolian_Class class, const char *eo_prefix);
|
2014-03-10 02:52:46 -07:00
|
|
|
|
|
|
|
/* Set data of class. */
|
|
|
|
void
|
2014-05-22 07:24:50 -07:00
|
|
|
database_class_data_type_set(Eolian_Class class, const char *data_type);
|
2014-03-10 02:52:46 -07:00
|
|
|
|
2014-02-16 06:09:06 -08:00
|
|
|
/* Set file of class */
|
|
|
|
Eina_Bool
|
2014-05-22 07:24:50 -07:00
|
|
|
database_class_file_set(Eolian_Class class, const char *file_name);
|
2014-02-16 06:09:06 -08:00
|
|
|
|
2014-02-11 05:42:59 -08:00
|
|
|
/* Create a function */
|
|
|
|
Eolian_Function database_function_new(const char *function_name, Eolian_Function_Type foo_type);
|
|
|
|
|
|
|
|
/* Set a type to a function */
|
|
|
|
void database_function_type_set(Eolian_Function function_id, Eolian_Function_Type foo_type);
|
|
|
|
|
|
|
|
/* Add a function to a class */
|
2014-05-22 07:24:50 -07:00
|
|
|
Eina_Bool database_class_function_add(Eolian_Class class, Eolian_Function foo_id);
|
2014-02-11 05:42:59 -08:00
|
|
|
|
|
|
|
void database_function_data_set(Eolian_Function function_id, const char *key, const char *description);
|
|
|
|
|
|
|
|
/* Add a description to a function */
|
|
|
|
#define database_function_description_set(foo_id, key, desc) database_function_data_set((foo_id), (key), (desc))
|
|
|
|
|
2014-02-26 10:02:10 -08:00
|
|
|
/* Add a key to a property */
|
2014-04-16 06:17:27 -07:00
|
|
|
Eolian_Function_Parameter database_property_key_add(Eolian_Function foo_id, Eolian_Type type, const char *name, const char *description);
|
2014-02-26 10:02:10 -08:00
|
|
|
|
|
|
|
/* Add a value to a property */
|
2014-04-16 06:17:27 -07:00
|
|
|
Eolian_Function_Parameter database_property_value_add(Eolian_Function foo_id, Eolian_Type type, const char *name, const char *description);
|
2014-02-26 10:02:10 -08:00
|
|
|
|
|
|
|
/* Add a parameter to a method */
|
2014-04-16 06:17:27 -07:00
|
|
|
Eolian_Function_Parameter database_method_parameter_add(Eolian_Function foo_id, Eolian_Parameter_Dir param_dir, Eolian_Type type, const char *name, const char *description);
|
|
|
|
|
2014-04-17 23:21:35 -07:00
|
|
|
void database_type_del(Eolian_Type type);
|
|
|
|
|
2014-03-27 06:16:32 -07:00
|
|
|
void database_parameter_const_attribute_set(Eolian_Function_Parameter param_desc, Eina_Bool is_get, Eina_Bool is_const);
|
2014-02-11 05:42:59 -08:00
|
|
|
|
2014-02-23 01:19:14 -08:00
|
|
|
void database_parameter_nonull_set(Eolian_Function_Parameter, Eina_Bool nonull);
|
|
|
|
|
2014-04-16 06:17:27 -07:00
|
|
|
void database_function_return_type_set(Eolian_Function foo_id, Eolian_Function_Type ftype, Eolian_Type ret_type);
|
2014-02-11 05:42:59 -08:00
|
|
|
|
2014-04-06 07:10:05 -07:00
|
|
|
void database_function_return_comment_set(Eolian_Function foo_id, Eolian_Function_Type ftype, const char *ret_comment);
|
|
|
|
|
2014-03-15 23:33:24 -07:00
|
|
|
void database_function_return_dflt_val_set(Eolian_Function foo_id, Eolian_Function_Type ftype, const char *ret_dflt_value);
|
|
|
|
|
2014-02-20 06:18:49 -08:00
|
|
|
void database_function_return_flag_set_as_warn_unused(Eolian_Function foo_id,
|
|
|
|
Eolian_Function_Type ftype, Eina_Bool warn_unused);
|
|
|
|
|
2014-02-11 05:42:59 -08:00
|
|
|
void database_function_object_set_as_const(Eolian_Function foo_id, Eina_Bool is_const);
|
|
|
|
|
2014-02-19 00:30:02 -08:00
|
|
|
Eina_Bool
|
2014-03-26 07:12:39 -07:00
|
|
|
database_function_set_as_virtual_pure(Eolian_Function function_id, Eolian_Function_Type type);
|
2014-02-19 00:30:02 -08:00
|
|
|
|
2014-04-03 06:20:58 -07:00
|
|
|
void
|
|
|
|
database_function_scope_set(Eolian_Function function_id, Eolian_Function_Scope scope);
|
|
|
|
|
2014-02-11 05:42:59 -08:00
|
|
|
/* Need to add API for callbacks and implements */
|
|
|
|
|
|
|
|
Eolian_Implement
|
2014-05-25 03:53:49 -07:00
|
|
|
database_implement_new(const char *impl_name);
|
2014-02-11 05:42:59 -08:00
|
|
|
|
|
|
|
Eina_Bool
|
2014-05-22 07:24:50 -07:00
|
|
|
database_class_implement_add(Eolian_Class class, Eolian_Implement impl_id);
|
2014-02-11 05:42:59 -08:00
|
|
|
|
2014-02-18 05:16:51 -08:00
|
|
|
Eina_Bool
|
2014-05-22 07:24:50 -07:00
|
|
|
database_class_ctor_enable_set(Eolian_Class class, Eina_Bool enable);
|
2014-02-18 05:16:51 -08:00
|
|
|
|
|
|
|
Eina_Bool
|
2014-05-22 07:24:50 -07:00
|
|
|
database_class_dtor_enable_set(Eolian_Class class, Eina_Bool enable);
|
2014-02-18 05:16:51 -08:00
|
|
|
|
2014-02-11 05:42:59 -08:00
|
|
|
Eolian_Event
|
2014-04-02 04:04:12 -07:00
|
|
|
database_event_new(const char *event_name, const char *event_type, const char *event_desc);
|
2014-02-11 05:42:59 -08:00
|
|
|
|
|
|
|
void
|
|
|
|
database_event_free(Eolian_Event event);
|
|
|
|
|
|
|
|
Eina_Bool
|
2014-05-22 07:24:50 -07:00
|
|
|
database_class_event_add(Eolian_Class class, Eolian_Event event_desc);
|
2014-02-11 05:42:59 -08:00
|
|
|
|
|
|
|
#endif
|