/* EDOORS * Copyright (C) 2012 Jérémy Zurcher * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; * if not, see . */ #ifndef __EDOORS_MAIN_H__ #define __EDOORS_MAIN_H__ #include /** * @typedef Edoors_Version * Type for the version of Edoors. */ typedef struct _Edoors_Version Edoors_Version; /** * @struct _Edoors_Version * Struct version of Edoors. */ struct _Edoors_Version { int major; /**< Major component of the version */ int minor; /**< Minor component of the version */ int micro; /**< Micro component of the version */ }; EAPI extern Edoors_Version *edoors_version; EAPI extern int _edoors_log_dom; /** * @defgroup Edoors_Main Edoors * * @{ */ /** * @brief Initialize the Edoors library. * * @return 1 or greater on success, 0 on error. * * This function sets up all the edoors modules. It returns 0 on * failure (that is, when one of the module fails to initialize), * otherwise it returns the number of times it has already been * called. * * When Edoors is not used anymore, call edoors_shutdown() to shut down * the Edoorslibrary. */ EAPI int edoors_init(); /** * @brief Shut down the Edoors library. * * @return 0 when all the modules are completely shut down, 1 or * greater otherwise. * * This function shuts down the Edoors library. It returns 0 when it has * been called the same number of times than edoors_init(). In that case * it shut down all the Edoors modules. * * Once this function succeeds (that is, @c 0 is returned), you must * not call any of the Edoors function anymore. You must call * edoors_init() again to use the Edoors functions again. */ EAPI int edoors_shutdown(); /** * @} */ #endif // __EDOORS_MAIN_H__