diff options
Diffstat (limited to 'src/lib/Eulogium.h')
-rw-r--r-- | src/lib/Eulogium.h | 111 |
1 files changed, 111 insertions, 0 deletions
diff --git a/src/lib/Eulogium.h b/src/lib/Eulogium.h new file mode 100644 index 0000000..7ef7c0d --- /dev/null +++ b/src/lib/Eulogium.h @@ -0,0 +1,111 @@ +#ifndef EULOGIUM_H_ +# define EULOGIUM_H_ + +#include <Elementary.h> + +#ifdef EAPI +# undef EAPI +#endif + +#ifdef _WIN32 +# ifdef EFL_EULOGIUM_BUILD +# ifdef DLL_EXPORT +# define EAPI __declspec(dllexport) +# else +# define EAPI +# endif /* ! DLL_EXPORT */ +# else +# define EAPI __declspec(dllimport) +# endif /* ! EFL_EULOGIUM_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 Eulogium 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, Eulogium should be properly + * initialized with @ref eulogium_init() and the last call to Eulogium's + * functions should be @ref eulogium_shutdown(), so everything will + * be correctly freed. + * + * Eulogium logs everything with Eina Log, using the "eulogium" log domain. + * + */ + +/** + * Initialize Eulogium. + * + * Initializes Eulogium, its dependencies and modules. Should be the first + * function of Eulogium to be called. + * + * @return The init counter value. + * + * @see eulogium_shutdown(). + * + * @ingroup Init + */ +EAPI int eulogium_init(void); + +/** + * Shutdown Eulogium + * + * Shutdown Eulogium. If init count reaches 0, all the internal structures will + * be freed. Any Eulogium library call after this point will leads to an error. + * + * @return Eulogium's init counter value. + * + * @see eulogium_init(). + * + * @ingroup Init + */ +EAPI int eulogium_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 eulogium_library_call(void); + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif /* EULOGIUM_H_ */ |