diff --git a/NazaraModuleTemplate/include/Nazara/ModuleName/Config.hpp b/NazaraModuleTemplate/include/Nazara/ModuleName/Config.hpp index 31123fc72..9527720de 100644 --- a/NazaraModuleTemplate/include/Nazara/ModuleName/Config.hpp +++ b/NazaraModuleTemplate/include/Nazara/ModuleName/Config.hpp @@ -1,7 +1,7 @@ /* Nazara Engine - Copyright (C) 2012 Jérôme "Lynix" Leclercq (Lynix680@gmail.com) + Copyright (C) 2012 AUTHORS (EMAIL) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in @@ -32,4 +32,7 @@ // Utilise un tracker pour repérer les éventuels leaks (Ralentit l'exécution) #define NAZARA_MODULENAME_MEMORYLEAKTRACKER 0 +// Active les tests de sécurité basés sur le code (Conseillé pour le développement) +#define NAZARA_MODULENAME_SAFE 1 + #endif // NAZARA_CONFIG_MODULENAME_HPP diff --git a/NazaraModuleTemplate/include/Nazara/ModuleName/Debug.hpp b/NazaraModuleTemplate/include/Nazara/ModuleName/Debug.hpp index dd592f63d..fa2f9482e 100644 --- a/NazaraModuleTemplate/include/Nazara/ModuleName/Debug.hpp +++ b/NazaraModuleTemplate/include/Nazara/ModuleName/Debug.hpp @@ -1,4 +1,4 @@ -// Copyright (C) 2012 Jérôme Leclercq +// Copyright (C) 2012 AUTHORS // This file is part of the "Nazara Engine". // For conditions of distribution and use, see copyright notice in Config.hpp diff --git a/NazaraModuleTemplate/include/Nazara/ModuleName/DebugOff.hpp b/NazaraModuleTemplate/include/Nazara/ModuleName/DebugOff.hpp index 45569ab87..0a21b742d 100644 --- a/NazaraModuleTemplate/include/Nazara/ModuleName/DebugOff.hpp +++ b/NazaraModuleTemplate/include/Nazara/ModuleName/DebugOff.hpp @@ -1,4 +1,4 @@ -// Copyright (C) 2012 Jérôme Leclercq +// Copyright (C) 2012 AUTHORS // This file is part of the "Nazara Engine". // For conditions of distribution and use, see copyright notice in Config.hpp diff --git a/NazaraModuleTemplate/include/Nazara/ModuleName/ModuleName.hpp b/NazaraModuleTemplate/include/Nazara/ModuleName/ModuleName.hpp new file mode 100644 index 000000000..70d8f6918 --- /dev/null +++ b/NazaraModuleTemplate/include/Nazara/ModuleName/ModuleName.hpp @@ -0,0 +1,27 @@ +// Copyright (C) 2012 AUTHORS +// This file is part of the "Nazara Engine". +// For conditions of distribution and use, see copyright notice in Config.hpp + +#pragma once + +#ifndef NAZARA_MODULENAME_HPP +#define NAZARA_MODULENAME_HPP + +#include + +class NAZARA_API NzModuleName +{ + public: + NzModuleName(); + ~NzModuleName(); + + bool Initialize(); + void Uninitialize(); + + static bool IsInitialized(); + + private: + static bool s_initialized; +}; + +#endif // NAZARA_MODULENAME_HPP diff --git a/NazaraModuleTemplate/src/Nazara/ModuleName/Debug/Leaks.cpp b/NazaraModuleTemplate/src/Nazara/ModuleName/Debug/Leaks.cpp index 4c981b1d0..13e396e67 100644 --- a/NazaraModuleTemplate/src/Nazara/ModuleName/Debug/Leaks.cpp +++ b/NazaraModuleTemplate/src/Nazara/ModuleName/Debug/Leaks.cpp @@ -1,4 +1,4 @@ -// Copyright (C) 2012 Jérôme Leclercq +// Copyright (C) 2012 AUTHORS // This file is part of the "Nazara Engine". // For conditions of distribution and use, see copyright notice in Config.hpp diff --git a/NazaraModuleTemplate/src/Nazara/ModuleName/ModuleName.cpp b/NazaraModuleTemplate/src/Nazara/ModuleName/ModuleName.cpp new file mode 100644 index 000000000..e94ae32ec --- /dev/null +++ b/NazaraModuleTemplate/src/Nazara/ModuleName/ModuleName.cpp @@ -0,0 +1,48 @@ +// Copyright (C) 2012 AUTHORS +// This file is part of the "Nazara Engine". +// For conditions of distribution and use, see copyright notice in Config.hpp + +#include +#include +#include + +NzModuleName::NzModuleName() +{ +} + +NzModuleName::~NzModuleName() +{ + if (s_initialized) + Uninitialize(); +} + +bool NzModuleName::Initialize() +{ + #if NAZARA_MODULENAME_SAFE + if (s_initialized) + { + NazaraError("ModuleName already initialized"); + return true; + } + #endif + + return true; +} + +void NzModuleName::Uninitialize() +{ + #if NAZARA_MODULENAME_SAFE + if (!s_initialized) + { + NazaraError("ModuleName not initialized"); + return; + } + #endif +} + +bool NzModuleName::IsInitialized() +{ + return s_initialized; +} + +bool NzModuleName::s_initialized = false;