Tizen 2.0 Release
[framework/web/wrt-commons.git] / modules / core / include / dpl / singleton_impl.h
index 365ec15..12dbf32 100644 (file)
@@ -30,9 +30,7 @@
  * singleton_safe_impl.h if possible.
  */
 
-namespace DPL
-{
-
+namespace DPL {
 template<typename Class>
 Singleton<Class>& Singleton<Class>::InternalInstance()
 {
@@ -44,37 +42,12 @@ template<typename Class>
 Class &Singleton<Class>::Instance()
 {
     Singleton<Class>& instance = Singleton<Class>::InternalInstance();
-
-    if (!!instance.m_guard)
-    {
-        Assert(Thread::GetCurrentThread() == *instance.m_guard &&
-               "Singleton thread guard failed. A forbidden call from foreign thread was detected!");
-    }
-
     return instance;
 }
-
-// Thread guarding
-template<typename Class>
-void Singleton<Class>::SetThreadGuard(Thread *thread)
-{
-    Singleton<Class>& instance = Singleton<Class>::InternalInstance();
-    instance.m_guard = OptionalThreadPtr(thread);
-}
-
-template<typename Class>
-void Singleton<Class>::ResetThreadGuard()
-{
-    Singleton<Class>& instance = Singleton<Class>::InternalInstance();
-    instance.m_guard = OptionalThreadPtr::Null;
-}
-
 } // namespace DPL
 
 #define IMPLEMENT_SINGLETON(Type)                                           \
-template DPL::Singleton<Type>& DPL::Singleton<Type>::InternalInstance();    \
-template Type& DPL::Singleton<Type>::Instance();                            \
-template void DPL::Singleton<Type>::SetThreadGuard(DPL::Thread *thread);    \
-template void DPL::Singleton<Type>::ResetThreadGuard();
+    template DPL::Singleton<Type>&DPL::Singleton<Type>::InternalInstance();    \
+    template Type & DPL::Singleton<Type>::Instance();                            \
 
 #endif // DPL_SINGLETON_IMPL_H