Adding new test harness
[platform/core/uifw/dali-toolkit.git] / automated-tests / TET / dali-toolkit-test-utils / toolkit-accessibility-manager.cpp
1 //
2 // Copyright (c) 2014 Samsung Electronics Co., Ltd.
3 //
4 // Licensed under the Flora License, Version 1.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://floralicense.org/license/
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 #include "toolkit-accessibility-manager.h"
18
19 #include <dali/public-api/common/dali-common.h>
20 #include <dali/public-api/object/base-object.h>
21 #include <dali/public-api/signals/dali-signal-v2.h>
22
23 namespace Dali
24 {
25
26 namespace
27 {
28 ToolkitAccessibilityManager* gToolkitAccessibilityManager(NULL);
29 } // unnamed namespace
30
31 namespace Internal
32 {
33
34 namespace Adaptor
35 {
36
37 /**
38  * Stub for the AccessibilityManager
39  */
40 class AccessibilityManager : public BaseObject
41 {
42 public: // Creation & Destruction
43
44   static Dali::AccessibilityManager Get();
45
46   AccessibilityManager();
47   AccessibilityManager(ToolkitAccessibilityManager *accessibilityActionDetector);
48   ~AccessibilityManager();
49
50 public:
51
52   bool IsEnabled() const;
53   void SetActionHandler(Dali::AccessibilityActionHandler& handler);
54   void SetGestureHandler(Dali::AccessibilityGestureHandler& handler);
55
56 public: // Signals
57
58   Dali::AccessibilityManager::AccessibilityActionSignalV2& SignalStatusChanged();
59   Dali::AccessibilityManager::AccessibilityActionSignalV2& SignalActionNext();
60   Dali::AccessibilityManager::AccessibilityActionSignalV2& SignalActionPrevious();
61   Dali::AccessibilityManager::AccessibilityActionSignalV2& SignalActionActivate();
62   Dali::AccessibilityManager::AccessibilityActionSignalV2& SignalActionRead();
63   Dali::AccessibilityManager::AccessibilityActionSignalV2& SignalActionReadNext();
64   Dali::AccessibilityManager::AccessibilityActionSignalV2& SignalActionReadPrevious();
65   Dali::AccessibilityManager::AccessibilityActionSignalV2& SignalActionUp();
66   Dali::AccessibilityManager::AccessibilityActionSignalV2& SignalActionDown();
67   Dali::AccessibilityManager::AccessibilityActionSignalV2& SignalActionClearFocus();
68   Dali::AccessibilityManager::AccessibilityActionSignalV2& SignalActionBack();
69   Dali::AccessibilityManager::AccessibilityActionSignalV2& SignalActionControlPanelOpen();
70
71 private:
72
73   ToolkitAccessibilityManager* mToolkitAccessibilityManager;
74   Dali::AccessibilityManager::AccessibilityActionSignalV2 mStatusChangedSignal;
75   Dali::AccessibilityManager::AccessibilityActionSignalV2 mActionNextSignal;
76   Dali::AccessibilityManager::AccessibilityActionSignalV2 mActionPreviousSignal;
77   Dali::AccessibilityManager::AccessibilityActionSignalV2 mActionActivateSignal;
78   Dali::AccessibilityManager::AccessibilityActionSignalV2 mActionReadSignal;
79   Dali::AccessibilityManager::AccessibilityActionSignalV2 mActionReadNextSignal;
80   Dali::AccessibilityManager::AccessibilityActionSignalV2 mActionReadPreviousSignal;
81   Dali::AccessibilityManager::AccessibilityActionSignalV2 mActionUpSignal;
82   Dali::AccessibilityManager::AccessibilityActionSignalV2 mActionDownSignal;
83   Dali::AccessibilityManager::AccessibilityActionSignalV2 mActionClearFocusSignal;
84   Dali::AccessibilityManager::AccessibilityActionSignalV2 mActionBackSignal;
85   Dali::AccessibilityManager::AccessibilityActionSignalV2 mActionControlPanelOpenSignal;
86
87   bool mIsEnabled;
88   Dali::AccessibilityActionHandler* mActionHandler;
89   Dali::AccessibilityGestureHandler* mGestureHandler;
90
91 };
92
93 Dali::AccessibilityManager AccessibilityManager::Get()
94 {
95   return gToolkitAccessibilityManager->GetAccessibilityManager();
96 }
97
98 AccessibilityManager::AccessibilityManager()
99 : mToolkitAccessibilityManager(NULL),
100   mIsEnabled(false)
101 {
102 }
103
104 AccessibilityManager::AccessibilityManager(ToolkitAccessibilityManager *accessibilityActionDetector)
105 : mToolkitAccessibilityManager(accessibilityActionDetector),
106   mIsEnabled(false)
107 {
108 }
109
110 AccessibilityManager::~AccessibilityManager()
111 {
112 }
113
114 bool AccessibilityManager::IsEnabled() const
115 {
116   return mIsEnabled;
117 }
118
119 void AccessibilityManager::SetActionHandler(Dali::AccessibilityActionHandler& handler)
120 {
121   mActionHandler = &handler;
122 }
123
124 void AccessibilityManager::SetGestureHandler(Dali::AccessibilityGestureHandler& handler)
125 {
126   mGestureHandler = &handler;
127 }
128
129 Dali::AccessibilityManager::AccessibilityActionSignalV2& AccessibilityManager::SignalStatusChanged()
130 {
131   return mStatusChangedSignal;
132 }
133
134 Dali::AccessibilityManager::AccessibilityActionSignalV2& AccessibilityManager::SignalActionNext()
135 {
136   return mActionNextSignal;
137 }
138
139 Dali::AccessibilityManager::AccessibilityActionSignalV2& AccessibilityManager::SignalActionPrevious()
140 {
141   return mActionPreviousSignal;
142 }
143
144 Dali::AccessibilityManager::AccessibilityActionSignalV2& AccessibilityManager::SignalActionActivate()
145 {
146   return mActionActivateSignal;
147 }
148
149 Dali::AccessibilityManager::AccessibilityActionSignalV2& AccessibilityManager::SignalActionRead()
150 {
151   return mActionReadSignal;
152 }
153
154 Dali::AccessibilityManager::AccessibilityActionSignalV2& AccessibilityManager::SignalActionReadNext()
155 {
156   return mActionReadNextSignal;
157 }
158
159 Dali::AccessibilityManager::AccessibilityActionSignalV2& AccessibilityManager::SignalActionReadPrevious()
160 {
161   return mActionReadPreviousSignal;
162 }
163
164 Dali::AccessibilityManager::AccessibilityActionSignalV2& AccessibilityManager::SignalActionUp()
165 {
166   return mActionUpSignal;
167 }
168
169 Dali::AccessibilityManager::AccessibilityActionSignalV2& AccessibilityManager::SignalActionDown()
170 {
171   return mActionDownSignal;
172 }
173
174 Dali::AccessibilityManager::AccessibilityActionSignalV2& AccessibilityManager::SignalActionClearFocus()
175 {
176   return mActionClearFocusSignal;
177 }
178
179 Dali::AccessibilityManager::AccessibilityActionSignalV2& AccessibilityManager::SignalActionBack()
180 {
181   return mActionBackSignal;
182 }
183
184 Dali::AccessibilityManager::AccessibilityActionSignalV2& AccessibilityManager::SignalActionControlPanelOpen()
185 {
186   return mActionControlPanelOpenSignal;
187 }
188
189 } // namespace Adaptor
190
191 } // namespace Internal
192
193 ////////////////////////////////////////////////////////////////////////////////////////////////////
194
195 ToolkitAccessibilityManager::ToolkitAccessibilityManager()
196 : mAccessibilityManagerStub(new Internal::Adaptor::AccessibilityManager(this)),
197   mAccessibilityManager( mAccessibilityManagerStub )
198 {
199   gToolkitAccessibilityManager = this;
200 }
201
202 ToolkitAccessibilityManager::~ToolkitAccessibilityManager()
203 {
204   gToolkitAccessibilityManager = NULL;
205 }
206
207 AccessibilityManager ToolkitAccessibilityManager::GetAccessibilityManager()
208 {
209   return mAccessibilityManager;
210 }
211
212 } // namespace Dali