1 /* 2 * Copyright (c) 2023-2025 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 OHOS_DP_DISTRIBUTED_DEVICE_PROFILE_ENUMS_H 17 #define OHOS_DP_DISTRIBUTED_DEVICE_PROFILE_ENUMS_H 18 19 #include <string> 20 #include <unordered_map> 21 22 namespace OHOS { 23 namespace DistributedDeviceProfile { 24 enum class DPInterfaceCode : uint32_t { 25 MIN = 0, 26 PUT_ACL_PROFILE = 7, // new ipc code 27 UPDATE_ACL_PROFILE = 8, 28 GET_TRUST_DEVICE_PROFILE = 9, 29 GET_ALL_TRUST_DEVICE_PROFILE = 10, 30 GET_ACL_PROFILE = 11, 31 GET_ALL_ACL_PROFILE = 12, 32 DELETE_ACL_PROFILE = 13, 33 PUT_SERVICE_PROFILE = 14, 34 PUT_SERVICE_PROFILE_BATCH = 15, 35 PUT_CHAR_PROFILE = 16, 36 PUT_CHAR_PROFILE_BATCH = 17, 37 GET_DEVICE_PROFILE_NEW = 18, 38 GET_SERVICE_PROFILE = 19, 39 GET_CHAR_PROFILE = 20, 40 DEL_SERVICE_PROFILE = 21, 41 DEL_CHAR_PROFILE = 22, 42 SUBSCRIBE_DEVICE_PROFILE = 23, 43 UNSUBSCRIBE_DEVICE_PROFILE = 24, 44 SYNC_DEVICE_PROFILE_NEW = 25, 45 SEND_SUBSCRIBE_INFOS = 26, 46 ON_SYNC_COMPLETED = 27, 47 ON_TRUST_DEVICE_PROFILE_ADD = 28, 48 ON_TRUST_DEVICE_PROFILE_UPDATE = 29, 49 ON_TRUST_DEVICE_PROFILE_DELETE = 30, 50 ON_DEVICE_PROFILE_ADD = 31, 51 ON_DEVICE_PROFILE_UPDATE = 32, 52 ON_DEVICE_PROFILE_DELETE = 33, 53 ON_SERVICE_PROFILE_ADD = 34, 54 ON_SERVICE_PROFILE_UPDATE = 35, 55 ON_SERVICE_PROFILE_DELETE = 36, 56 ON_CHAR_PROFILE_ADD = 37, 57 ON_CHAR_PROFILE_UPDATE = 38, 58 ON_CHAR_PROFILE_DELETE = 39, 59 ON_DEVICE_PROFILE_INITED = 40, 60 SUBSCRIBE_DEVICE_PROFILE_INITED = 41, 61 UNSUBSCRIBE_DEVICE_PROFILE_INITED = 42, 62 ON_TRUST_DEVICE_PROFILE_ACTIVE = 43, 63 ON_TRUST_DEVICE_PROFILE_INACTIVE = 44, 64 PUT_ALL_TRUSTED_DEVICES = 45, 65 PUT_DEVICE_PROFILE_BATCH = 46, 66 GET_DEVICE_PROFILES = 47, 67 GET_DEVICE_ICON_INFOS = 48, 68 PUT_DEVICE_ICON_INFO_BATCH = 49, 69 PUT_PRODUCT_INFO_BATCH = 50, 70 DELETE_DEVICE_PROFILE_BATCH = 51, 71 PUT_SERVICE_INFO_PROFILE = 52, 72 DELETE_SERVICE_INFO_PROFILE = 53, 73 UPDATE_SERVICE_INFO_PROFILE = 54, 74 GET_SERVICE_INFO_PROFILE_BY_UNIQUE_KEY = 55, 75 GET_SERVICE_INFO_PROFILE_LIST_BY_TOKEN_ID = 56, 76 GET_ALL_SERVICE_INFO_PROFILE_LIST = 57, 77 GET_SERVICE_INFO_PROFILE_LIST_BY_BUNDLE_NAME = 58, 78 PUT_SESSION_KEY = 59, 79 GET_SESSION_KEY = 60, 80 UPDATE_SESSION_KEY = 61, 81 DELETE_SESSION_KEY = 62, 82 ON_PINCODE_INVALID = 63, 83 SUBSCRIBE_PINCODE_INVALID = 64, 84 UNSUBSCRIBE_PINCODE_INVALID = 65, 85 PUT_LOCAL_SERVICE_INFO = 66, 86 UPDATE_LOCAL_SERVICE_INFO = 67, 87 GET_LOCAL_SERVICE_INFO_BY_BINDLE_AND_PINTYPE = 68, 88 DELETE_LOCAL_SERVICE_INFO = 69, 89 GET_ALL_ACL_INCLUDE_LNN_ACL = 70, 90 ON_BUSINESS_EVENT = 71, 91 REGISTER_BUSINESS_CALLBACK = 72, 92 UNREGISTER_BUSINESS_CALLBACK = 73, 93 PUT_BUSINESS_EVENT = 74, 94 GET_BUSINESS_EVENT = 75, 95 MAX = 76 96 }; 97 98 enum class DeviceIdType : uint32_t { 99 MIN = 0, 100 UDID = 1, 101 UUID = 2, 102 SN = 3, 103 MAX = 4 104 }; 105 enum class AuthenticationType : uint32_t { 106 MIN = 0, 107 TEMPORARY = 1, 108 PERMANENT = 2, 109 MAX = 3 110 }; 111 enum class BindType : uint32_t { 112 MIN = 0, 113 SAME_ACCOUNT = 1, 114 SHARE = 2, 115 SAME_GROUP = 3, 116 POINT_TO_POINT = 256, 117 COMPATIBLE = 512, 118 DIFF_ACCOUNT = 1282, 119 MAX = 1283 120 }; 121 enum class BindLevel : uint32_t { 122 MIN = 0, 123 USER = 1, 124 SERVICE = 2, 125 APP = 3, 126 MAX = 4 127 }; 128 enum class Status : int32_t { 129 MIN = -1, 130 INACTIVE = 0, 131 ACTIVE = 1, 132 MAX = 2 133 }; 134 enum class QueryType : int32_t { 135 MIN = -1, 136 ACER_AND_ACEE_TOKENID = 0, 137 ACER_TOKENID = 1, 138 MAX = 2 139 }; 140 enum SyncStatus { 141 SUCCEEDED = 0, 142 FAILED = 1, 143 }; 144 enum class SyncMode : int64_t { 145 MIN = -1, 146 PULL = 0, 147 PUSH = 1, 148 PUSH_PULL = 2, 149 MAX = 3, 150 }; 151 enum ProfileType { 152 PROFILE_TYPE_MIN = 0x00, 153 TRUST_DEVICE_PROFILE = 0x10, 154 ACCESS_CONTROL_PROFILE = 0x20, 155 DEVICE_PROFILE = 0x30, 156 SERVICE_PROFILE = 0x40, 157 CHAR_PROFILE = 0x50, 158 PROFILE_TYPE_MAX = 0x60 159 }; 160 enum ChangeType { 161 CHANGE_TYPE_MIN = 0, 162 ADD = 1, 163 UPDATE = 2, 164 DELETE = 3, 165 CHANGE_TYPE_MAX = 4 166 }; 167 enum ProfileChangeType { 168 PROFILE_CHANGE_TYPE_MIN = 0, 169 TRUST_DEVICE_PROFILE_ADD = 1, 170 TRUST_DEVICE_PROFILE_UPDATE = 2, 171 TRUST_DEVICE_PROFILE_DELETE = 3, 172 DEVICE_PROFILE_ADD = 4, 173 DEVICE_PROFILE_UPDATE = 5, 174 DEVICE_PROFILE_DELETE = 6, 175 SERVICE_PROFILE_ADD = 7, 176 SERVICE_PROFILE_UPDATE = 8, 177 SERVICE_PROFILE_DELETE = 9, 178 CHAR_PROFILE_ADD = 10, 179 CHAR_PROFILE_UPDATE = 11, 180 CHAR_PROFILE_DELETE = 12, 181 TRUST_DEVICE_PROFILE_ACTIVE = 13, 182 TRUST_DEVICE_PROFILE_INACTIVE = 14, 183 PROFILE_CHANGE_TYPE_MAX = 15 184 }; 185 enum StaticCapabilityFlag { 186 CAPABILITY_FLAG_MIN = -1, 187 CAPABILITY_FLAG_DMS = 0, 188 CAPABILITY_FLAG_PASTE_BOARD = 1, 189 CAPABILITY_FLAG_DISTRIBUTED_FILE_DAEMON = 2, 190 CAPABILITY_FLAG_MAX = 3, 191 }; 192 enum class SwitchFlag : int32_t { 193 SWITCH_FLAG_MIN = -1, 194 SWITCH_FLAG_KEY_MOUSE_EDGE_CROSSING = 0, 195 SWITCH_FLAG_KEY_DISTRIBUTED_PASTEBOARD = 1, 196 SWITCH_FLAG_DCSHARESWITCH = 2, 197 SWITCH_FLAG_WIFI_DISPLAY_SERVICE = 3, 198 SWITCH_FLAG_DISTRIBUTED_SUPER_MANAGER = 4, 199 SWITCH_FLAG_MAX = 5 200 }; 201 const std::unordered_map<std::string, SwitchFlag> SWITCH_SERVICE_MAP = { 202 { "SwitchStatus_Key_Mouse_Edge_Crossing", SwitchFlag::SWITCH_FLAG_KEY_MOUSE_EDGE_CROSSING }, 203 { "SwitchStatus_Key_Distributed_Pasteboard", SwitchFlag::SWITCH_FLAG_KEY_DISTRIBUTED_PASTEBOARD }, 204 { "SwitchStatus_DcShareSwitch", SwitchFlag::SWITCH_FLAG_DCSHARESWITCH }, 205 { "SwitchStatus_Wifi_Display_Service", SwitchFlag::SWITCH_FLAG_WIFI_DISPLAY_SERVICE }, 206 { "SwitchStatus_Distributed_Super_Manager", SwitchFlag::SWITCH_FLAG_DISTRIBUTED_SUPER_MANAGER } 207 }; 208 const std::unordered_map<std::string, StaticCapabilityFlag> CAPABILITY_FLAG_MAP = { 209 { "dmsfwk_svr_id", StaticCapabilityFlag::CAPABILITY_FLAG_DMS }, 210 { "pasteboardService", StaticCapabilityFlag::CAPABILITY_FLAG_PASTE_BOARD }, 211 { "distributedfiledaemon", StaticCapabilityFlag::CAPABILITY_FLAG_DISTRIBUTED_FILE_DAEMON } 212 }; 213 } // namespace DistributedDeviceProfile 214 } // namespace OHOS 215 #endif // OHOS_DP_DISTRIBUTED_DEVICE_PROFILE_ENUMS_H 216