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