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