diff options
author | maximius <none@none> | 2009-10-17 15:35:07 -0700 |
---|---|---|
committer | maximius <none@none> | 2009-10-17 15:35:07 -0700 |
commit | 26b5e033ffde3d161382fc9addbfa99738379641 (patch) | |
tree | a344f369ca32945f787a02dee35c3dbe342bed7e /src/framework/Policies | |
parent | f21f47005dcb6b76e1abc9f35fbcd03eed191bff (diff) |
*Massive cleanup (\n\n -> \n, *\n -> \n, cleanup for(...) to for (...), and some other cleanups by hand)
*Fix a possible crash in Spell::DoAllEffectOnTarget
--HG--
branch : trunk
Diffstat (limited to 'src/framework/Policies')
-rw-r--r-- | src/framework/Policies/CreationPolicy.h | 9 | ||||
-rw-r--r-- | src/framework/Policies/ObjectLifeTime.cpp | 3 | ||||
-rw-r--r-- | src/framework/Policies/ObjectLifeTime.h | 8 | ||||
-rw-r--r-- | src/framework/Policies/Singleton.h | 9 | ||||
-rw-r--r-- | src/framework/Policies/SingletonImp.h | 10 | ||||
-rw-r--r-- | src/framework/Policies/ThreadingModel.h | 23 |
6 files changed, 0 insertions, 62 deletions
diff --git a/src/framework/Policies/CreationPolicy.h b/src/framework/Policies/CreationPolicy.h index 91bec9eab37..9bca121b632 100644 --- a/src/framework/Policies/CreationPolicy.h +++ b/src/framework/Policies/CreationPolicy.h @@ -17,13 +17,10 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ - #ifndef TRINITY_CREATIONPOLICY_H #define TRINITY_CREATIONPOLICY_H - #include <stdlib.h> #include "Platform/Define.h" - namespace Trinity { /** @@ -36,7 +33,6 @@ namespace Trinity static T* Create(void) { return (new T); } static void Destroy(T *obj) { delete obj; } }; - /** * LocalStaticCreation policy creates an object on the stack * the first time call Create. @@ -63,10 +59,8 @@ namespace Trinity static MaxAlign si_localStatic; return new(&si_localStatic) T; } - static void Destroy(T *obj) { obj->~T(); } }; - /** * CreateUsingMalloc by pass the memory manger. */ @@ -80,14 +74,12 @@ namespace Trinity if (!p) return 0; return new(p) T; } - static void Destroy(T* p) { p->~T(); ::free(p); } }; - /** * CreateOnCallBack creates the object base on the call back. */ @@ -99,7 +91,6 @@ namespace Trinity { return CALL_BACK::createCallBack(); } - static void Destroy(T *p) { CALL_BACK::destroyCallBack(p); diff --git a/src/framework/Policies/ObjectLifeTime.cpp b/src/framework/Policies/ObjectLifeTime.cpp index 852e382a0e9..d86e96a8e87 100644 --- a/src/framework/Policies/ObjectLifeTime.cpp +++ b/src/framework/Policies/ObjectLifeTime.cpp @@ -17,17 +17,14 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ - #include <cstdlib> #include "ObjectLifeTime.h" - namespace Trinity { extern "C" void external_wrapper(void *p) { std::atexit( (void (*)())p ); } - void TRINITY_DLL_SPEC at_exit( void (*func)() ) { external_wrapper((void*)func); diff --git a/src/framework/Policies/ObjectLifeTime.h b/src/framework/Policies/ObjectLifeTime.h index 86303f889fb..51765d4d4b4 100644 --- a/src/framework/Policies/ObjectLifeTime.h +++ b/src/framework/Policies/ObjectLifeTime.h @@ -17,19 +17,14 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ - #ifndef TRINITY_OBJECTLIFETIME_H #define TRINITY_OBJECTLIFETIME_H - #include <stdexcept> #include "Platform/Define.h" - typedef void (* Destroyer)(void); - namespace Trinity { void TRINITY_DLL_SPEC at_exit( void (*func)() ); - template <class T> class TRINITY_DLL_DECL ObjectLifeTime { @@ -38,11 +33,8 @@ namespace Trinity { at_exit( destroyer ); } - DECLSPEC_NORETURN static void OnDeadReference(void) ATTR_NORETURN; - }; - template <class T> void ObjectLifeTime<T>::OnDeadReference(void) // We don't handle Dead Reference for now { diff --git a/src/framework/Policies/Singleton.h b/src/framework/Policies/Singleton.h index 66daaba5a9a..d8d4fd4df20 100644 --- a/src/framework/Policies/Singleton.h +++ b/src/framework/Policies/Singleton.h @@ -17,18 +17,14 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ - #ifndef TRINITY_SINGLETON_H #define TRINITY_SINGLETON_H - /** * @brief class Singleton */ - #include "CreationPolicy.h" #include "ThreadingModel.h" #include "ObjectLifeTime.h" - namespace Trinity { template @@ -42,19 +38,14 @@ namespace Trinity { public: static T& Instance(); - protected: Singleton() {}; - private: - // Prohibited actions...this does not prevent hijacking. Singleton(const Singleton &); Singleton& operator=(const Singleton &); - // Singleton Helpers static void DestroySingleton(); - // data structure typedef typename ThreadingModel::Lock Guard; static T *si_instance; diff --git a/src/framework/Policies/SingletonImp.h b/src/framework/Policies/SingletonImp.h index 89a4738ae22..44f2d184410 100644 --- a/src/framework/Policies/SingletonImp.h +++ b/src/framework/Policies/SingletonImp.h @@ -17,15 +17,11 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ - #ifndef TRINITY_SINGLETONIMPL_H #define TRINITY_SINGLETONIMPL_H - #include "Singleton.h" - // avoid the using namespace here cuz // its a .h file afterall - template < typename T, @@ -51,10 +47,8 @@ Trinity::Singleton<T, ThreadingModel, CreatePolicy, LifeTimePolicy >::Instance() LifeTimePolicy::ScheduleCall(&DestroySingleton); } } - return *si_instance; } - template < typename T, @@ -69,22 +63,18 @@ Trinity::Singleton<T, ThreadingModel, CreatePolicy, LifeTimePolicy>::DestroySing si_instance = NULL; si_destroyed = true; } - #define INSTANTIATE_SINGLETON_1(TYPE) \ template class TRINITY_DLL_DECL Trinity::Singleton<TYPE, Trinity::SingleThreaded<TYPE>, Trinity::OperatorNew<TYPE>, Trinity::ObjectLifeTime<TYPE> >; \ template<> TYPE* Trinity::Singleton<TYPE, Trinity::SingleThreaded<TYPE>, Trinity::OperatorNew<TYPE>, Trinity::ObjectLifeTime<TYPE> >::si_instance = 0; \ template<> bool Trinity::Singleton<TYPE, Trinity::SingleThreaded<TYPE>, Trinity::OperatorNew<TYPE>, Trinity::ObjectLifeTime<TYPE> >::si_destroyed = false - #define INSTANTIATE_SINGLETON_2(TYPE, THREADINGMODEL) \ template class TRINITY_DLL_DECL Trinity::Singleton<TYPE, THREADINGMODEL, Trinity::OperatorNew<TYPE>, Trinity::ObjectLifeTime<TYPE> >; \ template<> TYPE* Trinity::Singleton<TYPE, THREADINGMODEL, Trinity::OperatorNew<TYPE>, Trinity::ObjectLifeTime<TYPE> >::si_instance = 0; \ template<> bool Trinity::Singleton<TYPE, THREADINGMODEL, Trinity::OperatorNew<TYPE>, Trinity::ObjectLifeTime<TYPE> >::si_destroyed = false - #define INSTANTIATE_SINGLETON_3(TYPE, THREADINGMODEL, CREATIONPOLICY ) \ template class TRINITY_DLL_DECL Trinity::Singleton<TYPE, THREADINGMODEL, CREATIONPOLICY, Trinity::ObjectLifeTime<TYPE> >; \ template<> TYPE* Trinity::Singleton<TYPE, THREADINGMODEL, CREATIONPOLICY, Trinity::ObjectLifeTime<TYPE> >::si_instance = 0; \ template<> bool Trinity::Singleton<TYPE, THREADINGMODEL, CREATIONPOLICY, Trinity::ObjectLifeType<TYPE> >::si_destroyed = false - #define INSTANTIATE_SINGLETON_4(TYPE, THREADINGMODEL, CREATIONPOLICY, OBJECTLIFETIME) \ template class TRINITY_DLL_DECL Trinity::Singleton<TYPE, THREADINGMODEL, CREATIONPOLICY, OBJECTLIFETIME >; \ template<> TYPE* Trinity::Singleton<TYPE, THREADINGMODEL, CREATIONPOLICY, OBJECTLIFETIME >::si_instance = 0; \ diff --git a/src/framework/Policies/ThreadingModel.h b/src/framework/Policies/ThreadingModel.h index a380fe78323..3e0593789b5 100644 --- a/src/framework/Policies/ThreadingModel.h +++ b/src/framework/Policies/ThreadingModel.h @@ -17,21 +17,16 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ - #ifndef TRINITY_THREADINGMODEL_H #define TRINITY_THREADINGMODEL_H - /** * @class ThreadingModel<T> * */ - #include "Platform/Define.h" - namespace Trinity { inline void Guard(void *) {} - template<typename MUTEX> class TRINITY_DLL_DECL GeneralLock { public: @@ -39,7 +34,6 @@ namespace Trinity { i_mutex.acquire(); } - ~GeneralLock() { i_mutex.release(); @@ -49,12 +43,10 @@ namespace Trinity GeneralLock& operator=(const GeneralLock &); MUTEX &i_mutex; }; - template <class T> class TRINITY_DLL_DECL SingleThreaded { public: - struct Lock // empty object { Lock() {} @@ -63,40 +55,31 @@ namespace Trinity { } }; - typedef T VolatileType; }; - // object level lockable template<class T, class MUTEX> class TRINITY_DLL_DECL ObjectLevelLockable { public: ObjectLevelLockable() : i_mtx() {} - friend class Lock; - class Lock { public: Lock(ObjectLevelLockable<T, MUTEX> &host) : i_lock(host.i_mtx) { } - private: GeneralLock<MUTEX> i_lock; }; - typedef volatile T VolatileType; - private: // prevent the compiler creating a copy construct ObjectLevelLockable(const ObjectLevelLockable<T, MUTEX> &); ObjectLevelLockable<T, MUTEX>& operator=(const ObjectLevelLockable<T, MUTEX> &); - MUTEX i_mtx; }; - template<class T, class MUTEX> class TRINITY_DLL_DECL ClassLevelLockable { @@ -104,9 +87,7 @@ namespace Trinity class Lock; friend class Lock; typedef volatile T VolatileType; - ClassLevelLockable() {} - class Lock { public: @@ -115,15 +96,11 @@ namespace Trinity Lock() { ClassLevelLockable<T, MUTEX>::si_mtx.acquire(); } ~Lock() { ClassLevelLockable<T, MUTEX>::si_mtx.release(); } }; - private: static MUTEX si_mtx; }; - } - template<class T, class MUTEX> MUTEX Trinity::ClassLevelLockable<T, MUTEX>::si_mtx; - #define INSTANTIATE_CLASS_MUTEX(CTYPE,MUTEX) \ template class TRINITY_DLL_DECL Trinity::ClassLevelLockable<CTYPE, MUTEX > #endif |