1  /*
2   * Copyright (c) 2022-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_DM_CONSTANTS_H
17  #define OHOS_DM_CONSTANTS_H
18  
19  #include <string>
20  #include <map>
21  
22  #ifdef __LP64__
23  constexpr const char* DM_LIB_LOAD_PATH = "/system/lib64/";
24  #else
25  #if !(defined(__LITEOS_M__) || defined(LITE_DEVICE))
26  constexpr const char* DM_LIB_LOAD_PATH = "/system/lib/";
27  #else
28  constexpr const char* DM_LIB_LOAD_PATH = "/usr/lib/";
29  #endif
30  #endif
31  
32  namespace OHOS {
33  namespace DistributedHardware {
34  enum {
35      DM_OK = 0,
36      SOFTBUS_OK = 0,
37      STOP_BIND = 1,
38  
39      /* Transfer to the other end device, not define specification error code */
40      ERR_DM_TIME_OUT = -20001,
41      ERR_DM_UNSUPPORTED_AUTH_TYPE = -20018,
42      ERR_DM_AUTH_BUSINESS_BUSY = -20019,
43      ERR_DM_AUTH_PEER_REJECT = -20021,
44      ERR_DM_AUTH_REJECT = -20022,
45      ERR_DM_CREATE_GROUP_FAILED = -20026,
46      ERR_DM_BIND_USER_CANCEL = -20037,
47      ERR_DM_BIND_USER_CANCEL_ERROR = -20042,
48      ERR_DM_AUTH_CODE_INCORRECT = -20053,
49      ERR_DM_BIND_USER_CANCEL_PIN_CODE_DISPLAY = -20056,
50      ERR_DM_SYNC_DELETE_DEVICE_REPEATED = -20058,
51      ERR_DM_VERSION_INCOMPATIBLE = -20059,
52  
53      ERR_DM_FAILED = 96929744,
54      ERR_DM_NOT_INIT = 96929746,
55      ERR_DM_INIT_FAILED = 96929747,
56      ERR_DM_POINT_NULL = 96929748,
57      ERR_DM_INPUT_PARA_INVALID = 96929749,
58      ERR_DM_NO_PERMISSION = 96929750,
59      ERR_DM_MALLOC_FAILED = 96929751,
60      ERR_DM_DISCOVERY_FAILED = 96929752,
61      ERR_DM_MAP_KEY_ALREADY_EXISTS = 96929753,
62      ERR_DM_IPC_WRITE_FAILED = 96929754,
63      ERR_DM_IPC_COPY_FAILED = 96929755,
64      ERR_DM_IPC_SEND_REQUEST_FAILED = 96929756,
65      ERR_DM_UNSUPPORTED_IPC_COMMAND = 96929757,
66      ERR_DM_IPC_RESPOND_FAILED = 96929758,
67      ERR_DM_DISCOVERY_REPEATED = 96929759,
68      ERR_DM_AUTH_OPEN_SESSION_FAILED = 96929762,
69      ERR_DM_AUTH_FAILED = 96929765,
70      ERR_DM_AUTH_NOT_START = 96929766,
71      ERR_DM_AUTH_MESSAGE_INCOMPLETE = 96929767,
72      ERR_DM_IPC_READ_FAILED = 96929769,
73      ERR_DM_ENCRYPT_FAILED = 96929770,
74      ERR_DM_PUBLISH_FAILED = 96929771,
75      ERR_DM_PUBLISH_REPEATED = 96929772,
76      ERR_DM_STOP_DISCOVERY = 96929773,
77      ERR_DM_ADD_GROUP_FAILED = 96929774,
78  
79      // The following error codes are provided since OpenHarmony 4.1 Version.
80      ERR_DM_ADAPTER_NOT_INIT = 96929775,
81      ERR_DM_UNSUPPORTED_METHOD = 96929776,
82      ERR_DM_BIND_COMMON_FAILED = 96929777,
83      ERR_DM_BIND_INPUT_PARA_INVALID = 96929778,
84      ERR_DM_BIND_PIN_CODE_ERROR = 96929779,
85      ERR_DM_BIND_TIMEOUT_FAILED = 96929781,
86      ERR_DM_BIND_DP_ERROR = 96929782,
87      ERR_DM_BIND_HICHAIN_ERROR = 96929783,
88      ERR_DM_BIND_SOFTBUS_ERROR = 96929784,
89      ERR_DM_STOP_PUBLISH_LNN_FAILED = 96929786,
90      ERR_DM_REFRESH_LNN_FAILED = 96929787,
91      ERR_DM_STOP_REFRESH_LNN_FAILED = 96929788,
92      ERR_DM_START_ADVERTISING_FAILED = 96929789,
93      ERR_DM_STOP_ADVERTISING_FAILED = 96929790,
94      ERR_DM_ENABLE_DISCOVERY_LISTENER_FAILED = 96929791,
95      ERR_DM_DISABLE_DISCOVERY_LISTENER_FAILED = 96929792,
96      ERR_DM_START_DISCOVERING_FAILED = 96929793,
97      ERR_DM_STOP_DISCOVERING_FAILED = 96929794,
98      ERR_DM_SOFTBUS_SERVICE_NOT_INIT = 96929795,
99      ERR_DM_META_TYPE_INVALID = 96929797,
100      ERR_DM_LOAD_CUSTOM_META_NODE = 96929798,
101      ERR_DM_SOFTBUS_PUBLISH_SERVICE = 96929800,
102      ERR_DM_BIND_PEER_UNSUPPORTED = 96929802,
103      ERR_DM_HICHAIN_CREDENTIAL_REQUEST_FAILED = 96929803,
104      ERR_DM_HICHAIN_CREDENTIAL_CHECK_FAILED = 96929804,
105      ERR_DM_HICHAIN_CREDENTIAL_IMPORT_FAILED = 96929805,
106      ERR_DM_HICHAIN_CREDENTIAL_DELETE_FAILED = 96929806,
107      ERR_DM_HICHAIN_UNREGISTER_CALLBACK = 96929807,
108      ERR_DM_HICHAIN_GET_REGISTER_INFO = 96929808,
109      ERR_DM_HICHAIN_CREDENTIAL_EXISTS = 96929809,
110      ERR_DM_HICHAIN_REGISTER_CALLBACK = 96929810,
111      ERR_DM_HICHAIN_GROUP_CREATE_FAILED = 96929811,
112      ERR_DM_JSON_PARSE_STRING = 96929812,
113      ERR_DM_SOFTBUS_SEND_BROADCAST = 96929813,
114      ERR_DM_SOFTBUS_DISCOVERY_DEVICE = 96929814,
115      ERR_DM_SOFTBUS_STOP_DISCOVERY_DEVICE = 96929815,
116      ERR_DM_INVALID_JSON_STRING = 96929816,
117      ERR_DM_GET_DATA_SHA256_HASH = 96929817,
118      ERR_DM_CHANNLE_OPEN_TIMEOUT = 96929818,
119      ERR_DM_ADD_GOUTP_TIMEOUT = 96929819,
120      ERR_DM_INPUT_TIMEOUT = 96929820,
121  };
122  
123  constexpr const char* TAG_GROUP_ID = "groupId";
124  constexpr const char* TAG_GROUP_NAME = "GROUPNAME";
125  constexpr const char* TAG_REQUEST_ID = "REQUESTID";
126  constexpr const char* TAG_DEVICE_ID = "DEVICEID";
127  constexpr const char* TAG_AUTH_TYPE = "AUTHTYPE";
128  constexpr const char* TAG_CRYPTO_SUPPORT = "CRYPTOSUPPORT";
129  constexpr const char* TAG_VER = "ITF_VER";
130  constexpr const char* TAG_MSG_TYPE = "MSG_TYPE";
131  constexpr const char* DM_ITF_VER = "1.1";
132  constexpr const char* DM_PKG_NAME = "ohos.distributedhardware.devicemanager";
133  constexpr const char* DM_SESSION_NAME = "ohos.distributedhardware.devicemanager.resident";
134  constexpr const char* DM_PIN_HOLDER_SESSION_NAME = "ohos.distributedhardware.devicemanager.pinholder";
135  constexpr const char* DM_UNBIND_SESSION_NAME = "ohos.distributedhardware.devicemanager.unbind";
136  constexpr const char* DM_CAPABILITY_OSD = "osdCapability";
137  constexpr const char* DM_CAPABILITY_APPROACH = "approach";
138  constexpr const char* DM_CAPABILITY_TOUCH = "touch";
139  constexpr const char* DM_CAPABILITY_CASTPLUS = "castPlus";
140  constexpr const char* DM_CAPABILITY_VIRTUAL_LINK = "virtualLink";
141  constexpr const char* DM_CAPABILITY_SHARE = "share";
142  constexpr const char* DM_CAPABILITY_WEAR = "wear";
143  constexpr const char* DM_CREDENTIAL_TYPE = "CREDENTIAL_TYPE";
144  constexpr const char* DM_CREDENTIAL_REQJSONSTR = "CREDENTIAL_REQJSONSTR";
145  constexpr const char* DM_CREDENTIAL_RETURNJSONSTR = "CREDENTIAL_RETURNJSONSTR";
146  constexpr const char* DEVICE_MANAGER_GROUPNAME = "DMSameAccountGroup";
147  constexpr const char* FIELD_CREDENTIAL_EXISTS = "isCredentialExists";
148  constexpr int32_t DM_STRING_LENGTH_MAX = 1024;
149  constexpr int32_t PKG_NAME_SIZE_MAX = 256;
150  constexpr const char* DM_TYPE_MINE = "MINE";
151  constexpr const char* DM_TYPE_OH = "OH";
152  constexpr const char* TAG_SESSION_HEARTBEAT = "session_heartbeat";
153  
154  //The following constant are provided only for HiLink.
155  const static char *EXT_PART = "ext_part";
156  
157  // Auth
158  constexpr const char* AUTH_TYPE = "authType";
159  constexpr const char* APP_OPERATION = "appOperation";
160  constexpr const char* CUSTOM_DESCRIPTION = "customDescription";
161  constexpr const char* TOKEN = "token";
162  constexpr const char* PIN_TOKEN = "pinToken";
163  constexpr const char* PIN_CODE_KEY = "pinCode";
164  constexpr int32_t CHECK_AUTH_ALWAYS_POS = 0;
165  constexpr const char AUTH_ALWAYS = '1';
166  constexpr const char AUTH_ONCE = '0';
167  constexpr const char* TAG_TARGET_DEVICE_NAME = "targetDeviceName";
168  
169  // HiChain
170  constexpr int32_t SERVICE_INIT_TRY_MAX_NUM = 200;
171  constexpr int32_t DEVICE_UUID_LENGTH = 65;
172  constexpr int32_t DEVICE_NETWORKID_LENGTH = 100;
173  constexpr int32_t GROUP_TYPE_INVALID_GROUP = -1;
174  constexpr int32_t GROUP_TYPE_IDENTICAL_ACCOUNT_GROUP = 1;
175  constexpr int32_t GROUP_TYPE_PEER_TO_PEER_GROUP = 256;
176  constexpr int32_t GROUP_TYPE_ACROSS_ACCOUNT_GROUP = 1282;
177  constexpr int32_t GROUP_VISIBILITY_PUBLIC = -1;
178  constexpr int64_t MIN_REQUEST_ID = 1000000000;
179  constexpr int64_t MAX_REQUEST_ID = 9999999999;
180  constexpr int32_t AUTH_DEVICE_REQ_NEGOTIATE = 600;
181  constexpr int32_t AUTH_DEVICE_RESP_NEGOTIATE = 700;
182  constexpr int32_t DEVICEID_LEN = 8;
183  
184  // ACE
185  constexpr const char* EVENT_CONFIRM = "EVENT_CONFIRM";
186  constexpr const char* EVENT_CANCEL = "EVENT_CANCEL";
187  constexpr const char* EVENT_INIT = "EVENT_INIT";
188  constexpr const char* EVENT_CONFIRM_CODE = "0";
189  constexpr const char* EVENT_CANCEL_CODE = "1";
190  constexpr const char* EVENT_INIT_CODE = "2";
191  
192  // Key of filter parameter
193  constexpr const char* FILTER_PARA_RANGE = "FILTER_RANGE";
194  constexpr const char* FILTER_PARA_DEVICE_TYPE = "FILTER_DEVICE_TYPE";
195  constexpr const char* FILTER_PARA_INCLUDE_TRUST = "FILTER_INCLUDE_TRUST";
196  
197  // Connection address type
198  constexpr const char* CONN_ADDR_TYPE_ID = "ID_TYPE";
199  constexpr const char* CONN_ADDR_TYPE_BR = "BR_TYPE";
200  constexpr const char* CONN_ADDR_TYPE_BLE = "BLE_TYPE";
201  constexpr const char* CONN_ADDR_TYPE_WLAN_IP = "WLAN_IP_TYPE";
202  constexpr const char* CONN_ADDR_TYPE_ETH_IP = "ETH_IP_TYPE";
203  
204  // Parameter Key
205  constexpr const char* PARAM_KEY_META_TYPE = "META_TYPE";
206  constexpr const char* PARAM_KEY_TARGET_ID = "TARGET_ID";
207  constexpr const char* PARAM_KEY_BR_MAC = "BR_MAC";
208  constexpr const char* PARAM_KEY_BLE_MAC = "BLE_MAC";
209  constexpr const char* PARAM_KEY_WIFI_IP = "WIFI_IP";
210  constexpr const char* PARAM_KEY_WIFI_PORT = "WIFI_PORT";
211  constexpr const char* PARAM_KEY_AUTH_TOKEN = "AUTH_TOKEN";
212  constexpr const char* PARAM_KEY_AUTH_TYPE = "AUTH_TYPE";
213  constexpr const char* PARAM_KEY_PIN_CODE = "PIN_CODE";
214  constexpr const char* PARAM_KEY_APP_OPER = "APP_OPER";
215  constexpr const char* PARAM_KEY_APP_DESC = "APP_DESC";
216  constexpr const char* PARAM_KEY_BLE_UDID_HASH = "BLE_UDID_HASH";
217  constexpr const char* PARAM_KEY_CUSTOM_DATA = "CUSTOM_DATA";
218  constexpr const char* PARAM_KEY_CONN_ADDR_TYPE = "CONN_ADDR_TYPE";
219  constexpr const char* PARAM_KEY_PUBLISH_ID = "PUBLISH_ID";
220  constexpr const char* PARAM_KEY_SUBSCRIBE_ID = "SUBSCRIBE_ID";
221  constexpr const char* PARAM_KEY_TARGET_PKG_NAME = "TARGET_PKG_NAME";
222  constexpr const char* PARAM_KEY_DISC_FREQ = "DISC_FREQ";
223  constexpr const char* PARAM_KEY_DISC_MEDIUM = "DISC_MEDIUM";
224  constexpr const char* PARAM_KEY_DISC_CAPABILITY = "DISC_CAPABILITY";
225  constexpr const char* PARAM_KEY_DISC_MODE = "DISC_MODE";
226  constexpr const char* PARAM_KEY_AUTO_STOP_ADVERTISE = "AUTO_STOP_ADVERTISE";
227  constexpr const char* PARAM_KEY_FILTER_OPTIONS = "FILTER_OPTIONS";
228  constexpr const char* PARAM_KEY_BIND_EXTRA_DATA = "BIND_EXTRA_DATA";
229  constexpr const char* PARAM_KEY_OS_TYPE = "OS_TYPE";
230  constexpr const char* PARAM_KEY_OS_VERSION = "OS_VERSION";
231  constexpr const char* DM_CONNECTION_DISCONNECTED = "DM_CONNECTION_DISCONNECTED";
232  constexpr const char* BIND_LEVEL = "bindLevel";
233  constexpr const char* TOKENID = "tokenId";
234  constexpr const char* DM_BIND_RESULT_NETWORK_ID = "DM_BIND_RESULT_NETWORK_ID";
235  constexpr const char* PARAM_KEY_POLICY_STRATEGY_FOR_BLE = "DM_POLICY_STRATEGY_FOR_BLE";
236  constexpr const char* PARAM_KEY_POLICY_TIME_OUT = "DM_POLICY_TIMEOUT";
237  constexpr const char* DEVICE_SCREEN_STATUS = "DEVICE_SCREEN_STATUS";
238  
239  // screen state
240  constexpr int32_t DM_SCREEN_UNKNOWN = -1;
241  constexpr int32_t DM_SCREEN_ON = 0;
242  constexpr int32_t DM_SCREEN_OFF = 1;
243  
244  // errCode map
245  const std::map<int32_t, int32_t> MAP_ERROR_CODE = {
246      { ERR_DM_TIME_OUT, 96929745 }, { ERR_DM_UNSUPPORTED_AUTH_TYPE, 96929760 }, { ERR_DM_AUTH_BUSINESS_BUSY, 96929761 },
247      { ERR_DM_AUTH_PEER_REJECT, 96929763 }, { ERR_DM_AUTH_REJECT, 96929764 }, { ERR_DM_CREATE_GROUP_FAILED, 96929768 },
248      { ERR_DM_BIND_USER_CANCEL, 96929780 }, { ERR_DM_BIND_USER_CANCEL_ERROR, 96929785 },
249      { ERR_DM_AUTH_CODE_INCORRECT, 96929796 }, { ERR_DM_BIND_USER_CANCEL_PIN_CODE_DISPLAY, 96929799 },
250      { ERR_DM_SYNC_DELETE_DEVICE_REPEATED, 96929801 }
251  };
252  } // namespace DistributedHardware
253  } // namespace OHOS
254  #endif // OHOS_DM_CONSTANTS_H