1 /* 2 * Copyright (C) 2021 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 SERVICES_INCLUDE_GLOBAL_H 17 #define SERVICES_INCLUDE_GLOBAL_H 18 19 #include <errno.h> 20 #include <functional> 21 #include <sys/time.h> 22 #include <time.h> 23 24 #include "hilog/log.h" 25 26 namespace OHOS { 27 namespace MiscServices { 28 // Error Code 29 namespace ErrorCode { 30 // Error Code definition in the input method management system 31 enum { 32 ERROR_STATUS_UNKNOWN_TRANSACTION = -EBADMSG, // unknown transaction 33 34 // binder exception error code from Status.h 35 ERROR_EX_ILLEGAL_ARGUMENT = -3, // illegal argument exception 36 ERROR_EX_NULL_POINTER = -4, // null pointer exception 37 ERROR_EX_ILLEGAL_STATE = -5, // illegal state exception 38 ERROR_EX_PARCELABLE = -6, // parcelable exception 39 ERROR_EX_UNSUPPORTED_OPERATION = -7, // unsupported operation exception 40 ERROR_EX_SERVICE_SPECIFIC = -8, // service specific exception 41 // no error 42 NO_ERROR = 0, // no error 43 44 ERROR_NULL_POINTER, // null pointer 45 ERROR_BAD_PARAMETERS, // bad parameters 46 ERROR_SUBSCRIBE_KEYBOARD_EVENT, 47 48 ERROR_CONTROLLER_INVOKING_FAILED, 49 ERROR_PERSIST_CONFIG, 50 ERROR_KBD_HIDE_FAILED, 51 ERROR_PACKAGE_MANAGER, 52 ERROR_REMOTE_CLIENT_DIED, 53 54 ERROR_NOT_CURRENT_IME, 55 ERROR_NOT_IME, 56 ERROR_NOT_AI_APP_IME, 57 ERROR_ADD_DEATH_RECIPIENT_FAILED, 58 ERROR_STATUS_SYSTEM_PERMISSION, // not system application 59 ERROR_PARAMETER_CHECK_FAILED, 60 ERROR_KEYWORD_NOT_FOUND, 61 ERROR_ENABLE_IME, 62 ERROR_NOT_DEFAULT_IME, 63 ERROR_ENABLE_SECURITY_MODE, 64 ERROR_DISPATCH_KEY_EVENT, 65 ERROR_INVALID_PRIVATE_COMMAND_SIZE, 66 ERROR_PANEL_NOT_FOUND, 67 ERROR_WINDOW_MANAGER, 68 ERROR_GET_TEXT_CONFIG, 69 ERROR_SYSTEM_CMD_CHANNEL_ERROR, 70 ERROR_INVALID_PRIVATE_COMMAND, 71 ERROR_OS_ACCOUNT, 72 ERROR_TASK_MANAGER_PEND_FAILED, 73 ERROR_INVALID_PANEL_TYPE, 74 ERROR_INVALID_PANEL_FLAG, 75 ERROR_MSG_HANDLER_NOT_REGIST, 76 ERROR_SECURITY_MODE_OFF, 77 ERROR_MESSAGE_HANDLER, 78 ERROR_INVALID_ARRAY_BUFFER_SIZE, 79 ERROR_SERVICE_START_FAILED, 80 ERROR_JS_CB_NOT_REGISTER, // only for hiSysEvent 81 ERROR_DEAL_TIMEOUT, // only for hiSysEvent 82 ERROR_IPC_REMOTE_NULLPTR, 83 84 ERROR_IMA_BEGIN, 85 ERROR_IME, 86 ERROR_OPERATE_PANEL, 87 ERROR_IMA_CHANNEL_NULLPTR, 88 ERROR_IMA_NULLPTR, 89 ERROR_IMA_DATA_CHANNEL_ABNORMAL, 90 ERROR_IMA_INVALID_IMMERSIVE_EFFECT, 91 ERROR_IMA_PRECONDITION_REQUIRED, 92 ERROR_IMA_END, 93 94 ERROR_IMC_BEGIN, 95 ERROR_CLIENT_NOT_EDITABLE, 96 ERROR_TEXT_PREVIEW_NOT_SUPPORTED, 97 ERROR_TEXT_LISTENER_ERROR, 98 ERROR_INVALID_RANGE, 99 ERROR_CLIENT_NOT_BOUND, 100 ERROR_IMC_NULLPTR, 101 ERROR_IMC_END, 102 103 ERROR_IMSA_BEGIN, 104 ERROR_PARSE_CONFIG_FILE, 105 ERROR_IME_START_INPUT_FAILED, 106 ERROR_STATUS_PERMISSION_DENIED, 107 ERROR_CLIENT_NOT_FOCUSED, 108 ERROR_CLIENT_NULL_POINTER, 109 ERROR_CLIENT_ADD_FAILED, 110 ERROR_CLIENT_NOT_FOUND, 111 ERROR_IME_NOT_STARTED, 112 ERROR_KBD_SHOW_FAILED, // failed to show keyboard 113 ERROR_IMSA_INPUT_TYPE_NOT_FOUND, 114 ERROR_IMSA_DEFAULT_IME_NOT_FOUND, 115 ERROR_IMSA_CLIENT_INPUT_READY_FAILED, 116 ERROR_IMSA_MALLOC_FAILED, 117 ERROR_IMSA_NULLPTR, 118 ERROR_IMSA_USER_SESSION_NOT_FOUND, 119 ERROR_IMSA_GET_IME_INFO_FAILED, 120 ERROR_IMSA_IME_TO_START_NULLPTR, 121 ERROR_IMSA_REBOOT_OLD_IME_NOT_STOP, 122 ERROR_IMSA_IME_EVENT_CONVERT_FAILED, 123 ERROR_IMSA_IME_CONNECT_FAILED, 124 ERROR_IMSA_IME_DISCONNECT_FAILED, 125 ERROR_IMSA_IME_START_TIMEOUT, 126 ERROR_IMSA_IME_START_MORE_THAN_EIGHT_SECOND, 127 ERROR_IMSA_FORCE_STOP_IME_TIMEOUT, 128 ERROR_DEVICE_UNSUPPORTED, 129 ERROR_SCENE_UNSUPPORTED, 130 ERROR_PRIVATE_COMMAND_IS_EMPTY, 131 ERROR_IME_NOT_FOUND, 132 ERROR_OPERATE_SYSTEM_IME, 133 ERROR_SWITCH_IME, 134 ERROR_IME_HAS_STARTED, 135 ERROR_OPERATION_NOT_ALLOWED, 136 ERROR_REQUEST_RATE_EXCEEDED, 137 ERROR_IMSA_END, 138 }; 139 }; // namespace ErrorCode 140 141 static constexpr HiviewDFX::HiLogLabel g_SMALL_SERVICES_LABEL = { LOG_CORE, 0xD001C10, "ImsaKit" }; 142 143 #define IMSA_HILOGD(fmt, ...) \ 144 (void)HILOG_IMPL(LOG_CORE, LOG_DEBUG, OHOS::MiscServices::g_SMALL_SERVICES_LABEL.domain, \ 145 OHOS::MiscServices::g_SMALL_SERVICES_LABEL.tag, "line: %{public}d, function: %{public}s," fmt, __LINE__, \ 146 __FUNCTION__, ##__VA_ARGS__) 147 #define IMSA_HILOGE(fmt, ...) \ 148 (void)HILOG_IMPL(LOG_CORE, LOG_ERROR, OHOS::MiscServices::g_SMALL_SERVICES_LABEL.domain, \ 149 OHOS::MiscServices::g_SMALL_SERVICES_LABEL.tag, "line: %{public}d, function: %{public}s," fmt, __LINE__, \ 150 __FUNCTION__, ##__VA_ARGS__) 151 #define IMSA_HILOGF(fmt, ...) \ 152 (void)HILOG_IMPL(LOG_CORE, LOG_FATAL, OHOS::MiscServices::g_SMALL_SERVICES_LABEL.domain, \ 153 OHOS::MiscServices::g_SMALL_SERVICES_LABEL.tag, "line: %{public}d, function: %{public}s," fmt, __LINE__, \ 154 __FUNCTION__, ##__VA_ARGS__) 155 #define IMSA_HILOGI(fmt, ...) \ 156 (void)HILOG_IMPL(LOG_CORE, LOG_INFO, OHOS::MiscServices::g_SMALL_SERVICES_LABEL.domain, \ 157 OHOS::MiscServices::g_SMALL_SERVICES_LABEL.tag, "line: %{public}d, function: %{public}s," fmt, __LINE__, \ 158 __FUNCTION__, ##__VA_ARGS__) 159 #define IMSA_HILOGW(fmt, ...) \ 160 (void)HILOG_IMPL(LOG_CORE, LOG_WARN, OHOS::MiscServices::g_SMALL_SERVICES_LABEL.domain, \ 161 OHOS::MiscServices::g_SMALL_SERVICES_LABEL.tag, "line: %{public}d, function: %{public}s," fmt, __LINE__, \ 162 __FUNCTION__, ##__VA_ARGS__) 163 using Function = std::function<bool()>; 164 bool BlockRetry(uint32_t interval, uint32_t maxRetryTimes, Function func); 165 } // namespace MiscServices 166 } // namespace OHOS 167 #endif // SERVICES_INCLUDE_GLOBAL_H 168