diff options
Diffstat (limited to 'src/lib/eulogium.c')
-rw-r--r-- | src/lib/eulogium.c | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/src/lib/eulogium.c b/src/lib/eulogium.c new file mode 100644 index 0000000..8e19356 --- /dev/null +++ b/src/lib/eulogium.c @@ -0,0 +1,64 @@ +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif + +#include "Eulogium.h" + +#include "eulogium_private.h" + +static int _eulogium_init = 0; +int _eulogium_lib_log_dom = -1; + +EAPI int +eulogium_init(void) +{ + _eulogium_init++; + if (_eulogium_init > 1) return _eulogium_init; + + eina_init(); + + _eulogium_lib_log_dom = eina_log_domain_register("eulogium", EINA_COLOR_CYAN); + if (_eulogium_lib_log_dom < 0) + { + EINA_LOG_ERR("Eulogium can not create its log domain."); + goto shutdown_eina; + } + + // Put here your initialization logic of your library + + eina_log_timing(_eulogium_lib_log_dom, EINA_LOG_STATE_STOP, EINA_LOG_STATE_INIT); + + return _eulogium_init; + + shutdown_eina: + eina_shutdown(); + _eulogium_init--; + + return _eulogium_init; +} + +EAPI int +eulogium_shutdown(void) +{ + _eulogium_init--; + if (_eulogium_init != 0) return _eulogium_init; + + eina_log_timing(_eulogium_lib_log_dom, + EINA_LOG_STATE_START, + EINA_LOG_STATE_SHUTDOWN); + + // Put here your shutdown logic + + eina_log_domain_unregister(_eulogium_lib_log_dom); + _eulogium_lib_log_dom = -1; + + eina_shutdown(); + + return _eulogium_init; +} + +EAPI void +eulogium_library_call(void) +{ + INF("Not really doing anything useful."); +} |