#ifndef EULOGIUM_H_ # define EULOGIUM_H_ #include #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_ */