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 NAPI_ACCESSIBILITY_DEF_H 17 #define NAPI_ACCESSIBILITY_DEF_H 18 19 #include <cstdint> 20 #include <string> 21 #include <vector> 22 #include <map> 23 #include "accessibility_def.h" 24 25 constexpr size_t CALLBACK_SIZE = 1; 26 constexpr size_t ARGS_SIZE_ZERO = 0; 27 constexpr size_t ARGS_SIZE_ONE = 1; 28 constexpr size_t ARGS_SIZE_TWO = 2; 29 constexpr size_t ARGS_SIZE_THREE = 3; 30 constexpr size_t ARGS_SIZE_FOUR = 4; 31 constexpr int32_t DEFAULT_INT32 = 0; 32 constexpr int32_t PARAM0 = 0; 33 constexpr int32_t PARAM1 = 1; 34 constexpr int32_t PARAM2 = 2; 35 constexpr int32_t CODE_SUCCESS = 0; 36 constexpr int32_t CODE_FAILED = -1; 37 constexpr int32_t CHAE_BUFFER_MAX = 1024; 38 const std::string ERROR_MESSAGE_PARAMETER_ERROR = "Input parameter error"; 39 const std::string ERROR_MESSAGE_NO_PERMISSION = "Permission denied"; 40 const std::string ERROR_MESSAGE_NO_RIGHT = "Do not have accessibility right for this operation"; 41 const std::string ERROR_MESSAGE_SYSTEM_ABNORMALITY = "System abnormality"; 42 const std::string ERROR_MESSAGE_PROPERTY_NOT_EXIST = "This property does not exist"; 43 const std::string ERROR_MESSAGE_ACTION_NOT_SUPPORT = "This action is not supported"; 44 const std::string ERROR_MESSAGE_INVALID_BUNDLE_NAME_OR_ABILITY_NAME = "Invalid bundle name or ability name"; 45 const std::string ERROR_MESSAGE_TARGET_ABILITY_ALREADY_ENABLED = "Target ability already enabled"; 46 47 enum class NAccessibilityErrorCode : int32_t { 48 ACCESSIBILITY_OK = 0, 49 ACCESSIBILITY_ERROR_NO_PERMISSION = 201, 50 ACCESSIBILITY_ERROR_INVALID_PARAM = 401, 51 ACCESSIBILITY_ERROR_SYSTEM_ABNORMALITY = 9300000, 52 ACCESSIBILITY_ERROR_ERROR_EXTENSION_NAME = 9300001, 53 ACCESSIBILITY_ERROR_TARGET_ABILITY_ALREADY_ENABLED = 9300002, 54 ACCESSIBILITY_ERROR_NO_RIGHT = 9300003, 55 ACCESSIBILITY_ERROR_PROPERTY_NOT_EXIST = 9300004, 56 ACCESSIBILITY_ERROR_ACTION_NOT_SUPPORT = 9300005, 57 }; 58 59 struct NAccessibilityErrMsg { 60 NAccessibilityErrorCode errCode; 61 std::string message; 62 }; 63 64 const std::map<OHOS::Accessibility::RetError, NAccessibilityErrMsg> ACCESSIBILITY_JS_TO_ERROR_CODE_MAP { 65 {OHOS::Accessibility::RetError::RET_OK, 66 {NAccessibilityErrorCode::ACCESSIBILITY_OK, ""}}, 67 {OHOS::Accessibility::RetError::RET_ERR_FAILED, 68 {NAccessibilityErrorCode::ACCESSIBILITY_ERROR_SYSTEM_ABNORMALITY, ERROR_MESSAGE_SYSTEM_ABNORMALITY}}, 69 {OHOS::Accessibility::RetError::RET_ERR_INVALID_PARAM, 70 {NAccessibilityErrorCode::ACCESSIBILITY_ERROR_INVALID_PARAM, ERROR_MESSAGE_PARAMETER_ERROR}}, 71 {OHOS::Accessibility::RetError::RET_ERR_NULLPTR, 72 {NAccessibilityErrorCode::ACCESSIBILITY_ERROR_SYSTEM_ABNORMALITY, ERROR_MESSAGE_SYSTEM_ABNORMALITY}}, 73 {OHOS::Accessibility::RetError::RET_ERR_IPC_FAILED, 74 {NAccessibilityErrorCode::ACCESSIBILITY_ERROR_SYSTEM_ABNORMALITY, ERROR_MESSAGE_SYSTEM_ABNORMALITY}}, 75 {OHOS::Accessibility::RetError::RET_ERR_SAMGR, 76 {NAccessibilityErrorCode::ACCESSIBILITY_ERROR_SYSTEM_ABNORMALITY, ERROR_MESSAGE_SYSTEM_ABNORMALITY}}, 77 {OHOS::Accessibility::RetError::RET_ERR_NO_PERMISSION, 78 {NAccessibilityErrorCode::ACCESSIBILITY_ERROR_NO_PERMISSION, ERROR_MESSAGE_NO_PERMISSION}}, 79 {OHOS::Accessibility::RetError::RET_ERR_TIME_OUT, 80 {NAccessibilityErrorCode::ACCESSIBILITY_ERROR_SYSTEM_ABNORMALITY, ERROR_MESSAGE_SYSTEM_ABNORMALITY}}, 81 {OHOS::Accessibility::RetError::RET_ERR_REGISTER_EXIST, 82 {NAccessibilityErrorCode::ACCESSIBILITY_ERROR_SYSTEM_ABNORMALITY, ERROR_MESSAGE_SYSTEM_ABNORMALITY}}, 83 {OHOS::Accessibility::RetError::RET_ERR_NO_REGISTER, 84 {NAccessibilityErrorCode::ACCESSIBILITY_ERROR_SYSTEM_ABNORMALITY, ERROR_MESSAGE_SYSTEM_ABNORMALITY}}, 85 {OHOS::Accessibility::RetError::RET_ERR_CONNECTION_EXIST, 86 {NAccessibilityErrorCode::ACCESSIBILITY_ERROR_TARGET_ABILITY_ALREADY_ENABLED, 87 ERROR_MESSAGE_TARGET_ABILITY_ALREADY_ENABLED}}, 88 {OHOS::Accessibility::RetError::RET_ERR_NO_CONNECTION, 89 {NAccessibilityErrorCode::ACCESSIBILITY_ERROR_SYSTEM_ABNORMALITY, ERROR_MESSAGE_SYSTEM_ABNORMALITY}}, 90 {OHOS::Accessibility::RetError::RET_ERR_NO_WINDOW_CONNECTION, 91 {NAccessibilityErrorCode::ACCESSIBILITY_ERROR_SYSTEM_ABNORMALITY, ERROR_MESSAGE_SYSTEM_ABNORMALITY}}, 92 {OHOS::Accessibility::RetError::RET_ERR_NO_CAPABILITY, 93 {NAccessibilityErrorCode::ACCESSIBILITY_ERROR_NO_RIGHT, ERROR_MESSAGE_NO_RIGHT}}, 94 {OHOS::Accessibility::RetError::RET_ERR_INVALID_ELEMENT_INFO_FROM_ACE, 95 {NAccessibilityErrorCode::ACCESSIBILITY_ERROR_SYSTEM_ABNORMALITY, ERROR_MESSAGE_SYSTEM_ABNORMALITY}}, 96 {OHOS::Accessibility::RetError::RET_ERR_PERFORM_ACTION_FAILED_BY_ACE, 97 {NAccessibilityErrorCode::ACCESSIBILITY_ERROR_SYSTEM_ABNORMALITY, ERROR_MESSAGE_SYSTEM_ABNORMALITY}}, 98 {OHOS::Accessibility::RetError::RET_ERR_NO_INJECTOR, 99 {NAccessibilityErrorCode::ACCESSIBILITY_ERROR_SYSTEM_ABNORMALITY, ERROR_MESSAGE_SYSTEM_ABNORMALITY}}, 100 {OHOS::Accessibility::RetError::RET_ERR_NOT_INSTALLED, 101 {NAccessibilityErrorCode::ACCESSIBILITY_ERROR_ERROR_EXTENSION_NAME, 102 ERROR_MESSAGE_INVALID_BUNDLE_NAME_OR_ABILITY_NAME}}, 103 {OHOS::Accessibility::RetError::RET_ERR_NOT_ENABLED, 104 {NAccessibilityErrorCode::ACCESSIBILITY_ERROR_ERROR_EXTENSION_NAME, 105 ERROR_MESSAGE_INVALID_BUNDLE_NAME_OR_ABILITY_NAME}}, 106 {OHOS::Accessibility::RetError::RET_ERR_PROPERTY_NOT_EXIST, 107 {NAccessibilityErrorCode::ACCESSIBILITY_ERROR_PROPERTY_NOT_EXIST, ERROR_MESSAGE_PROPERTY_NOT_EXIST}}, 108 {OHOS::Accessibility::RetError::RET_ERR_ACTION_NOT_SUPPORT, 109 {NAccessibilityErrorCode::ACCESSIBILITY_ERROR_ACTION_NOT_SUPPORT, ERROR_MESSAGE_ACTION_NOT_SUPPORT}}, 110 }; 111 #endif // NAPI_ACCESSIBILITY_DEF_H