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 20namespace OHOS { 21namespace AccessibilityConfig { 22#define CHECK_IMPL_PTR(ret_expr) \ 23 if (!pImpl_) { \ 24 HILOG_ERROR("pImpl_ is nullptr"); \ 25 return ret_expr; \ 26 } 27 28ACCESSIBILITY_DEFINE_SINGLETON(AccessibilityConfig) 29 30AccessibilityConfig::AccessibilityConfig() : pImpl_(std::make_unique<Impl>()) 31{ 32 if (!pImpl_) { 33 HILOG_ERROR("Create AccessibilityConfigImpl Failed"); 34 } 35} 36 37AccessibilityConfig::~AccessibilityConfig() 38{ 39} 40 41bool AccessibilityConfig::InitializeContext() 42{ 43 CHECK_IMPL_PTR(false) 44 return pImpl_->InitializeContext(); 45} 46 47Accessibility::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 54Accessibility::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 61Accessibility::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 68Accessibility::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 75Accessibility::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 81Accessibility::RetError AccessibilityConfig::DisableAbility(const std::string &name) 82{ 83 CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR) 84 return pImpl_->DisableAbility(name); 85} 86 87Accessibility::RetError AccessibilityConfig::SetScreenMagnificationState(const bool state) 88{ 89 CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR) 90 return pImpl_->SetScreenMagnificationState(state); 91} 92 93Accessibility::RetError AccessibilityConfig::SetShortKeyState(const bool state) 94{ 95 CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR) 96 return pImpl_->SetShortKeyState(state); 97} 98 99Accessibility::RetError AccessibilityConfig::SetMouseKeyState(const bool state) 100{ 101 CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR) 102 return pImpl_->SetMouseKeyState(state); 103} 104 105Accessibility::RetError AccessibilityConfig::SetCaptionsState(const bool state) 106{ 107 CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR) 108 return pImpl_->SetCaptionsState(state); 109} 110 111Accessibility::RetError AccessibilityConfig::SetCaptionsProperty(const CaptionProperty &caption) 112{ 113 CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR) 114 return pImpl_->SetCaptionsProperty(caption); 115} 116 117Accessibility::RetError AccessibilityConfig::SetMouseAutoClick(const int32_t time) 118{ 119 CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR) 120 return pImpl_->SetMouseAutoClick(time); 121} 122 123Accessibility::RetError AccessibilityConfig::SetShortkeyTarget(const std::string &name) 124{ 125 CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR) 126 return pImpl_->SetShortkeyTarget(name); 127} 128 129Accessibility::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 135Accessibility::RetError AccessibilityConfig::SetHighContrastTextState(bool state) 136{ 137 CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR) 138 return pImpl_->SetHighContrastTextState(state); 139} 140 141Accessibility::RetError AccessibilityConfig::SetInvertColorState(const bool state) 142{ 143 CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR) 144 return pImpl_->SetInvertColorState(state); 145} 146 147Accessibility::RetError AccessibilityConfig::SetDaltonizationState(bool state) 148{ 149 CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR) 150 return pImpl_->SetDaltonizationState(state); 151} 152 153Accessibility::RetError AccessibilityConfig::SetDaltonizationColorFilter(const DALTONIZATION_TYPE type) 154{ 155 CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR) 156 return pImpl_->SetDaltonizationColorFilter(type); 157} 158 159Accessibility::RetError AccessibilityConfig::SetContentTimeout(const uint32_t timer) 160{ 161 CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR) 162 return pImpl_->SetContentTimeout(timer); 163} 164 165Accessibility::RetError AccessibilityConfig::SetAnimationOffState(const bool state) 166{ 167 CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR) 168 return pImpl_->SetAnimationOffState(state); 169} 170 171Accessibility::RetError AccessibilityConfig::SetBrightnessDiscount(const float brightness) 172{ 173 CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR) 174 return pImpl_->SetBrightnessDiscount(brightness); 175} 176 177Accessibility::RetError AccessibilityConfig::SetAudioMonoState(const bool state) 178{ 179 CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR) 180 return pImpl_->SetAudioMonoState(state); 181} 182 183Accessibility::RetError AccessibilityConfig::SetAudioBalance(const float balance) 184{ 185 CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR) 186 return pImpl_->SetAudioBalance(balance); 187} 188 189Accessibility::RetError AccessibilityConfig::SetClickResponseTime(const CLICK_RESPONSE_TIME time) 190{ 191 CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR) 192 return pImpl_->SetClickResponseTime(time); 193} 194 195Accessibility::RetError AccessibilityConfig::SetIgnoreRepeatClickState(const bool state) 196{ 197 CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR) 198 return pImpl_->SetIgnoreRepeatClickState(state); 199} 200 201Accessibility::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 207Accessibility::RetError AccessibilityConfig::GetScreenMagnificationState(bool &state) const 208{ 209 CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR) 210 return pImpl_->GetScreenMagnificationState(state); 211} 212 213Accessibility::RetError AccessibilityConfig::GetShortKeyState(bool &state) const 214{ 215 CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR) 216 return pImpl_->GetShortKeyState(state); 217} 218 219Accessibility::RetError AccessibilityConfig::GetMouseKeyState(bool &state) const 220{ 221 CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR) 222 return pImpl_->GetMouseKeyState(state); 223} 224 225Accessibility::RetError AccessibilityConfig::GetCaptionsState(bool &state) const 226{ 227 CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR) 228 return pImpl_->GetCaptionsState(state); 229} 230 231Accessibility::RetError AccessibilityConfig::GetCaptionsProperty(CaptionProperty &caption) const 232{ 233 CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR) 234 return pImpl_->GetCaptionsProperty(caption); 235} 236 237Accessibility::RetError AccessibilityConfig::GetMouseAutoClick(int32_t &time) const 238{ 239 CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR) 240 return pImpl_->GetMouseAutoClick(time); 241} 242 243Accessibility::RetError AccessibilityConfig::GetShortkeyTarget(std::string &name) const 244{ 245 CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR) 246 return pImpl_->GetShortkeyTarget(name); 247} 248 249Accessibility::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 255Accessibility::RetError AccessibilityConfig::GetInvertColorState(bool &state) const 256{ 257 CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR) 258 return pImpl_->GetInvertColorState(state); 259} 260 261Accessibility::RetError AccessibilityConfig::GetHighContrastTextState(bool &state) const 262{ 263 CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR) 264 return pImpl_->GetHighContrastTextState(state); 265} 266 267Accessibility::RetError AccessibilityConfig::GetDaltonizationState(bool &state) const 268{ 269 CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR) 270 return pImpl_->GetDaltonizationState(state); 271} 272 273Accessibility::RetError AccessibilityConfig::GetDaltonizationColorFilter(DALTONIZATION_TYPE &type) const 274{ 275 CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR) 276 return pImpl_->GetDaltonizationColorFilter(type); 277} 278 279Accessibility::RetError AccessibilityConfig::GetContentTimeout(uint32_t &timer) const 280{ 281 CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR) 282 return pImpl_->GetContentTimeout(timer); 283} 284 285Accessibility::RetError AccessibilityConfig::GetAnimationOffState(bool &state) const 286{ 287 CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR) 288 return pImpl_->GetAnimationOffState(state); 289} 290 291Accessibility::RetError AccessibilityConfig::GetBrightnessDiscount(float &brightness) const 292{ 293 CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR) 294 return pImpl_->GetBrightnessDiscount(brightness); 295} 296 297Accessibility::RetError AccessibilityConfig::GetAudioMonoState(bool &state) const 298{ 299 CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR) 300 return pImpl_->GetAudioMonoState(state); 301} 302 303Accessibility::RetError AccessibilityConfig::GetAudioBalance(float &balance) const 304{ 305 CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR) 306 return pImpl_->GetAudioBalance(balance); 307} 308 309Accessibility::RetError AccessibilityConfig::GetClickResponseTime(CLICK_RESPONSE_TIME &time) const 310{ 311 CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR) 312 return pImpl_->GetClickResponseTime(time); 313} 314 315Accessibility::RetError AccessibilityConfig::GetIgnoreRepeatClickState(bool &state) const 316{ 317 CHECK_IMPL_PTR(Accessibility::RET_ERR_NULLPTR) 318 return pImpl_->GetIgnoreRepeatClickState(state); 319} 320 321Accessibility::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