diff options
Diffstat (limited to 'src/lib/engagement.h')
-rw-r--r-- | src/lib/engagement.h | 111 |
1 files changed, 111 insertions, 0 deletions
diff --git a/src/lib/engagement.h b/src/lib/engagement.h new file mode 100644 index 0000000..487d8c9 --- /dev/null +++ b/src/lib/engagement.h @@ -0,0 +1,111 @@ +#ifndef ENGAGEMENT_H_ +# define ENGAGEMENT_H_ + +#include <Elementary.h> + +#ifdef EAPI +# undef EAPI +#endif + +#ifdef _WIN32 +# ifdef EFL_ENGAGEMENT_BUILD +# ifdef DLL_EXPORT +# define EAPI __declspec(dllexport) +# else +# define EAPI +# endif /* ! DLL_EXPORT */ +# else +# define EAPI __declspec(dllimport) +# endif /* ! EFL_ENGAGEMENT_BUILD */ +#else +# ifdef __GNUC__ +# if __GNUC__ >= 4 +# define EAPI __attribute__ ((visibility("default"))) +# else +# define EAPI +# endif +# else +# define EAPI +# endif +#endif /* ! _WIN32 */ + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @file + * @brief These routines are used for Engagement library interaction. + */ + +/** + * @brief Init / shutdown functions. + * @defgroup Init Init / Shutdown + * + * @{ + * + * Functions of obligatory usage, handling proper initialization + * and shutdown routines. + * + * Before the usage of any other function, Engagement should be properly + * initialized with @ref engagement_init() and the last call to Engagement's + * functions should be @ref engagement_shutdown(), so everything will + * be correctly freed. + * + * Engagement logs everything with Eina Log, using the "engagement" log domain. + * + */ + +/** + * Initialize Engagement. + * + * Initializes Engagement, its dependencies and modules. Should be the first + * function of Engagement to be called. + * + * @return The init counter value. + * + * @see engagement_shutdown(). + * + * @ingroup Init + */ +EAPI int engagement_init(void); + +/** + * Shutdown Engagement + * + * Shutdown Engagement. If init count reaches 0, all the internal structures will + * be freed. Any Engagement library call after this point will leads to an error. + * + * @return Engagement's init counter value. + * + * @see engagement_init(). + * + * @ingroup Init + */ +EAPI int engagement_shutdown(void); + +/** + * @} + */ + +/** + * @brief Main group API that wont do anything + * @defgroup Main Main + * + * @{ + * + * @brief A function that doesn't do any good nor any bad + * + * @ingroup Main + */ +EAPI void engagement_library_call(void); + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif /* ENGAGEMENT_H_ */ |