#ifndef EINA_HH_ #define EINA_HH_ /** * @file * @brief Eina C++ */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include /** * @defgroup Eina_Cxx Eina C++ * * @defgroup Eina_Cxx_Data_Types_Group Data Types * @ingroup Eina_Cxx * * @defgroup Eina_Cxx_Content_Access_Group Content Access * @ingroup Eina_Cxx_Data_Types_Group * * @defgroup Eina_Cxx_Containers_Group Containers * @ingroup Eina_Cxx_Data_Types_Group * * @defgroup Eina_Cxx_Tools_Group Tools * @ingroup Eina_Cxx * */ namespace efl { namespace eina { /** * @addtogroup Eina_Cxx * * @{ */ /** * @brief Initialize the Eina library. * * Initialize all the Eina modules upon construction and finalize them * upon destruction, using the RAII programming idiom. */ struct eina_init { eina_init() { ::eina_init(); } ~eina_init() { ::eina_shutdown(); } }; /** * @brief Initialize the mutexes of the Eina library. * * Set up all the mutexes in all Eina modules upon construction and * shut them down upon destruction, using the RAII programming idiom. */ struct eina_threads_init { eina_threads_init() { ::eina_threads_init(); } ~eina_threads_init() { ::eina_threads_shutdown(); } }; /** * @} */ } } #endif