1 /*
2  * Copyright (c) 2023-2024 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     MAX = 43
62 };
63 
64 enum class DeviceIdType : uint32_t {
65     MIN = 0,
66     UDID = 1,
67     UUID = 2,
68     SN = 3,
69     MAX = 4
70 };
71 enum class AuthenticationType : uint32_t {
72     MIN = 0,
73     TEMPORARY = 1,
74     PERMANENT = 2,
75     MAX = 3
76 };
77 enum class BindType : uint32_t {
78     MIN = 0,
79     SAME_ACCOUNT = 1,
80     POINT_TO_POINT = 256,
81     COMPATIBLE = 512,
82     DIFF_ACCOUNT = 1282,
83     MAX = 1283
84 };
85 enum class BindLevel : uint32_t {
86     MIN = 0,
87     DEVICE = 1,
88     SERVICE = 2,
89     APP = 3,
90     MAX = 4
91 };
92 enum class Status : int32_t {
93     MIN = -1,
94     INACTIVE = 0,
95     ACTIVE = 1,
96     MAX = 2
97 };
98 enum SyncStatus {
99     SUCCEEDED = 0,
100     FAILED = 1,
101 };
102 enum class SyncMode : int64_t {
103     MIN = -1,
104     PULL = 0,
105     PUSH = 1,
106     PUSH_PULL = 2,
107     MAX = 3,
108 };
109 enum ProfileType {
110     PROFILE_TYPE_MIN = 0x00,
111     TRUST_DEVICE_PROFILE = 0x10,
112     ACCESS_CONTROL_PROFILE = 0x20,
113     DEVICE_PROFILE = 0x30,
114     SERVICE_PROFILE = 0x40,
115     CHAR_PROFILE = 0x50,
116     PROFILE_TYPE_MAX = 0x60
117 };
118 enum ChangeType {
119     CHANGE_TYPE_MIN = 0,
120     ADD = 1,
121     UPDATE = 2,
122     DELETE = 3,
123     CHANGE_TYPE_MAX = 4
124 };
125 enum ProfileChangeType {
126     PROFILE_CHANGE_TYPE_MIN = 0,
127     TRUST_DEVICE_PROFILE_ADD = 1,
128     TRUST_DEVICE_PROFILE_UPDATE = 2,
129     TRUST_DEVICE_PROFILE_DELETE = 3,
130     DEVICE_PROFILE_ADD = 4,
131     DEVICE_PROFILE_UPDATE = 5,
132     DEVICE_PROFILE_DELETE = 6,
133     SERVICE_PROFILE_ADD = 7,
134     SERVICE_PROFILE_UPDATE = 8,
135     SERVICE_PROFILE_DELETE = 9,
136     CHAR_PROFILE_ADD = 10,
137     CHAR_PROFILE_UPDATE = 11,
138     CHAR_PROFILE_DELETE = 12,
139     PROFILE_CHANGE_TYPE_MAX = 13
140 };
141 enum StaticCapabilityFlag {
142     CAPABILITY_FLAG_MIN = -1,
143     CAPABILITY_FLAG_DMS = 0,
144     CAPABILITY_FLAG_PASTE_BOARD = 1,
145     CAPABILITY_FLAG_COLLABORATION_FWK = 2,
146     CAPABILITY_FLAG_DEVICE_STATUS = 3,
147     CAPABILITY_FLAG_MAX = 4,
148 };
149 enum class SwitchFlag : int32_t {
150     SWITCH_FLAG_MIN = -1,
151     SWITCH_FLAG_KEY_MOUSE_EDGE_CROSSING = 0,
152     SWITCH_FLAG_KEY_DISTRIBUTED_PASTEBOARD = 1,
153     SWITCH_FLAG_DCSHARESWITCH = 2,
154     SWITCH_FLAG_MAX = 3
155 };
156 const std::unordered_map<std::string, SwitchFlag> SWITCH_SERVICE_MAP = {
157     { "SwitchStatus_Key_Mouse_Edge_Crossing", SwitchFlag::SWITCH_FLAG_KEY_MOUSE_EDGE_CROSSING },
158     { "SwitchStatus_Key_Distributed_Pasteboard", SwitchFlag::SWITCH_FLAG_KEY_DISTRIBUTED_PASTEBOARD },
159     { "SwitchStatus_DcShareSwitch", SwitchFlag::SWITCH_FLAG_DCSHARESWITCH }
160 };
161 const std::unordered_map<std::string, StaticCapabilityFlag> CAPABILITY_FLAG_MAP = {
162     { "dmsfwk_svr_id", StaticCapabilityFlag::CAPABILITY_FLAG_DMS },
163     { "pasteboardService", StaticCapabilityFlag::CAPABILITY_FLAG_PASTE_BOARD },
164     { "collaborationFwk", StaticCapabilityFlag::CAPABILITY_FLAG_COLLABORATION_FWK },
165     { "deviceStatus", StaticCapabilityFlag::CAPABILITY_FLAG_DEVICE_STATUS },
166 };
167 } // namespace DistributedDeviceProfile
168 } // namespace OHOS
169 #endif // OHOS_DP_DISTRIBUTED_DEVICE_PROFILE_ENUMS_H
170