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 #ifndef ACCESSIBILITY_ABILITY_MANAGER_SERVICE_CLIENT_STUB_H 17 #define ACCESSIBILITY_ABILITY_MANAGER_SERVICE_CLIENT_STUB_H 18 19 #include <map> 20 #include "i_accessible_ability_manager_service.h" 21 #include "iremote_stub.h" 22 23 namespace OHOS { 24 namespace Accessibility { 25 /* 26 * The class define the interface to call ABMS API. 27 */ 28 class AccessibleAbilityManagerServiceStub : public IRemoteStub<IAccessibleAbilityManagerService> { 29 public: 30 /** 31 * @brief construct function 32 * @param object The object of IPC 33 */ 34 AccessibleAbilityManagerServiceStub(); 35 36 /** 37 * @brief destruct function 38 */ 39 virtual ~AccessibleAbilityManagerServiceStub(); 40 41 /** 42 * @brief Receive the event from proxy by IPC mechanism. 43 * @param code The code is matched with the process function. 44 * @param data The data of process communication 45 * @param reply The response of IPC request 46 * @param option The option parameter of IPC,such as: async,sync 47 */ 48 virtual int OnRemoteRequest( 49 uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option) override; 50 private: 51 /** 52 * @brief add accessibility get config handles. 53 */ 54 void AddGetConfigHandles(); 55 56 /** 57 * @brief add accessibility set config handles. 58 */ 59 void AddSetConfigHandles(); 60 61 /** 62 * @brief Check the caller has permissions. 63 * @param permission The description of permission 64 * @return Check result. 65 */ 66 bool CheckPermission(const std::string &permission) const; 67 68 /** 69 * @brief Check if the caller is a system application. 70 * @return Check result. 71 */ 72 bool IsSystemApp() const; 73 74 /** 75 * @brief Check the caller is an application. 76 * @return Check result. 77 */ 78 bool IsApp() const; 79 80 /** 81 * @brief Handle the IPC request for the function:HandleSendEvent. 82 * @param data The data of process communication 83 * @param reply The response of IPC request 84 * @return NO_ERROR: successful; otherwise is failed. 85 */ 86 ErrCode HandleSendEvent(MessageParcel &data, MessageParcel &reply); 87 88 /** 89 * @brief Handle the IPC request for the function:HandleRegisterStateCallback. 90 * @param data The data of process communication 91 * @param reply The response of IPC request 92 * @return NO_ERROR: successful; otherwise is failed. 93 */ 94 ErrCode HandleRegisterStateCallback(MessageParcel &data, MessageParcel &reply); 95 96 /** 97 * @brief Handle the IPC request for the function:HandleGetAbilityList. 98 * @param data The data of process communication 99 * @param reply The response of IPC request 100 * @return NO_ERROR: successful; otherwise is failed. 101 */ 102 ErrCode HandleGetAbilityList(MessageParcel &data, MessageParcel &reply); 103 104 /** 105 * @brief Handle the IPC request for the function:HandleRegisterAccessibilityElementOperator. 106 * @param data The data of process communication 107 * @param reply The response of IPC request 108 * @return NO_ERROR: successful; otherwise is failed. 109 */ 110 ErrCode HandleRegisterAccessibilityElementOperator(MessageParcel &data, MessageParcel &reply); 111 112 /** 113 * @brief Handle the IPC request for the function:HandleDeregisterAccessibilityElementOperator. 114 * @param data The data of process communication 115 * @param reply The response of IPC request 116 * @return NO_ERROR: successful; otherwise is failed. 117 */ 118 ErrCode HandleDeregisterAccessibilityElementOperator(MessageParcel &data, MessageParcel &reply); 119 ErrCode HandleGetCaptionProperty(MessageParcel &data, MessageParcel &reply); 120 ErrCode HandleSetCaptionProperty(MessageParcel &data, MessageParcel &reply); 121 ErrCode HandleSetCaptionState(MessageParcel &data, MessageParcel &reply); 122 ErrCode HandleRegisterCaptionPropertyCallback(MessageParcel &data, MessageParcel &reply); 123 124 ErrCode HandleGetEnabled(MessageParcel &data, MessageParcel &reply); 125 ErrCode HandleGetCaptionState(MessageParcel &data, MessageParcel &reply); 126 ErrCode HandleGetTouchGuideState(MessageParcel &data, MessageParcel &reply); 127 ErrCode HandleGetGestureState(MessageParcel &data, MessageParcel &reply); 128 ErrCode HandleGetKeyEventObserverState(MessageParcel &data, MessageParcel &reply); 129 130 ErrCode HandleEnableAbility(MessageParcel &data, MessageParcel &reply); 131 ErrCode HandleGetEnabledAbilities(MessageParcel &data, MessageParcel &reply); 132 ErrCode HandleDisableAbility(MessageParcel &data, MessageParcel &reply); 133 ErrCode HandleEnableUITestAbility(MessageParcel &data, MessageParcel &reply); 134 ErrCode HandleDisableUITestAbility(MessageParcel &data, MessageParcel &reply); 135 ErrCode HandleGetActiveWindow(MessageParcel &data, MessageParcel &reply); 136 137 ErrCode HandleSetScreenMagnificationState(MessageParcel &data, MessageParcel &reply); 138 ErrCode HandleSetShortKeyState(MessageParcel &data, MessageParcel &reply); 139 ErrCode HandleSetMouseKeyState(MessageParcel &data, MessageParcel &reply); 140 ErrCode HandleSetMouseAutoClick(MessageParcel &data, MessageParcel &reply); 141 ErrCode HandleSetShortkeyTarget(MessageParcel &data, MessageParcel &reply); 142 ErrCode HandleSetShortkeyMultiTarget(MessageParcel &data, MessageParcel &reply); 143 ErrCode HandleSetHighContrastTextState(MessageParcel &data, MessageParcel &reply); 144 ErrCode HandleSetInvertColorState(MessageParcel &data, MessageParcel &reply); 145 ErrCode HandleSetAnimationOffState(MessageParcel &data, MessageParcel &reply); 146 ErrCode HandleSetAudioMonoState(MessageParcel &data, MessageParcel &reply); 147 ErrCode HandleSetDaltonizationState(MessageParcel &data, MessageParcel &reply); 148 ErrCode HandleSetDaltonizationColorFilter(MessageParcel &data, MessageParcel &reply); 149 ErrCode HandleSetContentTimeout(MessageParcel &data, MessageParcel &reply); 150 ErrCode HandleSetBrightnessDiscount(MessageParcel &data, MessageParcel &reply); 151 ErrCode HandleSetAudioBalance(MessageParcel &data, MessageParcel &reply); 152 ErrCode HandleSetClickResponseTime(MessageParcel &data, MessageParcel &reply); 153 ErrCode HandleSetIgnoreRepeatClickState(MessageParcel &data, MessageParcel &reply); 154 ErrCode HandleSetIgnoreRepeatClickTime(MessageParcel &data, MessageParcel &reply); 155 156 ErrCode HandleGetScreenMagnificationState(MessageParcel &data, MessageParcel &reply); 157 ErrCode HandleGetShortKeyState(MessageParcel &data, MessageParcel &reply); 158 ErrCode HandleGetMouseKeyState(MessageParcel &data, MessageParcel &reply); 159 ErrCode HandleGetMouseAutoClick(MessageParcel &data, MessageParcel &reply); 160 ErrCode HandleGetShortkeyTarget(MessageParcel &data, MessageParcel &reply); 161 ErrCode HandleGetShortkeyMultiTarget(MessageParcel &data, MessageParcel &reply); 162 ErrCode HandleGetHighContrastTextState(MessageParcel &data, MessageParcel &reply); 163 ErrCode HandleGetInvertColorState(MessageParcel &data, MessageParcel &reply); 164 ErrCode HandleGetAnimationOffState(MessageParcel &data, MessageParcel &reply); 165 ErrCode HandleGetAudioMonoState(MessageParcel &data, MessageParcel &reply); 166 ErrCode HandleGetDaltonizationState(MessageParcel &data, MessageParcel &reply); 167 ErrCode HandleGetDaltonizationColorFilter(MessageParcel &data, MessageParcel &reply); 168 ErrCode HandleGetContentTimeout(MessageParcel &data, MessageParcel &reply); 169 ErrCode HandleGetBrightnessDiscount(MessageParcel &data, MessageParcel &reply); 170 ErrCode HandleGetAudioBalance(MessageParcel &data, MessageParcel &reply); 171 ErrCode HandleGetClickResponseTime(MessageParcel &data, MessageParcel &reply); 172 ErrCode HandleGetIgnoreRepeatClickState(MessageParcel &data, MessageParcel &reply); 173 ErrCode HandleGetIgnoreRepeatClickTime(MessageParcel &data, MessageParcel &reply); 174 ErrCode HandleGetAllConfigs(MessageParcel &data, MessageParcel &reply); 175 176 ErrCode HandleRegisterEnableAbilityListsObserver(MessageParcel &data, MessageParcel &reply); 177 ErrCode HandleRegisterConfigCallback(MessageParcel &data, MessageParcel &reply); 178 ErrCode HandleGetWindowAndElementId(MessageParcel &data, MessageParcel &reply); 179 ErrCode HandleGetSceneBoardInnerWinId(MessageParcel &data, MessageParcel &reply); 180 ErrCode HandleGetFocusedWindowId(MessageParcel &data, MessageParcel &reply); 181 182 using AccessibilityAbilityManagerServiceFunc = ErrCode (AccessibleAbilityManagerServiceStub::*)( 183 MessageParcel &data, MessageParcel &reply); 184 std::map<uint32_t, AccessibilityAbilityManagerServiceFunc> memberFuncMap_; 185 }; 186 } // namespace Accessibility 187 } // namespace OHOS 188 #endif