Documentation for Core

Former-commit-id: d0d4a575149b9f3e70e07b3a815e669d6a79065f
This commit is contained in:
Gawaboumga 2016-02-21 14:41:17 +01:00
parent 8325db8037
commit 0a4381a95b
2 changed files with 64 additions and 3 deletions

View File

@ -47,6 +47,16 @@ namespace Nz
}; };
} }
/*!
* \class Nz::Initializer<Args...>
* \brief Core class that represents a module initializer
*/
/*!
* \brief Constructs a Initializer object with a boolean
*
* \param initialize Initialize the module
*/
template<typename... Args> template<typename... Args>
Initializer<Args...>::Initializer(bool initialize) : Initializer<Args...>::Initializer(bool initialize) :
@ -56,12 +66,24 @@ namespace Nz
Initialize(); Initialize();
} }
/*!
* \brief Destructs the object and call Uninitialize
*
* \see Uninitialize
*/
template<typename... Args> template<typename... Args>
Initializer<Args...>::~Initializer() Initializer<Args...>::~Initializer()
{ {
Uninitialize(); Uninitialize();
} }
/*!
* \brief Initialize the module
*
* \see Uninitialize
*/
template<typename... Args> template<typename... Args>
bool Initializer<Args...>::Initialize() bool Initializer<Args...>::Initialize()
{ {
@ -71,12 +93,23 @@ namespace Nz
return m_initialized; return m_initialized;
} }
/*!
* \brief Checks whether the module is initialized
* \return true if initialized
*/
template<typename... Args> template<typename... Args>
bool Initializer<Args...>::IsInitialized() const bool Initializer<Args...>::IsInitialized() const
{ {
return m_initialized; return m_initialized;
} }
/*!
* \brief Uninitialize the module
*
* \see Initialize
*/
template<typename... Args> template<typename... Args>
void Initializer<Args...>::Uninitialize() void Initializer<Args...>::Uninitialize()
{ {
@ -84,6 +117,11 @@ namespace Nz
Detail::Initializer<Args...>::Uninit(); Detail::Initializer<Args...>::Uninit();
} }
/*!
* \brief Converts the initializer to boolean
* \return true if initialized
*/
template<typename... Args> template<typename... Args>
Initializer<Args...>::operator bool() const Initializer<Args...>::operator bool() const
{ {

View File

@ -13,12 +13,24 @@
namespace Nz namespace Nz
{ {
/*!
* \class Nz::CoreCore
* \brief Core class that represents the module initializer of Core
*/
/*!
* \brief Initializes the Core module
* \return true if initialization is successful
*
* \remark Produces a NazaraNotice
*/
bool Core::Initialize() bool Core::Initialize()
{ {
if (s_moduleReferenceCounter > 0) if (s_moduleReferenceCounter > 0)
{ {
s_moduleReferenceCounter++; s_moduleReferenceCounter++;
return true; // Déjà initialisé return true; // Already initialized
} }
s_moduleReferenceCounter++; s_moduleReferenceCounter++;
@ -29,23 +41,34 @@ namespace Nz
return true; return true;
} }
/*!
* \brief Checks whether the module is initialized
* \return true if module is initialized
*/
bool Core::IsInitialized() bool Core::IsInitialized()
{ {
return s_moduleReferenceCounter != 0; return s_moduleReferenceCounter != 0;
} }
/*!
* \brief Uninitializes the Core module
*
* \remark Produces a NazaraNotice
*/
void Core::Uninitialize() void Core::Uninitialize()
{ {
if (s_moduleReferenceCounter != 1) if (s_moduleReferenceCounter != 1)
{ {
// Le module est soit encore utilisé, soit pas initialisé // The module is still in use, or can not be uninitialized
if (s_moduleReferenceCounter > 1) if (s_moduleReferenceCounter > 1)
s_moduleReferenceCounter--; s_moduleReferenceCounter--;
return; return;
} }
// Libération du module // Free of module
s_moduleReferenceCounter = 0; s_moduleReferenceCounter = 0;
HardwareInfo::Uninitialize(); HardwareInfo::Uninitialize();