Gesture event refactor
[platform/core/uifw/dali-core.git] / dali / internal / event / common / thread-local-storage.cpp
index ee99ba8..8ce6c11 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2019 Samsung Electronics Co., Ltd.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -21,6 +21,7 @@
 // INTERNAL INCLUDES
 #include <dali/internal/common/core-impl.h>
 #include <dali/public-api/common/dali-common.h>
+#include <dali/internal/event/common/event-thread-services.h>
 
 namespace Dali
 {
@@ -30,13 +31,13 @@ namespace Internal
 
 namespace
 {
-__thread ThreadLocalStorage* threadLocal = NULL;
+thread_local ThreadLocalStorage* threadLocal = nullptr;
 }
 
 ThreadLocalStorage::ThreadLocalStorage(Core* core)
 : mCore( core )
 {
-  DALI_ASSERT_ALWAYS( threadLocal == NULL && "Cannot create more than one ThreadLocalStorage object" );
+  DALI_ASSERT_ALWAYS( threadLocal == nullptr && "Cannot create more than one ThreadLocalStorage object" );
 
   threadLocal = this;
 }
@@ -47,7 +48,7 @@ ThreadLocalStorage::~ThreadLocalStorage()
 
 void ThreadLocalStorage::Remove()
 {
-  threadLocal = NULL;
+  threadLocal = nullptr;
 }
 
 ThreadLocalStorage& ThreadLocalStorage::Get()
@@ -60,7 +61,7 @@ ThreadLocalStorage& ThreadLocalStorage::Get()
 bool ThreadLocalStorage::Created()
 {
   // see if the TLS has been set yet
-  return (threadLocal != NULL);
+  return (threadLocal != nullptr);
 }
 
 ThreadLocalStorage* ThreadLocalStorage::GetInternal()
@@ -83,39 +84,54 @@ NotificationManager& ThreadLocalStorage::GetNotificationManager()
   return mCore->GetNotificationManager();
 }
 
-ResourceManager& ThreadLocalStorage::GetResourceManager()
+ShaderFactory& ThreadLocalStorage::GetShaderFactory()
 {
-  return mCore->GetResourceManager();
+  return mCore->GetShaderFactory();
 }
 
-ResourceClient& ThreadLocalStorage::GetResourceClient()
+StagePtr ThreadLocalStorage::GetCurrentStage()
 {
-  return mCore->GetResourceClient();
+  return mCore->GetCurrentStage();
 }
 
-ImageFactory& ThreadLocalStorage::GetImageFactory()
+GestureEventProcessor& ThreadLocalStorage::GetGestureEventProcessor()
 {
-  return mCore->GetImageFactory();
+  return mCore->GetGestureEventProcessor();
 }
 
-ShaderFactory& ThreadLocalStorage::GetShaderFactory()
+RelayoutController& ThreadLocalStorage::GetRelayoutController()
 {
-  return mCore->GetShaderFactory();
+  return mCore->GetRelayoutController();
 }
 
-StagePtr ThreadLocalStorage::GetCurrentStage()
+ObjectRegistry& ThreadLocalStorage::GetObjectRegistry()
 {
-  return mCore->GetCurrentStage();
+  return mCore->GetObjectRegistry();
 }
 
-GestureEventProcessor& ThreadLocalStorage::GetGestureEventProcessor()
+EventThreadServices& ThreadLocalStorage::GetEventThreadServices()
 {
-  return mCore->GetGestureEventProcessor();
+  return mCore->GetEventThreadServices();
 }
 
-RelayoutController& ThreadLocalStorage::GetRelayoutController()
+PropertyNotificationManager& ThreadLocalStorage::GetPropertyNotificationManager()
 {
-  return mCore->GetRelayoutController();
+  return mCore->GetPropertyNotificationManager();
+}
+
+AnimationPlaylist& ThreadLocalStorage::GetAnimationPlaylist()
+{
+  return mCore->GetAnimationPlaylist();
+}
+
+void ThreadLocalStorage::AddScene( Scene* scene )
+{
+  mCore->AddScene( scene );
+}
+
+void ThreadLocalStorage::RemoveScene( Scene* scene )
+{
+  mCore->RemoveScene( scene );
 }
 
 } // namespace Internal