Include required header files directly rather than through dali.h
[platform/core/uifw/dali-toolkit.git] / base / dali-toolkit / public-api / focus-manager / focus-manager.cpp
index f8e2060..bd3bbec 100644 (file)
  */
 
 // CLASS HEADER
-
 #include <dali-toolkit/public-api/focus-manager/focus-manager.h>
 
 // EXTERNAL INCLUDES
+#include <dali/public-api/adaptor-framework/singleton-service.h>
 
 // INTERNAL INCLUDES
-
 #include <dali-toolkit/internal/focus-manager/focus-manager-impl.h>
 
 namespace Dali
@@ -48,19 +47,22 @@ FocusManager FocusManager::Get()
   FocusManager manager;
 
   // Check whether the focus manager is already created
-  Dali::Adaptor& adaptor = Dali::Adaptor::Get();
-  Dali::BaseHandle handle = adaptor.GetSingleton(typeid(FocusManager));
-  if(handle)
-  {
-    // If so, downcast the handle of singleton to focus manager
-    manager = FocusManager(dynamic_cast<Internal::FocusManager*>(handle.GetObjectPtr()));
-  }
-
-  if(!manager)
+  SingletonService singletonService( SingletonService::Get() );
+  if ( singletonService )
   {
-    // If not, create the focus manager and register it as a singleton
-    manager = FocusManager(new Internal::FocusManager());
-    adaptor.RegisterSingleton(typeid(manager), manager);
+    Dali::BaseHandle handle = singletonService.GetSingleton(typeid(FocusManager));
+    if(handle)
+    {
+      // If so, downcast the handle of singleton to focus manager
+      manager = FocusManager(dynamic_cast<Internal::FocusManager*>(handle.GetObjectPtr()));
+    }
+
+    if(!manager)
+    {
+      // If not, create the focus manager and register it as a singleton
+      manager = FocusManager(new Internal::FocusManager());
+      singletonService.Register(typeid(manager), manager);
+    }
   }
 
   return manager;