1 /*
2 * Copyright (C) 2022 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 * http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16 #include "accessibility_config.h"
17 #include "accessibility_config_impl.h"
18 #include "hilog_wrapper.h"
19
20 namespace OHOS {
21 namespace AccessibilityConfig {
22 #define CHECK_IMPL_PTR(ret_expr) \
23 if (!pImpl_) { \
24 HILOG_ERROR("pImpl_ is nullptr"); \
25 return ret_expr; \
26 }
27
ACCESSIBILITY_DEFINE_SINGLETON(AccessibilityConfig)28 ACCESSIBILITY_DEFINE_SINGLETON(AccessibilityConfig)
29
30 AccessibilityConfig::AccessibilityConfig() : pImpl_(std::make_unique<Impl>())
31 {
32 if (!pImpl_) {
33 HILOG_ERROR("Create AccessibilityConfigImpl Failed");
34 }
35 }
36
~AccessibilityConfig()37 AccessibilityConfig::~AccessibilityConfig()
38 {
39 }
40
InitializeContext()41 bool AccessibilityConfig::InitializeContext()
42 {
43 CHECK_IMPL_PTR(false)
44 return pImpl_->InitializeContext();
45 }
46
SubscribeConfigObserver(const CONFIG_ID id,const std::shared_ptr<AccessibilityConfigObserver> & observer,const bool retFlag)47 Accessibility::RetError AccessibilityConfig::SubscribeConfigObserver(const CONFIG_ID id,
48 const std::shared_ptr<AccessibilityConfigObserver> &observer, const bool retFlag)
49 {
50 CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
51 return pImpl_->SubscribeConfigObserver(id, observer, retFlag);
52 }
53
UnsubscribeConfigObserver(const CONFIG_ID id,const std::shared_ptr<AccessibilityConfigObserver> & observer)54 Accessibility::RetError AccessibilityConfig::UnsubscribeConfigObserver(const CONFIG_ID id,
55 const std::shared_ptr<AccessibilityConfigObserver> &observer)
56 {
57 CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
58 return pImpl_->UnsubscribeConfigObserver(id, observer);
59 }
60
SubscribeEnableAbilityListsObserver(const std::shared_ptr<AccessibilityEnableAbilityListsObserver> & observer)61 Accessibility::RetError AccessibilityConfig::SubscribeEnableAbilityListsObserver(
62 const std::shared_ptr<AccessibilityEnableAbilityListsObserver> &observer)
63 {
64 CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
65 return pImpl_->SubscribeEnableAbilityListsObserver(observer);
66 }
67
UnsubscribeEnableAbilityListsObserver(const std::shared_ptr<AccessibilityEnableAbilityListsObserver> & observer)68 Accessibility::RetError AccessibilityConfig::UnsubscribeEnableAbilityListsObserver(
69 const std::shared_ptr<AccessibilityEnableAbilityListsObserver> &observer)
70 {
71 CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
72 return pImpl_->UnsubscribeEnableAbilityListsObserver(observer);
73 }
74
EnableAbility(const std::string & name,const uint32_t capabilities)75 Accessibility::RetError AccessibilityConfig::EnableAbility(const std::string &name, const uint32_t capabilities)
76 {
77 CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
78 return pImpl_->EnableAbility(name, capabilities);
79 }
80
DisableAbility(const std::string & name)81 Accessibility::RetError AccessibilityConfig::DisableAbility(const std::string &name)
82 {
83 CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
84 return pImpl_->DisableAbility(name);
85 }
86
SetScreenMagnificationState(const bool state)87 Accessibility::RetError AccessibilityConfig::SetScreenMagnificationState(const bool state)
88 {
89 CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
90 return pImpl_->SetScreenMagnificationState(state);
91 }
92
SetShortKeyState(const bool state)93 Accessibility::RetError AccessibilityConfig::SetShortKeyState(const bool state)
94 {
95 CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
96 return pImpl_->SetShortKeyState(state);
97 }
98
SetMouseKeyState(const bool state)99 Accessibility::RetError AccessibilityConfig::SetMouseKeyState(const bool state)
100 {
101 CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
102 return pImpl_->SetMouseKeyState(state);
103 }
104
SetCaptionsState(const bool state)105 Accessibility::RetError AccessibilityConfig::SetCaptionsState(const bool state)
106 {
107 CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
108 return pImpl_->SetCaptionsState(state);
109 }
110
SetCaptionsProperty(const CaptionProperty & caption)111 Accessibility::RetError AccessibilityConfig::SetCaptionsProperty(const CaptionProperty &caption)
112 {
113 CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
114 return pImpl_->SetCaptionsProperty(caption);
115 }
116
SetMouseAutoClick(const int32_t time)117 Accessibility::RetError AccessibilityConfig::SetMouseAutoClick(const int32_t time)
118 {
119 CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
120 return pImpl_->SetMouseAutoClick(time);
121 }
122
SetShortkeyTarget(const std::string & name)123 Accessibility::RetError AccessibilityConfig::SetShortkeyTarget(const std::string &name)
124 {
125 CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
126 return pImpl_->SetShortkeyTarget(name);
127 }
128
SetShortkeyMultiTarget(const std::vector<std::string> & name)129 Accessibility::RetError AccessibilityConfig::SetShortkeyMultiTarget(const std::vector<std::string> &name)
130 {
131 CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
132 return pImpl_->SetShortkeyMultiTarget(name);
133 }
134
SetHighContrastTextState(bool state)135 Accessibility::RetError AccessibilityConfig::SetHighContrastTextState(bool state)
136 {
137 CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
138 return pImpl_->SetHighContrastTextState(state);
139 }
140
SetInvertColorState(const bool state)141 Accessibility::RetError AccessibilityConfig::SetInvertColorState(const bool state)
142 {
143 CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
144 return pImpl_->SetInvertColorState(state);
145 }
146
SetDaltonizationState(bool state)147 Accessibility::RetError AccessibilityConfig::SetDaltonizationState(bool state)
148 {
149 CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
150 return pImpl_->SetDaltonizationState(state);
151 }
152
SetDaltonizationColorFilter(const DALTONIZATION_TYPE type)153 Accessibility::RetError AccessibilityConfig::SetDaltonizationColorFilter(const DALTONIZATION_TYPE type)
154 {
155 CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
156 return pImpl_->SetDaltonizationColorFilter(type);
157 }
158
SetContentTimeout(const uint32_t timer)159 Accessibility::RetError AccessibilityConfig::SetContentTimeout(const uint32_t timer)
160 {
161 CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
162 return pImpl_->SetContentTimeout(timer);
163 }
164
SetAnimationOffState(const bool state)165 Accessibility::RetError AccessibilityConfig::SetAnimationOffState(const bool state)
166 {
167 CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
168 return pImpl_->SetAnimationOffState(state);
169 }
170
SetBrightnessDiscount(const float brightness)171 Accessibility::RetError AccessibilityConfig::SetBrightnessDiscount(const float brightness)
172 {
173 CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
174 return pImpl_->SetBrightnessDiscount(brightness);
175 }
176
SetAudioMonoState(const bool state)177 Accessibility::RetError AccessibilityConfig::SetAudioMonoState(const bool state)
178 {
179 CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
180 return pImpl_->SetAudioMonoState(state);
181 }
182
SetAudioBalance(const float balance)183 Accessibility::RetError AccessibilityConfig::SetAudioBalance(const float balance)
184 {
185 CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
186 return pImpl_->SetAudioBalance(balance);
187 }
188
SetClickResponseTime(const CLICK_RESPONSE_TIME time)189 Accessibility::RetError AccessibilityConfig::SetClickResponseTime(const CLICK_RESPONSE_TIME time)
190 {
191 CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
192 return pImpl_->SetClickResponseTime(time);
193 }
194
SetIgnoreRepeatClickState(const bool state)195 Accessibility::RetError AccessibilityConfig::SetIgnoreRepeatClickState(const bool state)
196 {
197 CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
198 return pImpl_->SetIgnoreRepeatClickState(state);
199 }
200
SetIgnoreRepeatClickTime(const IGNORE_REPEAT_CLICK_TIME time)201 Accessibility::RetError AccessibilityConfig::SetIgnoreRepeatClickTime(const IGNORE_REPEAT_CLICK_TIME time)
202 {
203 CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
204 return pImpl_->SetIgnoreRepeatClickTime(time);
205 }
206
GetScreenMagnificationState(bool & state) const207 Accessibility::RetError AccessibilityConfig::GetScreenMagnificationState(bool &state) const
208 {
209 CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
210 return pImpl_->GetScreenMagnificationState(state);
211 }
212
GetShortKeyState(bool & state) const213 Accessibility::RetError AccessibilityConfig::GetShortKeyState(bool &state) const
214 {
215 CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
216 return pImpl_->GetShortKeyState(state);
217 }
218
GetMouseKeyState(bool & state) const219 Accessibility::RetError AccessibilityConfig::GetMouseKeyState(bool &state) const
220 {
221 CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
222 return pImpl_->GetMouseKeyState(state);
223 }
224
GetCaptionsState(bool & state) const225 Accessibility::RetError AccessibilityConfig::GetCaptionsState(bool &state) const
226 {
227 CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
228 return pImpl_->GetCaptionsState(state);
229 }
230
GetCaptionsProperty(CaptionProperty & caption) const231 Accessibility::RetError AccessibilityConfig::GetCaptionsProperty(CaptionProperty &caption) const
232 {
233 CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
234 return pImpl_->GetCaptionsProperty(caption);
235 }
236
GetMouseAutoClick(int32_t & time) const237 Accessibility::RetError AccessibilityConfig::GetMouseAutoClick(int32_t &time) const
238 {
239 CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
240 return pImpl_->GetMouseAutoClick(time);
241 }
242
GetShortkeyTarget(std::string & name) const243 Accessibility::RetError AccessibilityConfig::GetShortkeyTarget(std::string &name) const
244 {
245 CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
246 return pImpl_->GetShortkeyTarget(name);
247 }
248
GetShortkeyMultiTarget(std::vector<std::string> & name) const249 Accessibility::RetError AccessibilityConfig::GetShortkeyMultiTarget(std::vector<std::string> &name) const
250 {
251 CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
252 return pImpl_->GetShortkeyMultiTarget(name);
253 }
254
GetInvertColorState(bool & state) const255 Accessibility::RetError AccessibilityConfig::GetInvertColorState(bool &state) const
256 {
257 CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
258 return pImpl_->GetInvertColorState(state);
259 }
260
GetHighContrastTextState(bool & state) const261 Accessibility::RetError AccessibilityConfig::GetHighContrastTextState(bool &state) const
262 {
263 CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
264 return pImpl_->GetHighContrastTextState(state);
265 }
266
GetDaltonizationState(bool & state) const267 Accessibility::RetError AccessibilityConfig::GetDaltonizationState(bool &state) const
268 {
269 CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
270 return pImpl_->GetDaltonizationState(state);
271 }
272
GetDaltonizationColorFilter(DALTONIZATION_TYPE & type) const273 Accessibility::RetError AccessibilityConfig::GetDaltonizationColorFilter(DALTONIZATION_TYPE &type) const
274 {
275 CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
276 return pImpl_->GetDaltonizationColorFilter(type);
277 }
278
GetContentTimeout(uint32_t & timer) const279 Accessibility::RetError AccessibilityConfig::GetContentTimeout(uint32_t &timer) const
280 {
281 CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
282 return pImpl_->GetContentTimeout(timer);
283 }
284
GetAnimationOffState(bool & state) const285 Accessibility::RetError AccessibilityConfig::GetAnimationOffState(bool &state) const
286 {
287 CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
288 return pImpl_->GetAnimationOffState(state);
289 }
290
GetBrightnessDiscount(float & brightness) const291 Accessibility::RetError AccessibilityConfig::GetBrightnessDiscount(float &brightness) const
292 {
293 CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
294 return pImpl_->GetBrightnessDiscount(brightness);
295 }
296
GetAudioMonoState(bool & state) const297 Accessibility::RetError AccessibilityConfig::GetAudioMonoState(bool &state) const
298 {
299 CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
300 return pImpl_->GetAudioMonoState(state);
301 }
302
GetAudioBalance(float & balance) const303 Accessibility::RetError AccessibilityConfig::GetAudioBalance(float &balance) const
304 {
305 CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
306 return pImpl_->GetAudioBalance(balance);
307 }
308
GetClickResponseTime(CLICK_RESPONSE_TIME & time) const309 Accessibility::RetError AccessibilityConfig::GetClickResponseTime(CLICK_RESPONSE_TIME &time) const
310 {
311 CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
312 return pImpl_->GetClickResponseTime(time);
313 }
314
GetIgnoreRepeatClickState(bool & state) const315 Accessibility::RetError AccessibilityConfig::GetIgnoreRepeatClickState(bool &state) const
316 {
317 CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
318 return pImpl_->GetIgnoreRepeatClickState(state);
319 }
320
GetIgnoreRepeatClickTime(IGNORE_REPEAT_CLICK_TIME & time) const321 Accessibility::RetError AccessibilityConfig::GetIgnoreRepeatClickTime(IGNORE_REPEAT_CLICK_TIME &time) const
322 {
323 CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
324 return pImpl_->GetIgnoreRepeatClickTime(time);
325 }
326 } // Accessibility
327 } // OHOS