diff --git a/common/include/dm_constants.h b/common/include/dm_constants.h index 056c80a7a5f47a0255eb5fca7e0a3fccbd5f771d..09bfd45bd447b71f39331913e0acc25c2a0bea09 100755 --- a/common/include/dm_constants.h +++ b/common/include/dm_constants.h @@ -199,9 +199,13 @@ constexpr const char* FILTER_PARA_INCLUDE_TRUST = "FILTER_INCLUDE_TRUST"; constexpr const char* CONN_ADDR_TYPE_ID = "ID_TYPE"; constexpr const char* CONN_ADDR_TYPE_BR = "BR_TYPE"; constexpr const char* CONN_ADDR_TYPE_BLE = "BLE_TYPE"; +constexpr const char* CONN_ADDR_TYPE_USB = "USB_TYPE"; constexpr const char* CONN_ADDR_TYPE_WLAN_IP = "WLAN_IP_TYPE"; constexpr const char* CONN_ADDR_TYPE_ETH_IP = "ETH_IP_TYPE"; +// Softbus connection address type int +constexpr int32_t CONNECTION_ADDR_USB = 5; + // Parameter Key constexpr const char* PARAM_KEY_META_TYPE = "META_TYPE"; constexpr const char* PARAM_KEY_TARGET_ID = "TARGET_ID"; @@ -209,6 +213,8 @@ constexpr const char* PARAM_KEY_BR_MAC = "BR_MAC"; constexpr const char* PARAM_KEY_BLE_MAC = "BLE_MAC"; constexpr const char* PARAM_KEY_WIFI_IP = "WIFI_IP"; constexpr const char* PARAM_KEY_WIFI_PORT = "WIFI_PORT"; +constexpr const char* PARAM_KEY_USB_IP = "USB_IP"; +constexpr const char* PARAM_KEY_USB_PORT = "USB_PORT"; constexpr const char* PARAM_KEY_AUTH_TOKEN = "AUTH_TOKEN"; constexpr const char* PARAM_KEY_AUTH_TYPE = "AUTH_TYPE"; constexpr const char* PARAM_KEY_PIN_CODE = "PIN_CODE"; diff --git a/services/service/src/discovery/discovery_manager.cpp b/services/service/src/discovery/discovery_manager.cpp index ba78be0292c6d5876e15ca77f0f0bdf1e8d296a7..3078a37ea2774742d8dc061cda99fc52f113ad4a 100644 --- a/services/service/src/discovery/discovery_manager.cpp +++ b/services/service/src/discovery/discovery_manager.cpp @@ -101,7 +101,10 @@ int32_t DiscoveryManager::EnableDiscoveryListener(const std::string &pkgName, std::lock_guard capLock(capabilityMapLocks_); capabilityMap_[pkgNameTemp] = std::string(dmSubInfo.capability); } - + if (discoverParam.find(PARAM_KEY_DISC_MEDIUM) != discoverParam.end()) { + int32_t medium = std::atoi((discoverParam.find(PARAM_KEY_DISC_MEDIUM)->second).c_str()); + dmSubInfo.medium = static_cast(medium); + } int32_t ret = softbusListener_->RefreshSoftbusLNN(DM_PKG_NAME, dmSubInfo, LNN_DISC_CAPABILITY); if (ret != DM_OK) { LOGE("EnableDiscoveryListener failed, softbus refresh lnn ret: %{public}d.", ret); diff --git a/services/service/src/softbus/softbus_listener.cpp b/services/service/src/softbus/softbus_listener.cpp index 12484b96892d45507d85e6eaaa804456a631ae91..8bc8e4c9f5171f0d970195129a3038d44e3eade1 100644 --- a/services/service/src/softbus/softbus_listener.cpp +++ b/services/service/src/softbus/softbus_listener.cpp @@ -893,6 +893,11 @@ void SoftbusListener::ConvertDeviceInfoToDmDevice(const DeviceInfo &device, DmDe std::string udidHash(ConvertBytesToUpperCaseHexString((addrInfo->info).ble.udidHash, sizeof((addrInfo->info).ble.udidHash) / sizeof(*((addrInfo->info).ble.udidHash)))); jsonObj[PARAM_KEY_BLE_UDID_HASH] = udidHash; + } else if (addrInfo->type == CONNECTION_ADDR_USB) { + std::string usbIp((addrInfo->info).ip.ip); + jsonObj[PARAM_KEY_USB_IP] = usbIp; + jsonObj[PARAM_KEY_USB_PORT] = (addrInfo->info).ip.port; + jsonObj[PARAM_KEY_CONN_ADDR_TYPE] = CONN_ADDR_TYPE_USB; } else { LOGI("Unknown connection address type: %{public}d.", addrInfo->type); }