From 80206bead52a707080ef3564c7d1de2165348c59 Mon Sep 17 00:00:00 2001 From: Paul Wisbey Date: Tue, 18 Feb 2020 09:56:36 +0000 Subject: [PATCH] Moved SingletonService into dali-core Change-Id: Ibf16e4228e5ad319b9abedafcd16fe066f191110 --- .../src/dali-toolkit-internal/CMakeLists.txt | 1 - .../src/dali-toolkit-styling/CMakeLists.txt | 1 - automated-tests/src/dali-toolkit/CMakeLists.txt | 1 - .../toolkit-feedback-player.cpp | 2 +- .../toolkit-singleton-service.cpp | 219 --------------------- .../toolkit-singleton-service.h | 30 --- .../toolkit-sound-player.cpp | 2 +- .../toolkit-test-application.cpp | 4 - .../toolkit-text-abstraction.cpp | 2 +- .../focus-manager/keyinput-focus-manager.cpp | 2 +- .../devel-api/visual-factory/visual-factory.cpp | 2 +- .../focus-manager/keyboard-focus-manager-impl.cpp | 2 +- .../internal/styling/style-manager-impl.cpp | 2 +- .../internal/text/multi-language-support-impl.cpp | 2 +- .../text/rendering/atlas/atlas-glyph-manager.cpp | 2 +- .../internal/text/rendering/text-backend-impl.cpp | 2 +- .../vector-based/vector-blob-atlas-share.cpp | 2 +- .../accessibility-manager.cpp | 2 +- 18 files changed, 12 insertions(+), 268 deletions(-) delete mode 100644 automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-singleton-service.cpp delete mode 100644 automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-singleton-service.h diff --git a/automated-tests/src/dali-toolkit-internal/CMakeLists.txt b/automated-tests/src/dali-toolkit-internal/CMakeLists.txt index 9954a74..650bbee 100755 --- a/automated-tests/src/dali-toolkit-internal/CMakeLists.txt +++ b/automated-tests/src/dali-toolkit-internal/CMakeLists.txt @@ -47,7 +47,6 @@ LIST(APPEND TC_SOURCES ../dali-toolkit/dali-toolkit-test-utils/toolkit-orientation.cpp ../dali-toolkit/dali-toolkit-test-utils/toolkit-physical-keyboard.cpp ../dali-toolkit/dali-toolkit-test-utils/toolkit-style-monitor.cpp - ../dali-toolkit/dali-toolkit-test-utils/toolkit-singleton-service.cpp ../dali-toolkit/dali-toolkit-test-utils/toolkit-test-application.cpp ../dali-toolkit/dali-toolkit-test-utils/toolkit-timer.cpp ../dali-toolkit/dali-toolkit-test-utils/toolkit-tts-player.cpp diff --git a/automated-tests/src/dali-toolkit-styling/CMakeLists.txt b/automated-tests/src/dali-toolkit-styling/CMakeLists.txt index 0b08ff4..b4414fe 100644 --- a/automated-tests/src/dali-toolkit-styling/CMakeLists.txt +++ b/automated-tests/src/dali-toolkit-styling/CMakeLists.txt @@ -28,7 +28,6 @@ LIST(APPEND TC_SOURCES ../dali-toolkit/dali-toolkit-test-utils/toolkit-orientation.cpp ../dali-toolkit/dali-toolkit-test-utils/toolkit-physical-keyboard.cpp ../dali-toolkit/dali-toolkit-test-utils/toolkit-style-monitor.cpp - ../dali-toolkit/dali-toolkit-test-utils/toolkit-singleton-service.cpp ../dali-toolkit/dali-toolkit-test-utils/toolkit-sound-player.cpp ../dali-toolkit/dali-toolkit-test-utils/toolkit-test-application.cpp ../dali-toolkit/dali-toolkit-test-utils/toolkit-text-abstraction.cpp diff --git a/automated-tests/src/dali-toolkit/CMakeLists.txt b/automated-tests/src/dali-toolkit/CMakeLists.txt index 7177d8c..76492c3 100755 --- a/automated-tests/src/dali-toolkit/CMakeLists.txt +++ b/automated-tests/src/dali-toolkit/CMakeLists.txt @@ -86,7 +86,6 @@ LIST(APPEND TC_SOURCES dali-toolkit-test-utils/toolkit-orientation.cpp dali-toolkit-test-utils/toolkit-physical-keyboard.cpp dali-toolkit-test-utils/toolkit-style-monitor.cpp - dali-toolkit-test-utils/toolkit-singleton-service.cpp dali-toolkit-test-utils/toolkit-test-application.cpp dali-toolkit-test-utils/toolkit-timer.cpp dali-toolkit-test-utils/toolkit-trigger-event-factory.cpp diff --git a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-feedback-player.cpp b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-feedback-player.cpp index 999249a..9111d8d 100644 --- a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-feedback-player.cpp +++ b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-feedback-player.cpp @@ -15,7 +15,7 @@ */ #include -#include +#include #include using namespace Dali; diff --git a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-singleton-service.cpp b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-singleton-service.cpp deleted file mode 100644 index 7ba5ca4..0000000 --- a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-singleton-service.cpp +++ /dev/null @@ -1,219 +0,0 @@ -/* - * 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. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - -#include - -#include -#include -#include -#include -#include - -namespace Dali -{ - - -namespace Internal -{ -namespace Adaptor -{ - -namespace -{ -Dali::IntrusivePtr gSingletonService; -} // unnamed namespace - - -class SingletonService : public Dali::BaseObject -{ -public: - - /** - * Create a SingletonService. - * This should only be called once by the Application class. - * @return A newly created SingletonService. - */ - static Dali::SingletonService New() - { - DALI_ASSERT_ALWAYS( 0 && "SingletonService New method used"); - gSingletonService = Dali::IntrusivePtr( new SingletonService() ); - return Dali::SingletonService( gSingletonService.Get() ); - } - - /** - * @copydoc Dali::SingletonService::Get() - */ - static Dali::SingletonService Get() - { - Dali::SingletonService singletonService; - if ( !gSingletonService ) - { - gSingletonService = Dali::IntrusivePtr( new SingletonService() ); - } - return Dali::SingletonService( gSingletonService.Get() ); - } - - /** - * @copydoc Dali::SingletonService::Register() - */ - void Register( const std::type_info& info, BaseHandle singleton ) - { - if( singleton ) - { - mSingletonContainer.insert( SingletonPair( info.name(), singleton ) ); - - Integration::Processor* processor = dynamic_cast( &singleton.GetBaseObject() ); - if( processor ) - { - Integration::Core& core = mTestApplication->GetCore(); - core.RegisterProcessor( *processor ); - } - } - } - - /** - * @copydoc Dali::SingletonService::UnregisterAll() - */ - void UnregisterAll() - { - mSingletonContainer.clear(); - } - - /** - * @copydoc Dali::SingletonService::GetSingleton() - */ - BaseHandle GetSingleton( const std::type_info& info ) const - { - BaseHandle object; - - SingletonConstIter iter = mSingletonContainer.find(info.name()); - if( iter != mSingletonContainer.end() ) - { - object = ( *iter ).second; - } - return object; - } - - void SetApplication( Dali::TestApplication& testApplication ) - { - mTestApplication = &testApplication; - } - -private: - - /** - * Private Constructor - * @see SingletonService::New() - */ - SingletonService() - : mSingletonContainer() - { - // Can only have one instance of SingletonService - DALI_ASSERT_ALWAYS( !gSingletonService && "Only one instance of SingletonService is allowed"); - gSingletonService = this; - } - - /** - * Virtual Destructor - */ - virtual ~SingletonService() - { - gSingletonService = 0; - } - - // Undefined - SingletonService( const SingletonService& ); - SingletonService& operator=( SingletonService& ); - -private: - typedef std::pair SingletonPair; - typedef std::map SingletonContainer; - typedef SingletonContainer::const_iterator SingletonConstIter; - - SingletonContainer mSingletonContainer; ///< The container to look up singleton by its type name - TestApplication* mTestApplication; -}; - -} // namespace Adaptor -} // namespace Internal - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -inline Internal::Adaptor::SingletonService& GetImplementation(Dali::SingletonService& player) -{ - DALI_ASSERT_ALWAYS( player && "SingletonService handle is empty" ); - BaseObject& handle = player.GetBaseObject(); - return static_cast(handle); -} - -inline const Internal::Adaptor::SingletonService& GetImplementation(const Dali::SingletonService& player) -{ - DALI_ASSERT_ALWAYS( player && "SingletonService handle is empty" ); - const BaseObject& handle = player.GetBaseObject(); - return static_cast(handle); -} - -SingletonService::SingletonService() -{ -} - -SingletonService SingletonService::New() -{ - return Internal::Adaptor::SingletonService::New(); -} - -SingletonService SingletonService::Get() -{ - return Internal::Adaptor::SingletonService::Get(); -} - -SingletonService::~SingletonService() -{ -} - -void SingletonService::Register( const std::type_info& info, BaseHandle singleton ) -{ - GetImplementation( *this ).Register( info, singleton ); -} - -void SingletonService::UnregisterAll() -{ - GetImplementation( *this ).UnregisterAll(); -} - -BaseHandle SingletonService::GetSingleton( const std::type_info& info ) const -{ - return GetImplementation( *this ).GetSingleton( info ); -} - -SingletonService::SingletonService( Internal::Adaptor::SingletonService* singletonService ) -: BaseHandle( singletonService ) -{ -} - -} // namespace Dali - - -namespace Test -{ - -void SetApplication( Dali::SingletonService singletonService, TestApplication& testApplication ) -{ - GetImplementation( singletonService ).SetApplication( testApplication ); -} - -} // Test diff --git a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-singleton-service.h b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-singleton-service.h deleted file mode 100644 index 7f57f55..0000000 --- a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-singleton-service.h +++ /dev/null @@ -1,30 +0,0 @@ -#ifndef DALI_TOOLKIT_TEST_SINGLETON_SERVICE_H -#define DALI_TOOLKIT_TEST_SINGLETON_SERVICE_H - -/* - * Copyright (c) 2018 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. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include -#include "test-application.h" - -namespace Test -{ - -void SetApplication( Dali::SingletonService singletonService, TestApplication& testApplication ); - -} // Test - -#endif //DALI_TOOLKIT_TEST_SINGLETON_SERVICE_H diff --git a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-sound-player.cpp b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-sound-player.cpp index 8eefcfa..167f6d8 100644 --- a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-sound-player.cpp +++ b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-sound-player.cpp @@ -15,7 +15,7 @@ */ #include -#include +#include #include using namespace Dali; diff --git a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-test-application.cpp b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-test-application.cpp index fdcd24d..07c6ad8 100644 --- a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-test-application.cpp +++ b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-test-application.cpp @@ -23,7 +23,6 @@ #include #include #include -#include #include namespace Dali @@ -49,9 +48,6 @@ ToolkitTestApplication::ToolkitTestApplication( size_t surfaceWidth, size_t surf // Core needs to be initialized next before we start the adaptor InitializeCore(); - auto singletonService = SingletonService::Get(); - Test::SetApplication( singletonService, *this ); - // This will also emit the window created signals AdaptorImpl::GetImpl( *mAdaptor ).Start( *mMainWindow ); diff --git a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-text-abstraction.cpp b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-text-abstraction.cpp index 5b478ba..cae7871 100755 --- a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-text-abstraction.cpp +++ b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-text-abstraction.cpp @@ -22,7 +22,7 @@ #include #include #include -#include +#include #include using namespace Dali; diff --git a/dali-toolkit/devel-api/focus-manager/keyinput-focus-manager.cpp b/dali-toolkit/devel-api/focus-manager/keyinput-focus-manager.cpp index 8f11b45..a951045 100644 --- a/dali-toolkit/devel-api/focus-manager/keyinput-focus-manager.cpp +++ b/dali-toolkit/devel-api/focus-manager/keyinput-focus-manager.cpp @@ -19,7 +19,7 @@ #include "keyinput-focus-manager.h" // EXTERNAL INCLUDES -#include +#include // INTERNAL INCLUDES #include diff --git a/dali-toolkit/devel-api/visual-factory/visual-factory.cpp b/dali-toolkit/devel-api/visual-factory/visual-factory.cpp index 666a2a1..b24adbb 100644 --- a/dali-toolkit/devel-api/visual-factory/visual-factory.cpp +++ b/dali-toolkit/devel-api/visual-factory/visual-factory.cpp @@ -19,7 +19,7 @@ #include "visual-factory.h" // EXTERNAL INCLUDES -#include +#include #include // INTERNAL INCLUDES diff --git a/dali-toolkit/internal/focus-manager/keyboard-focus-manager-impl.cpp b/dali-toolkit/internal/focus-manager/keyboard-focus-manager-impl.cpp index 4bc1cc5..c0fffa0 100644 --- a/dali-toolkit/internal/focus-manager/keyboard-focus-manager-impl.cpp +++ b/dali-toolkit/internal/focus-manager/keyboard-focus-manager-impl.cpp @@ -22,7 +22,7 @@ #include // for strcmp #include #include -#include +#include #include #include #include diff --git a/dali-toolkit/internal/styling/style-manager-impl.cpp b/dali-toolkit/internal/styling/style-manager-impl.cpp index 106ec54..066d812 100644 --- a/dali-toolkit/internal/styling/style-manager-impl.cpp +++ b/dali-toolkit/internal/styling/style-manager-impl.cpp @@ -18,7 +18,7 @@ #include "style-manager-impl.h" // EXTERNAL INCLUDES -#include +#include #include #include #include diff --git a/dali-toolkit/internal/text/multi-language-support-impl.cpp b/dali-toolkit/internal/text/multi-language-support-impl.cpp index a8834b9..99a969c 100755 --- a/dali-toolkit/internal/text/multi-language-support-impl.cpp +++ b/dali-toolkit/internal/text/multi-language-support-impl.cpp @@ -20,7 +20,7 @@ // EXTERNAL INCLUDES #include -#include +#include #include // INTERNAL INCLUDES diff --git a/dali-toolkit/internal/text/rendering/atlas/atlas-glyph-manager.cpp b/dali-toolkit/internal/text/rendering/atlas/atlas-glyph-manager.cpp index 357f431..4ce469e 100644 --- a/dali-toolkit/internal/text/rendering/atlas/atlas-glyph-manager.cpp +++ b/dali-toolkit/internal/text/rendering/atlas/atlas-glyph-manager.cpp @@ -19,7 +19,7 @@ #include // EXTERNAL INCLUDES -#include +#include // INTERNAL INCLUDES #include diff --git a/dali-toolkit/internal/text/rendering/text-backend-impl.cpp b/dali-toolkit/internal/text/rendering/text-backend-impl.cpp index 5ae10c8..10eb270 100644 --- a/dali-toolkit/internal/text/rendering/text-backend-impl.cpp +++ b/dali-toolkit/internal/text/rendering/text-backend-impl.cpp @@ -20,7 +20,7 @@ // EXTERNAL INCLUDES #include -#include +#include // INTERNAL INCLUDES #include diff --git a/dali-toolkit/internal/text/rendering/vector-based/vector-blob-atlas-share.cpp b/dali-toolkit/internal/text/rendering/vector-based/vector-blob-atlas-share.cpp index 81a2817..98c94a8 100644 --- a/dali-toolkit/internal/text/rendering/vector-based/vector-blob-atlas-share.cpp +++ b/dali-toolkit/internal/text/rendering/vector-based/vector-blob-atlas-share.cpp @@ -20,7 +20,7 @@ // EXTERNAL INCLUDES #include -#include +#include namespace { diff --git a/dali-toolkit/public-api/accessibility-manager/accessibility-manager.cpp b/dali-toolkit/public-api/accessibility-manager/accessibility-manager.cpp index e0d7b9a..a683838 100644 --- a/dali-toolkit/public-api/accessibility-manager/accessibility-manager.cpp +++ b/dali-toolkit/public-api/accessibility-manager/accessibility-manager.cpp @@ -20,7 +20,7 @@ // EXTERNAL INCLUDES #include -#include +#include // INTERNAL INCLUDES #include -- 2.7.4