• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 
UnInitializeContext()47 void AccessibilityConfig::UnInitializeContext()
48 {
49     if (!pImpl_) {
50         HILOG_ERROR("pImpl_ is nullptr");
51         return;
52     }
53     pImpl_->UnInitializeContext();
54 }
55 
SubscribeConfigObserver(const CONFIG_ID id,const std::shared_ptr<AccessibilityConfigObserver> & observer,const bool retFlag)56 Accessibility::RetError AccessibilityConfig::SubscribeConfigObserver(const CONFIG_ID id,
57     const std::shared_ptr<AccessibilityConfigObserver> &observer, const bool retFlag)
58 {
59     CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
60     return pImpl_->SubscribeConfigObserver(id, observer, retFlag);
61 }
62 
UnsubscribeConfigObserver(const CONFIG_ID id,const std::shared_ptr<AccessibilityConfigObserver> & observer)63 Accessibility::RetError AccessibilityConfig::UnsubscribeConfigObserver(const CONFIG_ID id,
64     const std::shared_ptr<AccessibilityConfigObserver> &observer)
65 {
66     CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
67     return pImpl_->UnsubscribeConfigObserver(id, observer);
68 }
69 
SubscribeEnableAbilityListsObserver(const std::shared_ptr<AccessibilityEnableAbilityListsObserver> & observer)70 Accessibility::RetError AccessibilityConfig::SubscribeEnableAbilityListsObserver(
71     const std::shared_ptr<AccessibilityEnableAbilityListsObserver> &observer)
72 {
73     CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
74     return pImpl_->SubscribeEnableAbilityListsObserver(observer);
75 }
76 
UnsubscribeEnableAbilityListsObserver(const std::shared_ptr<AccessibilityEnableAbilityListsObserver> & observer)77 Accessibility::RetError AccessibilityConfig::UnsubscribeEnableAbilityListsObserver(
78     const std::shared_ptr<AccessibilityEnableAbilityListsObserver> &observer)
79 {
80     CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
81     return pImpl_->UnsubscribeEnableAbilityListsObserver(observer);
82 }
83 
EnableAbility(const std::string & name,const uint32_t capabilities)84 Accessibility::RetError AccessibilityConfig::EnableAbility(const std::string &name, const uint32_t capabilities)
85 {
86     CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
87     return pImpl_->EnableAbility(name, capabilities);
88 }
89 
DisableAbility(const std::string & name)90 Accessibility::RetError AccessibilityConfig::DisableAbility(const std::string &name)
91 {
92     CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
93     return pImpl_->DisableAbility(name);
94 }
95 
SetMagnificationState(const bool state)96 Accessibility::RetError AccessibilityConfig::SetMagnificationState(const bool state)
97 {
98     CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
99     return pImpl_->SetMagnificationState(state);
100 }
101 
SetScreenMagnificationState(const bool state)102 Accessibility::RetError AccessibilityConfig::SetScreenMagnificationState(const bool state)
103 {
104     CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
105     return pImpl_->SetScreenMagnificationState(state);
106 }
107 
SetShortKeyState(const bool state)108 Accessibility::RetError AccessibilityConfig::SetShortKeyState(const bool state)
109 {
110     CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
111     return pImpl_->SetShortKeyState(state);
112 }
113 
SetMouseKeyState(const bool state)114 Accessibility::RetError AccessibilityConfig::SetMouseKeyState(const bool state)
115 {
116     CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
117     return pImpl_->SetMouseKeyState(state);
118 }
119 
SetCaptionsState(const bool state)120 Accessibility::RetError AccessibilityConfig::SetCaptionsState(const bool state)
121 {
122     CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
123     return pImpl_->SetCaptionsState(state);
124 }
125 
SetCaptionsProperty(const CaptionProperty & caption)126 Accessibility::RetError AccessibilityConfig::SetCaptionsProperty(const CaptionProperty &caption)
127 {
128     CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
129     return pImpl_->SetCaptionsProperty(caption);
130 }
131 
SetMouseAutoClick(const int32_t time)132 Accessibility::RetError AccessibilityConfig::SetMouseAutoClick(const int32_t time)
133 {
134     CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
135     return pImpl_->SetMouseAutoClick(time);
136 }
137 
SetShortkeyTarget(const std::string & name)138 Accessibility::RetError AccessibilityConfig::SetShortkeyTarget(const std::string &name)
139 {
140     CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
141     return pImpl_->SetShortkeyTarget(name);
142 }
143 
SetShortkeyMultiTarget(const std::vector<std::string> & name)144 Accessibility::RetError AccessibilityConfig::SetShortkeyMultiTarget(const std::vector<std::string> &name)
145 {
146     CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
147     return pImpl_->SetShortkeyMultiTarget(name);
148 }
149 
SetHighContrastTextState(bool state)150 Accessibility::RetError AccessibilityConfig::SetHighContrastTextState(bool state)
151 {
152     CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
153     return pImpl_->SetHighContrastTextState(state);
154 }
155 
SetInvertColorState(const bool state)156 Accessibility::RetError AccessibilityConfig::SetInvertColorState(const bool state)
157 {
158     CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
159     return pImpl_->SetInvertColorState(state);
160 }
161 
SetDaltonizationState(bool state)162 Accessibility::RetError AccessibilityConfig::SetDaltonizationState(bool state)
163 {
164     CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
165     return pImpl_->SetDaltonizationState(state);
166 }
167 
SetDaltonizationColorFilter(const DALTONIZATION_TYPE type)168 Accessibility::RetError AccessibilityConfig::SetDaltonizationColorFilter(const DALTONIZATION_TYPE type)
169 {
170     CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
171     return pImpl_->SetDaltonizationColorFilter(type);
172 }
173 
SetContentTimeout(const uint32_t timer)174 Accessibility::RetError AccessibilityConfig::SetContentTimeout(const uint32_t timer)
175 {
176     CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
177     return pImpl_->SetContentTimeout(timer);
178 }
179 
SetAnimationOffState(const bool state)180 Accessibility::RetError AccessibilityConfig::SetAnimationOffState(const bool state)
181 {
182     CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
183     return pImpl_->SetAnimationOffState(state);
184 }
185 
SetBrightnessDiscount(const float brightness)186 Accessibility::RetError AccessibilityConfig::SetBrightnessDiscount(const float brightness)
187 {
188     CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
189     return pImpl_->SetBrightnessDiscount(brightness);
190 }
191 
SetAudioMonoState(const bool state)192 Accessibility::RetError AccessibilityConfig::SetAudioMonoState(const bool state)
193 {
194     CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
195     return pImpl_->SetAudioMonoState(state);
196 }
197 
SetAudioBalance(const float balance)198 Accessibility::RetError AccessibilityConfig::SetAudioBalance(const float balance)
199 {
200     CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
201     return pImpl_->SetAudioBalance(balance);
202 }
203 
SetClickResponseTime(const CLICK_RESPONSE_TIME time)204 Accessibility::RetError AccessibilityConfig::SetClickResponseTime(const CLICK_RESPONSE_TIME time)
205 {
206     CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
207     return pImpl_->SetClickResponseTime(time);
208 }
209 
SetIgnoreRepeatClickState(const bool state)210 Accessibility::RetError AccessibilityConfig::SetIgnoreRepeatClickState(const bool state)
211 {
212     CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
213     return pImpl_->SetIgnoreRepeatClickState(state);
214 }
215 
SetIgnoreRepeatClickTime(const IGNORE_REPEAT_CLICK_TIME time)216 Accessibility::RetError AccessibilityConfig::SetIgnoreRepeatClickTime(const IGNORE_REPEAT_CLICK_TIME time)
217 {
218     CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
219     return pImpl_->SetIgnoreRepeatClickTime(time);
220 }
221 
GetScreenMagnificationState(bool & state) const222 Accessibility::RetError AccessibilityConfig::GetScreenMagnificationState(bool &state) const
223 {
224     CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
225     return pImpl_->GetScreenMagnificationState(state);
226 }
227 
GetShortKeyState(bool & state) const228 Accessibility::RetError AccessibilityConfig::GetShortKeyState(bool &state) const
229 {
230     CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
231     return pImpl_->GetShortKeyState(state);
232 }
233 
GetMouseKeyState(bool & state) const234 Accessibility::RetError AccessibilityConfig::GetMouseKeyState(bool &state) const
235 {
236     CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
237     return pImpl_->GetMouseKeyState(state);
238 }
239 
GetCaptionsState(bool & state) const240 Accessibility::RetError AccessibilityConfig::GetCaptionsState(bool &state) const
241 {
242     CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
243     return pImpl_->GetCaptionsState(state);
244 }
245 
GetCaptionsProperty(CaptionProperty & caption) const246 Accessibility::RetError AccessibilityConfig::GetCaptionsProperty(CaptionProperty &caption) const
247 {
248     CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
249     return pImpl_->GetCaptionsProperty(caption);
250 }
251 
GetMouseAutoClick(int32_t & time) const252 Accessibility::RetError AccessibilityConfig::GetMouseAutoClick(int32_t &time) const
253 {
254     CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
255     return pImpl_->GetMouseAutoClick(time);
256 }
257 
GetShortkeyTarget(std::string & name) const258 Accessibility::RetError AccessibilityConfig::GetShortkeyTarget(std::string &name) const
259 {
260     CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
261     return pImpl_->GetShortkeyTarget(name);
262 }
263 
GetShortkeyMultiTarget(std::vector<std::string> & name) const264 Accessibility::RetError AccessibilityConfig::GetShortkeyMultiTarget(std::vector<std::string> &name) const
265 {
266     CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
267     return pImpl_->GetShortkeyMultiTarget(name);
268 }
269 
GetInvertColorState(bool & state) const270 Accessibility::RetError AccessibilityConfig::GetInvertColorState(bool &state) const
271 {
272     CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
273     return pImpl_->GetInvertColorState(state);
274 }
275 
GetHighContrastTextState(bool & state) const276 Accessibility::RetError AccessibilityConfig::GetHighContrastTextState(bool &state) const
277 {
278     CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
279     return pImpl_->GetHighContrastTextState(state);
280 }
281 
GetDaltonizationState(bool & state) const282 Accessibility::RetError AccessibilityConfig::GetDaltonizationState(bool &state) const
283 {
284     CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
285     return pImpl_->GetDaltonizationState(state);
286 }
287 
GetDaltonizationColorFilter(DALTONIZATION_TYPE & type) const288 Accessibility::RetError AccessibilityConfig::GetDaltonizationColorFilter(DALTONIZATION_TYPE &type) const
289 {
290     CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
291     return pImpl_->GetDaltonizationColorFilter(type);
292 }
293 
GetContentTimeout(uint32_t & timer) const294 Accessibility::RetError AccessibilityConfig::GetContentTimeout(uint32_t &timer) const
295 {
296     CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
297     return pImpl_->GetContentTimeout(timer);
298 }
299 
GetAnimationOffState(bool & state) const300 Accessibility::RetError AccessibilityConfig::GetAnimationOffState(bool &state) const
301 {
302     CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
303     return pImpl_->GetAnimationOffState(state);
304 }
305 
GetBrightnessDiscount(float & brightness) const306 Accessibility::RetError AccessibilityConfig::GetBrightnessDiscount(float &brightness) const
307 {
308     CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
309     return pImpl_->GetBrightnessDiscount(brightness);
310 }
311 
GetAudioMonoState(bool & state) const312 Accessibility::RetError AccessibilityConfig::GetAudioMonoState(bool &state) const
313 {
314     CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
315     return pImpl_->GetAudioMonoState(state);
316 }
317 
GetAudioBalance(float & balance) const318 Accessibility::RetError AccessibilityConfig::GetAudioBalance(float &balance) const
319 {
320     CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
321     return pImpl_->GetAudioBalance(balance);
322 }
323 
GetClickResponseTime(CLICK_RESPONSE_TIME & time) const324 Accessibility::RetError AccessibilityConfig::GetClickResponseTime(CLICK_RESPONSE_TIME &time) const
325 {
326     CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
327     return pImpl_->GetClickResponseTime(time);
328 }
329 
GetIgnoreRepeatClickState(bool & state) const330 Accessibility::RetError AccessibilityConfig::GetIgnoreRepeatClickState(bool &state) const
331 {
332     CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
333     return pImpl_->GetIgnoreRepeatClickState(state);
334 }
335 
GetIgnoreRepeatClickTime(IGNORE_REPEAT_CLICK_TIME & time) const336 Accessibility::RetError AccessibilityConfig::GetIgnoreRepeatClickTime(IGNORE_REPEAT_CLICK_TIME &time) const
337 {
338     CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
339     return pImpl_->GetIgnoreRepeatClickTime(time);
340 }
341 
SetEnhanceConfig(uint8_t * cfg,uint32_t cfgLen) const342 Accessibility::RetError AccessibilityConfig::SetEnhanceConfig(uint8_t *cfg, uint32_t cfgLen) const
343 {
344     HILOG_INFO();
345     if (cfg == nullptr || cfgLen <= 0) {
346         HILOG_ERROR("SecCompEnhance cfg info is empty");
347         return Accessibility::RET_ERR_INVALID_PARAM;
348     }
349     CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR)
350     return pImpl_->SetEnhanceConfig(cfg, cfgLen);
351 }
352 } // Accessibility
353 } // OHOS