[dali_2.3.21] Merge branch 'devel/master'
[platform/core/uifw/dali-toolkit.git] / automated-tests / src / dali-toolkit / dali-toolkit-test-utils / toolkit-lifecycle-controller.cpp
1 /*
2  * Copyright (c) 2023 Samsung Electronics Co., Ltd.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  *
16  */
17
18 #include "toolkit-lifecycle-controller.h"
19
20 #include <dali-toolkit/public-api/dali-toolkit-common.h>
21 #include <dali/public-api/object/base-object.h>
22 #include <dali/public-api/signals/dali-signal.h>
23
24 namespace Dali
25 {
26 /********************************************************************************
27  * Stub for Dali::Internal::Adaptor::LifecycleController
28  ********************************************************************************/
29 namespace Internal
30 {
31 namespace Adaptor
32 {
33 class LifecycleController : public BaseObject
34 {
35 public: // Creation & Destruction
36   LifecycleController();
37   ~LifecycleController();
38   static Dali::LifecycleController Get();
39
40 public: // Signals
41   Dali::LifecycleController::LifecycleSignalType& InitSignal();
42   Dali::LifecycleController::LifecycleSignalType& TerminateSignal();
43
44 private:
45   Dali::LifecycleController::LifecycleSignalType mInitSignal;
46   Dali::LifecycleController::LifecycleSignalType mTerminateSignal;
47   static Dali::LifecycleController               mLifecycleController;
48 };
49
50 Dali::LifecycleController LifecycleController::mLifecycleController;
51
52 LifecycleController::LifecycleController()
53 {
54 }
55
56 LifecycleController::~LifecycleController()
57 {
58 }
59
60 Dali::LifecycleController LifecycleController::Get()
61 {
62   if(!mLifecycleController)
63   {
64     mLifecycleController = Dali::LifecycleController(new Internal::Adaptor::LifecycleController());
65   }
66   return mLifecycleController;
67 }
68
69 Dali::LifecycleController::LifecycleSignalType& LifecycleController::InitSignal()
70 {
71   return mInitSignal;
72 }
73
74 Dali::LifecycleController::LifecycleSignalType& LifecycleController::TerminateSignal()
75 {
76   return mTerminateSignal;
77 }
78
79 } // namespace Adaptor
80 } // namespace Internal
81
82 /********************************************************************************
83  * Stub for Dali::LifecycleController
84  ********************************************************************************/
85
86 LifecycleController::LifecycleController()
87 {
88 }
89 LifecycleController::~LifecycleController()
90 {
91 }
92
93 LifecycleController LifecycleController::Get()
94 {
95   // Get the physical keyboard handle
96   LifecycleController handle = Internal::Adaptor::LifecycleController::Get();
97   return handle;
98 }
99
100 LifecycleController::LifecycleSignalType& LifecycleController::InitSignal()
101 {
102   BaseObject&                             object     = GetBaseObject();
103   Internal::Adaptor::LifecycleController& controller = static_cast<Internal::Adaptor::LifecycleController&>(object);
104   return controller.InitSignal();
105 }
106
107 LifecycleController::LifecycleSignalType& LifecycleController::TerminateSignal()
108 {
109   BaseObject&                             object     = GetBaseObject();
110   Internal::Adaptor::LifecycleController& controller = static_cast<Internal::Adaptor::LifecycleController&>(object);
111   return controller.TerminateSignal();
112 }
113
114 LifecycleController::LifecycleController(Internal::Adaptor::LifecycleController* impl)
115 : BaseHandle(impl)
116 {
117 }
118
119 } // namespace Dali