1 /* 2 * Copyright (c) 2023 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_DEVICE_MANAGER_IMPL_LITE_M_H 17 #define OHOS_DEVICE_MANAGER_IMPL_LITE_M_H 18 19 #include <stdbool.h> 20 21 #include "device_manager_common.h" 22 #include "softbus_common.h" 23 24 #ifdef __cplusplus 25 extern "C" { 26 #endif 27 28 enum { 29 DM_OK = 0, 30 ERR_DM_FAILED = -100000, 31 ERR_DM_NO_INIT, 32 ERR_DM_ALREADY_INIT, 33 ERR_DM_POINT_NULL, 34 ERR_DM_GET_SHA256_HASH, 35 ERR_DM_IMPORT_PKGNAME, 36 ERR_DM_DELETE_PKGNAME, 37 ERR_DM_GET_BASE64_ENCODE, 38 ERR_DM_GET_BASE64_DECODE, 39 ERR_DM_INPUT_INVALID_VALUE, 40 ERR_DM_BIND_TYPE_NOT_SUPPORT, 41 ERR_DM_BIND_NO_ADDR, 42 ERR_DM_NO_CREDENTIAL, 43 44 ERR_DM_SOFTBUS_FAILED = -9000, 45 ERR_DM_SOFTBUS_PUBLISH_LNN, 46 ERR_DM_SOFTBUS_STOP_PUBLISH_LNN, 47 ERR_DM_SOFTBUS_REG_STATE_CALLBACK, 48 ERR_DM_SOFTBUS_UNREG_STATE_CALLBACK, 49 ERR_DM_SOFTBUS_NO_TRUSTED_DEVICE, 50 ERR_DM_SOFTBUS_GET_ALL_DEVICE_INFO, 51 ERR_DM_SOFTBUS_SEND_BROADCAST, 52 ERR_DM_SOFTBUS_START_DISCOVERY_DEVICE, 53 ERR_DM_SOFTBUS_STOP_DISCOVERY_DEVICE, 54 ERR_DM_SOFTBUS_REPEAT_DISCOVERY_DEVICE, 55 ERR_DM_SOFTBUS_OPEN_AUTH_SESSION_FAILED, 56 57 ERR_DM_HICHAIN_FAILED = -8000, 58 ERR_DM_HICHAIN_REGISTER_CALLBACK, 59 ERR_DM_HICHAIN_UNREGISTER_CALLBACK, 60 ERR_DM_HICHAIN_INIT_DEVICE_AUTH_SERVICE, 61 ERR_DM_HICHAIN_GET_GM_INSTANCE, 62 ERR_DM_HICHAIN_GET_CREDENTIAL_INFO, 63 ERR_DM_HICHAIN_IMPORT_CREDENTIAL, 64 ERR_DM_HICHAIN_DELETE_CREDENTIAL, 65 ERR_DM_HICHAIN_CHECK_CREDENTIAL, 66 ERR_DM_HICHAIN_CREATE_GROUP, 67 ERR_DM_HICHAIN_CREDENTIAL_EXISTS, 68 ERR_DM_HICHAIN_AUTH_DEVICE, 69 70 ERR_DM_LITEOS_FAILED = -7000, 71 ERR_DM_LITEOS_CREATE_TASK, 72 ERR_DM_LITEOS_DELETE_TASK, 73 ERR_DM_LITEOS_CREATE_MUTEX_OR_SEM, 74 ERR_DM_LITEOS_DELETE_MUTEX_OR_SEM, 75 ERR_DM_LITEOS_PEND_MUTEX, 76 ERR_DM_LITEOS_POST_MUTEX, 77 ERR_DM_LITEOS_CREATE_TIMER, 78 ERR_DM_LITEOS_PEND_SEMAPHORE, 79 ERR_DM_LITEOS_POST_SEMAPHORE, 80 81 ERR_DM_CJSON_FAILED = -6000, 82 ERR_DM_CJSON_CREATE_OBJECT, 83 ERR_DM_CJSON_GET_OBJECT, 84 ERR_DM_CJSON_ADD_TRUE, 85 ERR_DM_CJSON_PRINT, 86 ERR_DM_CJSON_KEY_TYPE, 87 ERR_DM_CJSON_KEY_NO_EXIST, 88 ERR_DM_CJSON_PARSE_ARRAY, 89 ERR_DM_CJSON_PARSE_STRING, 90 ERR_DM_CJSON_ARRAY_SIZE, 91 ERR_DM_CJSON_GET_USERID, 92 }; 93 94 static const int SUPPORT_BIND_TYPE = 0; 95 96 typedef struct { 97 char deviceId[DM_MAX_DEVICE_ID_LEN + 1]; 98 char networkId[DM_MAX_DEVICE_NETWORKID_LEN + 1]; 99 char deviceName[DM_MAX_DEVICE_NAME_LEN + 1]; 100 unsigned int deviceTypeId; 101 ConnectionAddr connectAddr; 102 int range; 103 int credible; 104 bool isLocalExistCredential; 105 int authForm; 106 } DmDeviceInfo; 107 108 typedef struct { 109 char deviceId[DM_MAX_DEVICE_ID_LEN + 1]; 110 char deviceName[DM_MAX_DEVICE_NAME_LEN + 1]; 111 unsigned int deviceTypeId; 112 char networkId[DM_MAX_DEVICE_NETWORKID_LEN + 1]; 113 } DmDeviceBasicInfo; 114 115 typedef struct { 116 void (*onTargetOnline)(const DmDeviceBasicInfo *deviceInfo); 117 void (*onTargetOffline)(const DmDeviceBasicInfo *deviceInfo); 118 } DevStatusCallback; 119 120 typedef struct { 121 void (*onTargetFound)(const DmDeviceBasicInfo *deviceInfo); 122 } OnTargetFound; 123 124 typedef struct { 125 void (*onBindResult)(const char *networkId, const int retCode); 126 void (*onUnBindResult)(const char *networkId, const int retCode); 127 } OnBindResult; 128 129 typedef struct { 130 void (*onAdvertisingResult)(const int advertisingId, const int result); 131 } OnAdvertisingResult; 132 133 int InitDeviceManager(void); 134 int UnInitDeviceManager(void); 135 int RegisterDevStateCallback(const char *pkgName, const char *extra, DevStatusCallback callback); 136 int UnRegisterDevStateCallback(const char *pkgName); 137 int GetTrustedList(const char *pkgName, DmDeviceBasicInfo *deviceList, const int deviceListLen, int *trustListLen); 138 int StartAdvertising(const char *advParam, const char *filterOption, OnAdvertisingResult cb); 139 int StopAdvertising(const char *pkgName); 140 int StartDiscovering(const char *discoverParam, const char *filterOption, OnTargetFound callback); 141 int StopDiscovering(const char *pkgName, const int subscribeId); 142 int BindTarget(const char *pkgName, const char *deviceId, const char *bindParam, OnBindResult cb); 143 int UnBindTarget(const char *pkgName, const char *networkId); 144 145 #ifdef __cplusplus 146 } 147 #endif 148 149 #endif // OHOS_DEVICE_MANAGER_IMPL_LITE_M_H 150