From 70467ba31764add5a0562aef546c8871b935920f Mon Sep 17 00:00:00 2001 From: yangwei_814916 Date: Mon, 8 Jan 2024 19:15:37 +0800 Subject: [PATCH 01/13] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=BC=80=E6=9C=BA?= =?UTF-8?q?=E5=86=85=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: yangwei_814916 --- commondependency/BUILD.gn | 1 - .../include/deviceprofile_connector.h | 44 +++++++++--- .../src/deviceprofile_connector.cpp | 16 ++--- services/service/BUILD.gn | 1 - .../include/discovery/discovery_manager.h | 7 ++ .../service/src/device_manager_service.cpp | 1 + .../src/discovery/discovery_manager.cpp | 71 ++++++++++++++++++- 7 files changed, 118 insertions(+), 23 deletions(-) diff --git a/commondependency/BUILD.gn b/commondependency/BUILD.gn index b6cd6ccfe..b9484c878 100644 --- a/commondependency/BUILD.gn +++ b/commondependency/BUILD.gn @@ -55,7 +55,6 @@ ohos_shared_library("devicemanagerdependency") { if (os_account_part_exists) { defines += [ "OS_ACCOUNT_PART_EXISTS" ] external_deps += [ - "os_account:libaccountkits", "os_account:os_account_innerkits", ] } diff --git a/commondependency/include/deviceprofile_connector.h b/commondependency/include/deviceprofile_connector.h index 08de7883e..f205c3f84 100644 --- a/commondependency/include/deviceprofile_connector.h +++ b/commondependency/include/deviceprofile_connector.h @@ -16,10 +16,6 @@ #define OHOS_DM_DEVICEPROFILE_CONNECTOR_H #include #include "access_control_profile.h" -#include "accessee.h" -#include "accesser.h" -#include "distributed_device_profile_client.h" -#include "distributed_device_profile_enums.h" #include "dm_device_info.h" #include "single_instance.h" @@ -86,12 +82,41 @@ typedef struct DmOfflineParam { namespace OHOS { namespace DistributedHardware { -class DeviceProfileConnector { -DECLARE_SINGLE_INSTANCE_BASE(DeviceProfileConnector); +class IDeviceProfileConnector { public: - DeviceProfileConnector(); - ~DeviceProfileConnector(); + virtual ~IDeviceProfileConnector() {} + virtual std::vector GetAccessControlProfile() = 0; + virtual uint32_t CheckBindType(std::string trustDeviceId, std::string requestDeviceId) = 0; + virtual int32_t PutAccessControlList(DmAclInfo aclInfo, DmAccesser dmAccesser, DmAccessee dmAccessee) = 0; + virtual int32_t UpdateAccessControlList(int32_t userId, std::string &oldAccountId, std::string &newAccountId) = 0; + virtual std::map GetAppTrustDeviceList(const std::string &pkgName, + const std::string &deviceId) = 0; + virtual DmOfflineParam GetOfflineParamFromAcl(std::string trustDeviceId, std::string requestDeviceId) = 0; + virtual std::vector GetBindTypeByPkgName(std::string pkgName, std::string requestDeviceId, + std::string trustUdid) = 0; + virtual std::vector SyncAclByBindType(std::string pkgName, std::vector bindTypeVec, + std::string localDeviceId, std::string targetDeviceId) = 0; + virtual int32_t GetDeviceAclParam(DmDiscoveryInfo discoveryInfo, bool &isonline, int32_t &authForm) = 0; + virtual int32_t DeleteAccessControlList(int32_t userId, std::string &accountId) = 0; + virtual DmOfflineParam DeleteAccessControlList(std::string pkgName, std::string localDeviceId, + std::string remoteDeviceId) = 0; + virtual std::vector GetPkgNameFromAcl(std::string &localDeviceId, std::string &targetDeviceId) = 0; + virtual bool CheckIdenticalAccount(int32_t userId, const std::string &accountId) = 0; + virtual int32_t DeleteP2PAccessControlList(int32_t userId, std::string &accountId) = 0; + virtual bool CheckSrcDeviceIdInAcl(const std::string &pkgName, const std::string &deviceId) = 0; + virtual bool CheckSinkDeviceIdInAcl(const std::string &pkgName, const std::string &deviceId) = 0; + virtual int32_t DeleteTimeOutAcl(const std::string &deviceId) = 0; + virtual int32_t GetTrustNumber(const std::string &deviceId) = 0; + virtual bool CheckDeviceIdInAcl(const std::string &pkgName, const std::string &deviceId) = 0; + virtual bool CheckPkgnameInAcl(std::string pkgName, std::string localDeviceId, std::string remoteDeviceId) = 0; + virtual std::vector CompareBindType(std::vector profiles, + std::string pkgName, std::vector &sinkBindType, std::string localDeviceId, + std::string targetDeviceId) = 0; +}; +class DeviceProfileConnector : public IDeviceProfileConnector { +DECLARE_SINGLE_INSTANCE_BASE(DeviceProfileConnector); +public: std::vector GetAccessControlProfile(); uint32_t CheckBindType(std::string trustDeviceId, std::string requestDeviceId); int32_t PutAccessControlList(DmAclInfo aclInfo, DmAccesser dmAccesser, DmAccessee dmAccessee); @@ -127,6 +152,9 @@ private: void ProcessBindType(DistributedDeviceProfile::AccessControlProfile profiles, DmDiscoveryInfo paramInfo, std::vector &sinkBindType, std::vector &bindTypeIndex, uint32_t index); }; + +extern "C" IDeviceProfileConnector *CreateDpConnectorInstance(); +using CreateDpConnectorFuncPtr = IDeviceProfileConnector *(*)(void); } // namespace DistributedHardware } // namespace OHOS #endif // OHOS_DM_DEVICEPROFILE_CONNECTOR_H diff --git a/commondependency/src/deviceprofile_connector.cpp b/commondependency/src/deviceprofile_connector.cpp index a9f76f20d..8fbec8cfc 100644 --- a/commondependency/src/deviceprofile_connector.cpp +++ b/commondependency/src/deviceprofile_connector.cpp @@ -21,21 +21,12 @@ #include "dm_softbus_adapter_crypto.h" #include "multiple_user_connector.h" +#include "distributed_device_profile_client.h" using namespace OHOS::DistributedDeviceProfile; namespace OHOS { namespace DistributedHardware { IMPLEMENT_SINGLE_INSTANCE(DeviceProfileConnector); -DeviceProfileConnector::DeviceProfileConnector() -{ - LOGD("DeviceProfileConnector constructor."); -} - -DeviceProfileConnector::~DeviceProfileConnector() -{ - LOGD("DeviceProfileConnector destructor."); -} - std::vector DeviceProfileConnector::GetAccessControlProfile() { LOGI("GetAccessControlProfile start."); @@ -662,5 +653,10 @@ bool DeviceProfileConnector::CheckPkgnameInAcl(std::string pkgName, std::string } return false; } + +IDeviceProfileConnector *CreateDpConnectorInstance() +{ + return &DeviceProfileConnector::GetInstance(); +} } // namespace DistributedHardware } // namespace OHOS diff --git a/services/service/BUILD.gn b/services/service/BUILD.gn index c48a0b302..c740fb0dc 100644 --- a/services/service/BUILD.gn +++ b/services/service/BUILD.gn @@ -169,7 +169,6 @@ if (defined(ohos_lite)) { ] deps = [ - "${devicemanager_path}/commondependency:devicemanagerdependency", "${utils_path}:devicemanagerutils", "//third_party/mbedtls:mbedtls_shared", ] diff --git a/services/service/include/discovery/discovery_manager.h b/services/service/include/discovery/discovery_manager.h index c814368ec..f33e71ae1 100644 --- a/services/service/include/discovery/discovery_manager.h +++ b/services/service/include/discovery/discovery_manager.h @@ -18,6 +18,7 @@ #include +#include "deviceprofile_connector.h" #include "discovery_filter.h" #include "idevice_manager_service_listener.h" #include "dm_timer.h" @@ -49,6 +50,9 @@ public: int32_t EnableDiscoveryListener(const std::string &pkgName, const std::map &discoverParam, const std::map &filterOptions); int32_t DisableDiscoveryListener(const std::string &pkgName, const std::map &extraParam); + static IDeviceProfileConnector* GetCommonDependencyObj(); + static bool IsCommonDependencyReady(); + static bool CloseCommonDependencyObj(); private: void StartDiscoveryTimer(); @@ -69,6 +73,9 @@ private: std::shared_ptr listener_; std::queue discoveryQueue_; std::map discoveryContextMap_; + static bool isSoLoaded_; + static IDeviceProfileConnector *dpConnector_; + static void *dpConnectorHandle_; }; } // namespace DistributedHardware } // namespace OHOS diff --git a/services/service/src/device_manager_service.cpp b/services/service/src/device_manager_service.cpp index 2203480e6..5fdbbf6cf 100755 --- a/services/service/src/device_manager_service.cpp +++ b/services/service/src/device_manager_service.cpp @@ -752,6 +752,7 @@ int32_t DeviceManagerService::UnRegisterUiStateCallback(const std::string &pkgNa bool DeviceManagerService::IsDMServiceImplReady() { + LOGI("DeviceManagerService::IsDMServiceImplReady"); std::lock_guard lock(isImplLoadLock_); if (isImplsoLoaded_ && (dmServiceImpl_ != nullptr)) { return true; diff --git a/services/service/src/discovery/discovery_manager.cpp b/services/service/src/discovery/discovery_manager.cpp index f10ddc5d4..ef1d30661 100644 --- a/services/service/src/discovery/discovery_manager.cpp +++ b/services/service/src/discovery/discovery_manager.cpp @@ -15,6 +15,7 @@ #include "discovery_manager.h" +#include #include #if !(defined(__LITEOS_M__) || defined(LITE_DEVICE)) @@ -33,6 +34,11 @@ const uint16_t DM_INVALID_FLAG_ID = 0; constexpr const char* LNN_DISC_CAPABILITY = "capability"; constexpr const char* DISCOVERY_TIMEOUT_TASK = "deviceManagerTimer:discovery"; const std::string TYPE_MINE = "findDeviceMode"; +constexpr const char* LIB_DM_COMDENPENDENCY_NAME = "libdevicemanagerdependency.z.so"; +static std::mutex comDependencyLoadLock; +bool DiscoveryManager::isSoLoaded_ = false; +IDeviceProfileConnector* DiscoveryManager::dpConnector_ = nullptr; +void* DiscoveryManager::dpConnectorHandle_ = nullptr; DiscoveryManager::DiscoveryManager(std::shared_ptr softbusListener, std::shared_ptr listener) : softbusListener_(softbusListener), listener_(listener) @@ -42,6 +48,7 @@ DiscoveryManager::DiscoveryManager(std::shared_ptr softbusListe DiscoveryManager::~DiscoveryManager() { + CloseCommonDependencyObj(); LOGI("DiscoveryManager destructor."); } @@ -383,12 +390,70 @@ int32_t DiscoveryManager::GetDeviceAclParam(const std::string &pkgName, std::str discoveryInfo.pkgname = pkgName; discoveryInfo.localDeviceId = requestDeviceId; discoveryInfo.remoteDeviceIdHash = deviceId; - if (DeviceProfileConnector::GetInstance().GetDeviceAclParam(discoveryInfo, isonline, authForm) != DM_OK) { - LOGE("GetDeviceAclParam failed."); - return ERR_DM_FAILED; + if (DiscoveryManager::IsCommonDependencyReady() && DiscoveryManager::GetCommonDependencyObj() != nullptr) { + if (DiscoveryManager::GetCommonDependencyObj()->GetDeviceAclParam(discoveryInfo, isonline, authForm) != DM_OK) { + LOGE("GetDeviceAclParam failed."); + return ERR_DM_FAILED; + } } #endif return DM_OK; } + +IDeviceProfileConnector* DiscoveryManager::GetCommonDependencyObj() +{ + return dpConnector_; +} + +bool DiscoveryManager::IsCommonDependencyReady() +{ + LOGI("DiscoveryManager::IsCommonDependencyReady start."); + std::lock_guard lock(comDependencyLoadLock); + if (isSoLoaded_ && dpConnector_ != nullptr && dpConnectorHandle_ != nullptr) { + LOGI("IsCommonDependencyReady already."); + return true; + } + char path[PATH_MAX + 1] = {0x00}; + std::string soName = std::string(DM_LIB_LOAD_PATH) + std::string(LIB_DM_COMDENPENDENCY_NAME); + if ((soName.length() == 0) || (soName.length() > PATH_MAX) || (realpath(soName.c_str(), path) == nullptr)) { + LOGE("File %s canonicalization failed.", soName.c_str()); + return false; + } + dpConnectorHandle_ = dlopen(path, RTLD_NOW | RTLD_NODELETE); + if (dpConnectorHandle_ == nullptr) { + LOGE("load libdevicemanagerdependency so %s failed, errMsg: %s.", soName.c_str(), dlerror()); + return false; + } + auto func = (CreateDpConnectorFuncPtr)dlsym(dpConnectorHandle_, "CreateDpConnectorInstance"); + if (dlerror() != nullptr || func == nullptr) { + dlclose(dpConnectorHandle_); + LOGE("Create object function is not exist."); + return false; + } + dpConnector_ = func(); + isSoLoaded_ = true; + LOGI("IsCommonDependencyReady ready success."); + return true; +} + +bool DiscoveryManager::CloseCommonDependencyObj() +{ + LOGI("DiscoveryManager::CloseCommonDependencyObj start."); + std::lock_guard lock(comDependencyLoadLock); + if (!isSoLoaded_ && (dpConnector_ == nullptr) && (dpConnectorHandle_ == nullptr)) { + return true; + } + + int32_t ret = dlclose(dpConnectorHandle_); + if (ret != 0) { + LOGE("close libdevicemanagerdependency failed ret = %d.", ret); + return false; + } + isSoLoaded_ = false; + dpConnector_ = nullptr; + dpConnectorHandle_ = nullptr; + LOGI("close libdevicemanagerdependency so success."); + return true; +} } // namespace DistributedHardware } // namespace OHOS -- Gitee From 82f9b579b6f22f82080389b8b6ced3d4e6d4237e Mon Sep 17 00:00:00 2001 From: yangwei_814916 Date: Mon, 8 Jan 2024 19:20:00 +0800 Subject: [PATCH 02/13] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=BC=80=E6=9C=BA?= =?UTF-8?q?=E5=86=85=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: yangwei_814916 --- commondependency/include/deviceprofile_connector.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/commondependency/include/deviceprofile_connector.h b/commondependency/include/deviceprofile_connector.h index f205c3f84..d03c9f34e 100644 --- a/commondependency/include/deviceprofile_connector.h +++ b/commondependency/include/deviceprofile_connector.h @@ -115,7 +115,7 @@ public: }; class DeviceProfileConnector : public IDeviceProfileConnector { -DECLARE_SINGLE_INSTANCE_BASE(DeviceProfileConnector); + DECLARE_SINGLE_INSTANCE(DeviceProfileConnector); public: std::vector GetAccessControlProfile(); uint32_t CheckBindType(std::string trustDeviceId, std::string requestDeviceId); -- Gitee From f8cd8700d68de812e0c97fb1022489d21d50cc66 Mon Sep 17 00:00:00 2001 From: yangwei_814916 Date: Mon, 8 Jan 2024 19:26:10 +0800 Subject: [PATCH 03/13] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=BC=80=E6=9C=BA?= =?UTF-8?q?=E5=86=85=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: yangwei_814916 --- services/service/src/discovery/discovery_manager.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/services/service/src/discovery/discovery_manager.cpp b/services/service/src/discovery/discovery_manager.cpp index ef1d30661..92e3b4d9d 100644 --- a/services/service/src/discovery/discovery_manager.cpp +++ b/services/service/src/discovery/discovery_manager.cpp @@ -19,7 +19,6 @@ #include #if !(defined(__LITEOS_M__) || defined(LITE_DEVICE)) -#include "deviceprofile_connector.h" #endif #include "discovery_filter.h" #include "dm_anonymous.h" -- Gitee From 7ce2a409363454b2d184f28c851974cf40fdc83f Mon Sep 17 00:00:00 2001 From: yangwei_814916 Date: Mon, 8 Jan 2024 19:45:05 +0800 Subject: [PATCH 04/13] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=BC=80=E6=9C=BA?= =?UTF-8?q?=E5=86=85=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: yangwei_814916 --- commondependency/BUILD.gn | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/commondependency/BUILD.gn b/commondependency/BUILD.gn index b9484c878..037d7142b 100644 --- a/commondependency/BUILD.gn +++ b/commondependency/BUILD.gn @@ -54,9 +54,7 @@ ohos_shared_library("devicemanagerdependency") { if (os_account_part_exists) { defines += [ "OS_ACCOUNT_PART_EXISTS" ] - external_deps += [ - "os_account:os_account_innerkits", - ] + external_deps += [ "os_account:os_account_innerkits" ] } subsystem_name = "distributedhardware" -- Gitee From 2d393c52c6282036c819520a8b3ec5b35ef6b485 Mon Sep 17 00:00:00 2001 From: yangwei_814916 Date: Tue, 9 Jan 2024 15:15:37 +0800 Subject: [PATCH 05/13] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=BC=80=E6=9C=BA?= =?UTF-8?q?=E5=86=85=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: yangwei_814916 --- .../authenticatedeviceservice_fuzzer/BUILD.gn | 2 ++ .../servicesfuzztest/devicemanagerservice_fuzzer/BUILD.gn | 2 ++ .../gettrusteddevicelistservice_fuzzer/BUILD.gn | 2 ++ .../shiftlnngeardeviceservice_fuzzer/BUILD.gn | 2 ++ test/unittest/BUILD.gn | 8 +++++++- 5 files changed, 15 insertions(+), 1 deletion(-) diff --git a/test/commonfuzztest/authenticatedeviceservice_fuzzer/BUILD.gn b/test/commonfuzztest/authenticatedeviceservice_fuzzer/BUILD.gn index 4517f9b77..b00bebcff 100644 --- a/test/commonfuzztest/authenticatedeviceservice_fuzzer/BUILD.gn +++ b/test/commonfuzztest/authenticatedeviceservice_fuzzer/BUILD.gn @@ -68,6 +68,8 @@ ohos_fuzztest("AuthenticateDeviceServiceFuzzTest") { external_deps = [ "device_auth:deviceauth_sdk", + "device_info_manager:distributed_device_profile_common", + "device_info_manager:distributed_device_profile_sdk", "ipc:ipc_single", "safwk:system_ability_fwk", ] diff --git a/test/servicesfuzztest/devicemanagerservice_fuzzer/BUILD.gn b/test/servicesfuzztest/devicemanagerservice_fuzzer/BUILD.gn index 630a5c6f4..2c3b2e169 100644 --- a/test/servicesfuzztest/devicemanagerservice_fuzzer/BUILD.gn +++ b/test/servicesfuzztest/devicemanagerservice_fuzzer/BUILD.gn @@ -69,6 +69,8 @@ ohos_fuzztest("DeviceManagerServiceFuzzTest") { external_deps = [ "device_auth:deviceauth_sdk", + "device_info_manager:distributed_device_profile_common", + "device_info_manager:distributed_device_profile_sdk", "ipc:ipc_single", "safwk:system_ability_fwk", ] diff --git a/test/servicesfuzztest/gettrusteddevicelistservice_fuzzer/BUILD.gn b/test/servicesfuzztest/gettrusteddevicelistservice_fuzzer/BUILD.gn index c80293936..77c749a1d 100644 --- a/test/servicesfuzztest/gettrusteddevicelistservice_fuzzer/BUILD.gn +++ b/test/servicesfuzztest/gettrusteddevicelistservice_fuzzer/BUILD.gn @@ -63,6 +63,8 @@ ohos_fuzztest("GetTrustedDeviceListServiceFuzzTest") { external_deps = [ "device_auth:deviceauth_sdk", + "device_info_manager:distributed_device_profile_common", + "device_info_manager:distributed_device_profile_sdk", "ipc:ipc_single", "safwk:system_ability_fwk", ] diff --git a/test/servicesfuzztest/shiftlnngeardeviceservice_fuzzer/BUILD.gn b/test/servicesfuzztest/shiftlnngeardeviceservice_fuzzer/BUILD.gn index 75e39dfc9..b8a137ed7 100644 --- a/test/servicesfuzztest/shiftlnngeardeviceservice_fuzzer/BUILD.gn +++ b/test/servicesfuzztest/shiftlnngeardeviceservice_fuzzer/BUILD.gn @@ -63,6 +63,8 @@ ohos_fuzztest("ShiftLNNGearDeviceServiceFuzzTest") { external_deps = [ "device_auth:deviceauth_sdk", + "device_info_manager:distributed_device_profile_common", + "device_info_manager:distributed_device_profile_sdk", "ipc:ipc_single", "safwk:system_ability_fwk", ] diff --git a/test/unittest/BUILD.gn b/test/unittest/BUILD.gn index e603c91f1..cdb7ebb92 100644 --- a/test/unittest/BUILD.gn +++ b/test/unittest/BUILD.gn @@ -429,7 +429,11 @@ ohos_unittest("UTTest_ipc_server_stub") { deps = [ ":device_manager_test_common" ] - external_deps = [ "device_auth:deviceauth_sdk" ] + external_deps = [ + "device_auth:deviceauth_sdk", + "device_info_manager:distributed_device_profile_common", + "device_info_manager:distributed_device_profile_sdk", + ] } ## UnitTest UTTest_ipc_server_stub }}} @@ -928,6 +932,8 @@ ohos_static_library("device_manager_test_common") { "common_event_service:cesfwk_core", "common_event_service:cesfwk_innerkits", "device_auth:deviceauth_sdk", + "device_info_manager:distributed_device_profile_common", + "device_info_manager:distributed_device_profile_sdk", "dsoftbus:softbus_client", "eventhandler:libeventhandler", "hilog:libhilog", -- Gitee From 2244af1a72fd1a66f154d2452e3f93f6a4223633 Mon Sep 17 00:00:00 2001 From: yangwei_814916 Date: Tue, 9 Jan 2024 17:31:14 +0800 Subject: [PATCH 06/13] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=BC=80=E6=9C=BA?= =?UTF-8?q?=E5=86=85=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: yangwei_814916 --- services/service/BUILD.gn | 1 + 1 file changed, 1 insertion(+) diff --git a/services/service/BUILD.gn b/services/service/BUILD.gn index c740fb0dc..34c5f1aa3 100644 --- a/services/service/BUILD.gn +++ b/services/service/BUILD.gn @@ -50,6 +50,7 @@ if (defined(ohos_lite)) { "//foundation/distributedshedule/samgr_lite/interfaces/kits/samgr", "//foundation/systemabilitymgr/samgr/interfaces/innerkits/samgr_proxy/include", "${devicemanager_path}/radar/include", + "${devicemanager_path}/commondependency/include", ] sources = [ -- Gitee From 48c3f1f56460c44f70f4863f8e56693f12b2b175 Mon Sep 17 00:00:00 2001 From: yangwei_814916 Date: Tue, 9 Jan 2024 18:05:27 +0800 Subject: [PATCH 07/13] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=BC=80=E6=9C=BA?= =?UTF-8?q?=E5=86=85=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: yangwei_814916 --- services/service/include/discovery/discovery_manager.h | 3 +++ services/service/src/discovery/discovery_manager.cpp | 2 -- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/services/service/include/discovery/discovery_manager.h b/services/service/include/discovery/discovery_manager.h index f33e71ae1..d30202d07 100644 --- a/services/service/include/discovery/discovery_manager.h +++ b/services/service/include/discovery/discovery_manager.h @@ -18,7 +18,10 @@ #include +#if !(defined(__LITEOS_M__) || defined(LITE_DEVICE)) #include "deviceprofile_connector.h" +#endif + #include "discovery_filter.h" #include "idevice_manager_service_listener.h" #include "dm_timer.h" diff --git a/services/service/src/discovery/discovery_manager.cpp b/services/service/src/discovery/discovery_manager.cpp index 92e3b4d9d..1f49f9ec5 100644 --- a/services/service/src/discovery/discovery_manager.cpp +++ b/services/service/src/discovery/discovery_manager.cpp @@ -18,8 +18,6 @@ #include #include -#if !(defined(__LITEOS_M__) || defined(LITE_DEVICE)) -#endif #include "discovery_filter.h" #include "dm_anonymous.h" #include "dm_constants.h" -- Gitee From 13335c15a3e242a76018151e8a355f165e82d0f3 Mon Sep 17 00:00:00 2001 From: yangwei_814916 Date: Tue, 9 Jan 2024 19:46:50 +0800 Subject: [PATCH 08/13] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=BC=80=E6=9C=BA?= =?UTF-8?q?=E5=86=85=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: yangwei_814916 --- services/service/BUILD.gn | 2 +- services/service/include/discovery/discovery_manager.h | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/services/service/BUILD.gn b/services/service/BUILD.gn index 34c5f1aa3..3a85adbd7 100644 --- a/services/service/BUILD.gn +++ b/services/service/BUILD.gn @@ -49,8 +49,8 @@ if (defined(ohos_lite)) { "${interfaces_path}/c/ipc/include", "//foundation/distributedshedule/samgr_lite/interfaces/kits/samgr", "//foundation/systemabilitymgr/samgr/interfaces/innerkits/samgr_proxy/include", - "${devicemanager_path}/radar/include", "${devicemanager_path}/commondependency/include", + "${devicemanager_path}/radar/include", ] sources = [ diff --git a/services/service/include/discovery/discovery_manager.h b/services/service/include/discovery/discovery_manager.h index d30202d07..7c576877a 100644 --- a/services/service/include/discovery/discovery_manager.h +++ b/services/service/include/discovery/discovery_manager.h @@ -18,9 +18,7 @@ #include -#if !(defined(__LITEOS_M__) || defined(LITE_DEVICE)) #include "deviceprofile_connector.h" -#endif #include "discovery_filter.h" #include "idevice_manager_service_listener.h" -- Gitee From 1846fa45232454a6576f688fe7dd877a75544723 Mon Sep 17 00:00:00 2001 From: yangwei_814916 Date: Tue, 9 Jan 2024 19:57:12 +0800 Subject: [PATCH 09/13] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=BC=80=E6=9C=BA?= =?UTF-8?q?=E5=86=85=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: yangwei_814916 --- services/service/src/discovery/discovery_manager.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/services/service/src/discovery/discovery_manager.cpp b/services/service/src/discovery/discovery_manager.cpp index 1f49f9ec5..dd18579c2 100644 --- a/services/service/src/discovery/discovery_manager.cpp +++ b/services/service/src/discovery/discovery_manager.cpp @@ -31,11 +31,15 @@ const uint16_t DM_INVALID_FLAG_ID = 0; constexpr const char* LNN_DISC_CAPABILITY = "capability"; constexpr const char* DISCOVERY_TIMEOUT_TASK = "deviceManagerTimer:discovery"; const std::string TYPE_MINE = "findDeviceMode"; -constexpr const char* LIB_DM_COMDENPENDENCY_NAME = "libdevicemanagerdependency.z.so"; static std::mutex comDependencyLoadLock; bool DiscoveryManager::isSoLoaded_ = false; IDeviceProfileConnector* DiscoveryManager::dpConnector_ = nullptr; void* DiscoveryManager::dpConnectorHandle_ = nullptr; +#if !(defined(__LITEOS_M__) || defined(LITE_DEVICE)) +constexpr const char* LIB_DM_COMDENPENDENCY_NAME = "libdevicemanagerdependency.z.so"; +#else +constexpr const char* LIB_DM_COMDENPENDENCY_NAME = "libdevicemanagerdependency.so"; +#endif DiscoveryManager::DiscoveryManager(std::shared_ptr softbusListener, std::shared_ptr listener) : softbusListener_(softbusListener), listener_(listener) -- Gitee From e1d4ef94e0b1a7337f4e694f4c3eeacd1e40f165 Mon Sep 17 00:00:00 2001 From: yangwei_814916 Date: Wed, 10 Jan 2024 09:50:54 +0800 Subject: [PATCH 10/13] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=BC=80=E6=9C=BA?= =?UTF-8?q?=E5=86=85=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: yangwei_814916 --- services/service/include/discovery/discovery_manager.h | 8 ++++++-- services/service/src/discovery/discovery_manager.cpp | 8 ++++---- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/services/service/include/discovery/discovery_manager.h b/services/service/include/discovery/discovery_manager.h index 7c576877a..4f219a1d3 100644 --- a/services/service/include/discovery/discovery_manager.h +++ b/services/service/include/discovery/discovery_manager.h @@ -17,9 +17,9 @@ #define OHOS_DISCOVERY_MANAGER_H #include - +#if !(defined(__LITEOS_M__) || defined(LITE_DEVICE)) #include "deviceprofile_connector.h" - +#endif #include "discovery_filter.h" #include "idevice_manager_service_listener.h" #include "dm_timer.h" @@ -51,9 +51,11 @@ public: int32_t EnableDiscoveryListener(const std::string &pkgName, const std::map &discoverParam, const std::map &filterOptions); int32_t DisableDiscoveryListener(const std::string &pkgName, const std::map &extraParam); +#if !(defined(__LITEOS_M__) || defined(LITE_DEVICE)) static IDeviceProfileConnector* GetCommonDependencyObj(); static bool IsCommonDependencyReady(); static bool CloseCommonDependencyObj(); +#endif private: void StartDiscoveryTimer(); @@ -74,9 +76,11 @@ private: std::shared_ptr listener_; std::queue discoveryQueue_; std::map discoveryContextMap_; +#if !(defined(__LITEOS_M__) || defined(LITE_DEVICE)) static bool isSoLoaded_; static IDeviceProfileConnector *dpConnector_; static void *dpConnectorHandle_; +#endif }; } // namespace DistributedHardware } // namespace OHOS diff --git a/services/service/src/discovery/discovery_manager.cpp b/services/service/src/discovery/discovery_manager.cpp index dd18579c2..7a74f65cb 100644 --- a/services/service/src/discovery/discovery_manager.cpp +++ b/services/service/src/discovery/discovery_manager.cpp @@ -31,14 +31,12 @@ const uint16_t DM_INVALID_FLAG_ID = 0; constexpr const char* LNN_DISC_CAPABILITY = "capability"; constexpr const char* DISCOVERY_TIMEOUT_TASK = "deviceManagerTimer:discovery"; const std::string TYPE_MINE = "findDeviceMode"; +#if !(defined(__LITEOS_M__) || defined(LITE_DEVICE)) static std::mutex comDependencyLoadLock; +constexpr const char* LIB_DM_COMDENPENDENCY_NAME = "libdevicemanagerdependency.z.so"; bool DiscoveryManager::isSoLoaded_ = false; IDeviceProfileConnector* DiscoveryManager::dpConnector_ = nullptr; void* DiscoveryManager::dpConnectorHandle_ = nullptr; -#if !(defined(__LITEOS_M__) || defined(LITE_DEVICE)) -constexpr const char* LIB_DM_COMDENPENDENCY_NAME = "libdevicemanagerdependency.z.so"; -#else -constexpr const char* LIB_DM_COMDENPENDENCY_NAME = "libdevicemanagerdependency.so"; #endif DiscoveryManager::DiscoveryManager(std::shared_ptr softbusListener, @@ -401,6 +399,7 @@ int32_t DiscoveryManager::GetDeviceAclParam(const std::string &pkgName, std::str return DM_OK; } +#if !(defined(__LITEOS_M__) || defined(LITE_DEVICE)) IDeviceProfileConnector* DiscoveryManager::GetCommonDependencyObj() { return dpConnector_; @@ -456,5 +455,6 @@ bool DiscoveryManager::CloseCommonDependencyObj() LOGI("close libdevicemanagerdependency so success."); return true; } +#endif } // namespace DistributedHardware } // namespace OHOS -- Gitee From 1c27643b6ac835737bdbd4cf8485d730b9b9c5d4 Mon Sep 17 00:00:00 2001 From: yangwei_814916 Date: Wed, 10 Jan 2024 10:10:06 +0800 Subject: [PATCH 11/13] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=BC=80=E6=9C=BA?= =?UTF-8?q?=E5=86=85=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: yangwei_814916 --- services/service/include/discovery/discovery_manager.h | 2 +- services/service/src/discovery/discovery_manager.cpp | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/services/service/include/discovery/discovery_manager.h b/services/service/include/discovery/discovery_manager.h index 4f219a1d3..666677723 100644 --- a/services/service/include/discovery/discovery_manager.h +++ b/services/service/include/discovery/discovery_manager.h @@ -76,7 +76,7 @@ private: std::shared_ptr listener_; std::queue discoveryQueue_; std::map discoveryContextMap_; -#if !(defined(__LITEOS_M__) || defined(LITE_DEVICE)) +#if !(defined(__LITEOS_M__) || defined(LITE_DEVICE)) static bool isSoLoaded_; static IDeviceProfileConnector *dpConnector_; static void *dpConnectorHandle_; diff --git a/services/service/src/discovery/discovery_manager.cpp b/services/service/src/discovery/discovery_manager.cpp index 7a74f65cb..1985b0b91 100644 --- a/services/service/src/discovery/discovery_manager.cpp +++ b/services/service/src/discovery/discovery_manager.cpp @@ -47,7 +47,9 @@ DiscoveryManager::DiscoveryManager(std::shared_ptr softbusListe DiscoveryManager::~DiscoveryManager() { +#if !(defined(__LITEOS_M__) || defined(LITE_DEVICE)) CloseCommonDependencyObj(); +#endif LOGI("DiscoveryManager destructor."); } -- Gitee From b501ccc219caa572e520b490e084689c47050437 Mon Sep 17 00:00:00 2001 From: yangwei_814916 Date: Thu, 11 Jan 2024 09:10:50 +0800 Subject: [PATCH 12/13] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=BC=80=E6=9C=BA?= =?UTF-8?q?=E5=86=85=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: yangwei_814916 --- services/service/BUILD.gn | 1 - 1 file changed, 1 deletion(-) diff --git a/services/service/BUILD.gn b/services/service/BUILD.gn index 3a85adbd7..c740fb0dc 100644 --- a/services/service/BUILD.gn +++ b/services/service/BUILD.gn @@ -49,7 +49,6 @@ if (defined(ohos_lite)) { "${interfaces_path}/c/ipc/include", "//foundation/distributedshedule/samgr_lite/interfaces/kits/samgr", "//foundation/systemabilitymgr/samgr/interfaces/innerkits/samgr_proxy/include", - "${devicemanager_path}/commondependency/include", "${devicemanager_path}/radar/include", ] -- Gitee From 8dbb0551ad44479e7c54358eaf0551d197329e14 Mon Sep 17 00:00:00 2001 From: yangwei_814916 Date: Thu, 11 Jan 2024 19:31:47 +0800 Subject: [PATCH 13/13] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=BC=80=E6=9C=BA?= =?UTF-8?q?=E5=86=85=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: yangwei_814916 --- services/service/src/discovery/discovery_manager.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/services/service/src/discovery/discovery_manager.cpp b/services/service/src/discovery/discovery_manager.cpp index 1985b0b91..bb95c9f56 100644 --- a/services/service/src/discovery/discovery_manager.cpp +++ b/services/service/src/discovery/discovery_manager.cpp @@ -409,7 +409,7 @@ IDeviceProfileConnector* DiscoveryManager::GetCommonDependencyObj() bool DiscoveryManager::IsCommonDependencyReady() { - LOGI("DiscoveryManager::IsCommonDependencyReady start."); + LOGI("DiscoveryManager::IsCommonDependencyReady."); std::lock_guard lock(comDependencyLoadLock); if (isSoLoaded_ && dpConnector_ != nullptr && dpConnectorHandle_ != nullptr) { LOGI("IsCommonDependencyReady already."); @@ -434,7 +434,7 @@ bool DiscoveryManager::IsCommonDependencyReady() } dpConnector_ = func(); isSoLoaded_ = true; - LOGI("IsCommonDependencyReady ready success."); + LOGI("IsCommonDependencyReady success."); return true; } -- Gitee