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 Check the caller has permissions. 53 * @param permission The description of permission 54 * @return Check result. 55 */ 56 bool CheckPermission(const std::string &permission) const; 57 58 /** 59 * @brief Check if the caller is a system application. 60 * @return Check result. 61 */ 62 bool IsSystemApp() const; 63 64 /** 65 * @brief Check if the caller is an application. 66 * @return Check result. 67 */ 68 bool IsApp() const; 69 70 /** 71 * @brief Handle the IPC request for the function:HandleSendEvent. 72 * @param data The data of process communication 73 * @param reply The response of IPC request 74 * @return NO_ERROR: successful; otherwise is failed. 75 */ 76 ErrCode HandleSendEvent(MessageParcel &data, MessageParcel &reply); 77 78 /** 79 * @brief Handle the IPC request for the function:HandleRegisterStateCallback. 80 * @param data The data of process communication 81 * @param reply The response of IPC request 82 * @return NO_ERROR: successful; otherwise is failed. 83 */ 84 ErrCode HandleRegisterStateCallback(MessageParcel &data, MessageParcel &reply); 85 86 /** 87 * @brief Handle the IPC request for the function:HandleGetAbilityList. 88 * @param data The data of process communication 89 * @param reply The response of IPC request 90 * @return NO_ERROR: successful; otherwise is failed. 91 */ 92 ErrCode HandleGetAbilityList(MessageParcel &data, MessageParcel &reply); 93 94 /** 95 * @brief Handle the IPC request for the function:HandleRegisterAccessibilityElementOperator. 96 * @param data The data of process communication 97 * @param reply The response of IPC request 98 * @return NO_ERROR: successful; otherwise is failed. 99 */ 100 ErrCode HandleRegisterAccessibilityElementOperator(MessageParcel &data, MessageParcel &reply); 101 102 /** 103 * @brief Handle the IPC request for the function:HandleMultiRegisterAccessibilityElementOperator. 104 * @param data The data of process communication 105 * @param reply The response of IPC request 106 * @return NO_ERROR: successful; otherwise is failed. 107 */ 108 ErrCode HandleMultiRegisterAccessibilityElementOperator(MessageParcel &data, MessageParcel &reply); 109 110 /** 111 * @brief Handle the IPC request for the function:HandleDeregisterAccessibilityElementOperator. 112 * @param data The data of process communication 113 * @param reply The response of IPC request 114 * @return NO_ERROR: successful; otherwise is failed. 115 */ 116 ErrCode HandleDeregisterAccessibilityElementOperator(MessageParcel &data, MessageParcel &reply); 117 118 /** 119 * @brief Handle the IPC request for the function:HandleMultiDeregisterAccessibilityElementOperator. 120 * @param data The data of process communication 121 * @param reply The response of IPC request 122 * @return NO_ERROR: successful; otherwise is failed. 123 */ 124 ErrCode HandleMultiDeregisterAccessibilityElementOperator(MessageParcel &data, MessageParcel &reply); 125 126 ErrCode HandleGetCaptionProperty(MessageParcel &data, MessageParcel &reply); 127 ErrCode HandleSetCaptionProperty(MessageParcel &data, MessageParcel &reply); 128 ErrCode HandleSetCaptionState(MessageParcel &data, MessageParcel &reply); 129 ErrCode HandleRegisterCaptionPropertyCallback(MessageParcel &data, MessageParcel &reply); 130 131 ErrCode HandleGetEnabled(MessageParcel &data, MessageParcel &reply); 132 ErrCode HandleGetCaptionState(MessageParcel &data, MessageParcel &reply); 133 ErrCode HandleGetTouchGuideState(MessageParcel &data, MessageParcel &reply); 134 ErrCode HandleGetGestureState(MessageParcel &data, MessageParcel &reply); 135 ErrCode HandleGetKeyEventObserverState(MessageParcel &data, MessageParcel &reply); 136 137 ErrCode HandleEnableAbility(MessageParcel &data, MessageParcel &reply); 138 ErrCode HandleGetEnabledAbilities(MessageParcel &data, MessageParcel &reply); 139 ErrCode HandleDisableAbility(MessageParcel &data, MessageParcel &reply); 140 ErrCode HandleEnableUITestAbility(MessageParcel &data, MessageParcel &reply); 141 ErrCode HandleDisableUITestAbility(MessageParcel &data, MessageParcel &reply); 142 ErrCode HandleGetActiveWindow(MessageParcel &data, MessageParcel &reply); 143 144 ErrCode HandleSetScreenMagnificationState(MessageParcel &data, MessageParcel &reply); 145 ErrCode HandleSetShortKeyState(MessageParcel &data, MessageParcel &reply); 146 ErrCode HandleSetMouseKeyState(MessageParcel &data, MessageParcel &reply); 147 ErrCode HandleSetMouseAutoClick(MessageParcel &data, MessageParcel &reply); 148 ErrCode HandleSetShortkeyTarget(MessageParcel &data, MessageParcel &reply); 149 ErrCode HandleSetShortkeyMultiTarget(MessageParcel &data, MessageParcel &reply); 150 ErrCode HandleSetHighContrastTextState(MessageParcel &data, MessageParcel &reply); 151 ErrCode HandleSetInvertColorState(MessageParcel &data, MessageParcel &reply); 152 ErrCode HandleSetAnimationOffState(MessageParcel &data, MessageParcel &reply); 153 ErrCode HandleSetAudioMonoState(MessageParcel &data, MessageParcel &reply); 154 ErrCode HandleSetDaltonizationState(MessageParcel &data, MessageParcel &reply); 155 ErrCode HandleSetDaltonizationColorFilter(MessageParcel &data, MessageParcel &reply); 156 ErrCode HandleSetContentTimeout(MessageParcel &data, MessageParcel &reply); 157 ErrCode HandleSetBrightnessDiscount(MessageParcel &data, MessageParcel &reply); 158 ErrCode HandleSetAudioBalance(MessageParcel &data, MessageParcel &reply); 159 ErrCode HandleSetClickResponseTime(MessageParcel &data, MessageParcel &reply); 160 ErrCode HandleSetIgnoreRepeatClickState(MessageParcel &data, MessageParcel &reply); 161 ErrCode HandleSetIgnoreRepeatClickTime(MessageParcel &data, MessageParcel &reply); 162 163 ErrCode HandleGetScreenMagnificationState(MessageParcel &data, MessageParcel &reply); 164 ErrCode HandleGetShortKeyState(MessageParcel &data, MessageParcel &reply); 165 ErrCode HandleGetMouseKeyState(MessageParcel &data, MessageParcel &reply); 166 ErrCode HandleGetMouseAutoClick(MessageParcel &data, MessageParcel &reply); 167 ErrCode HandleGetShortkeyTarget(MessageParcel &data, MessageParcel &reply); 168 ErrCode HandleGetShortkeyMultiTarget(MessageParcel &data, MessageParcel &reply); 169 ErrCode HandleGetHighContrastTextState(MessageParcel &data, MessageParcel &reply); 170 ErrCode HandleGetInvertColorState(MessageParcel &data, MessageParcel &reply); 171 ErrCode HandleGetAnimationOffState(MessageParcel &data, MessageParcel &reply); 172 ErrCode HandleGetAudioMonoState(MessageParcel &data, MessageParcel &reply); 173 ErrCode HandleGetDaltonizationState(MessageParcel &data, MessageParcel &reply); 174 ErrCode HandleGetDaltonizationColorFilter(MessageParcel &data, MessageParcel &reply); 175 ErrCode HandleGetContentTimeout(MessageParcel &data, MessageParcel &reply); 176 ErrCode HandleGetBrightnessDiscount(MessageParcel &data, MessageParcel &reply); 177 ErrCode HandleGetAudioBalance(MessageParcel &data, MessageParcel &reply); 178 ErrCode HandleGetClickResponseTime(MessageParcel &data, MessageParcel &reply); 179 ErrCode HandleGetIgnoreRepeatClickState(MessageParcel &data, MessageParcel &reply); 180 ErrCode HandleGetIgnoreRepeatClickTime(MessageParcel &data, MessageParcel &reply); 181 ErrCode HandleGetAllConfigs(MessageParcel &data, MessageParcel &reply); 182 183 ErrCode HandleRegisterEnableAbilityListsObserver(MessageParcel &data, MessageParcel &reply); 184 ErrCode HandleRegisterConfigCallback(MessageParcel &data, MessageParcel &reply); 185 ErrCode HandleGetWindowAndElementId(MessageParcel &data, MessageParcel &reply); 186 ErrCode HandleGetSceneBoardInnerWinId(MessageParcel &data, MessageParcel &reply); 187 ErrCode HandleGetFocusedWindowId(MessageParcel &data, MessageParcel &reply); 188 189 virtual void PostDelayUnloadTask() = 0; 190 ErrCode HandleRemoveRequestId(MessageParcel &data, MessageParcel &reply); 191 192 ErrCode HandleGetRootParentId(MessageParcel &data, MessageParcel &reply); 193 ErrCode HandleGetAllTreeId(MessageParcel &data, MessageParcel &reply); 194 195 using AccessibilityAbilityManagerServiceFunc = ErrCode (AccessibleAbilityManagerServiceStub::*)( 196 MessageParcel &data, MessageParcel &reply); 197 }; 198 } // namespace Accessibility 199 } // namespace OHOS 200 #endif