From d06a592f294ff323ba7be793a0bd1baf2b5902b8 Mon Sep 17 00:00:00 2001 From: wuqi0105 Date: Tue, 26 Apr 2022 09:49:25 +0800 Subject: [PATCH] =?UTF-8?q?DM=E4=B8=8A=E7=BA=BF=E5=8A=A8=E6=80=81=E6=8B=89?= =?UTF-8?q?=E8=B5=B7SA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: wuqi0105 --- common/include/dm_constants.h | 1 + services/devicemanagerservice/BUILD.gn | 1 + .../src/devicestate/dm_device_state_manager.cpp | 7 +++++++ utils/BUILD.gn | 7 ++++++- 4 files changed, 15 insertions(+), 1 deletion(-) diff --git a/common/include/dm_constants.h b/common/include/dm_constants.h index a2124ae2..db66982b 100755 --- a/common/include/dm_constants.h +++ b/common/include/dm_constants.h @@ -66,6 +66,7 @@ enum { ERR_DM_INPUT_PARA_INVALID, ERR_DM_SUBSCRIBE_DP_EVENTS, ERR_DM_UNSUBSCRIBE_DP_EVENTS, + ERR_DM_LOAD_FWK_SA_FAIL, DM_IPC_FAILED = 2000, DM_IPC_TRANSACTION_FAILED, DM_IPC_FLATTEN_OBJECT, diff --git a/services/devicemanagerservice/BUILD.gn b/services/devicemanagerservice/BUILD.gn index 4057b15d..e2114fd5 100755 --- a/services/devicemanagerservice/BUILD.gn +++ b/services/devicemanagerservice/BUILD.gn @@ -251,6 +251,7 @@ if (defined(ohos_lite)) { "${common_path}/include/ipc", "${common_path}/include/ipc/model", "${utils_path}/include", + "${utils_path}/include/fwkload", "${utils_path}/include/permission/standard", "//base/security/deviceauth/interfaces/innerkits", "//third_party/json/include", diff --git a/services/devicemanagerservice/src/devicestate/dm_device_state_manager.cpp b/services/devicemanagerservice/src/devicestate/dm_device_state_manager.cpp index e8d0d95a..02af9fed 100755 --- a/services/devicemanagerservice/src/devicestate/dm_device_state_manager.cpp +++ b/services/devicemanagerservice/src/devicestate/dm_device_state_manager.cpp @@ -19,6 +19,7 @@ #include "dm_anonymous.h" #include "dm_constants.h" #include "dm_log.h" +#include "dm_loadfwk.h" namespace OHOS { namespace DistributedHardware { @@ -128,6 +129,12 @@ void DmDeviceStateManager::PostDeviceOffline(const std::string &pkgName, const D void DmDeviceStateManager::OnDeviceOnline(const std::string &pkgName, const DmDeviceInfo &info) { + std::shared_ptr dmLoadFwkPtr = std::make_shared(); + int32_t ret = dmLoadFwkPtr->LoadFwk(); + if (ret != DM_OK) { + LOGE("load fwk sa failed"); + return; + } LOGI("OnDeviceOnline function is called back with pkgName: %s", pkgName.c_str()); RegisterOffLineTimer(info); RegisterProfileListener(pkgName, info); diff --git a/utils/BUILD.gn b/utils/BUILD.gn index c8c9d1b7..371aa15f 100644 --- a/utils/BUILD.gn +++ b/utils/BUILD.gn @@ -116,6 +116,7 @@ if (defined(ohos_lite)) { config("devicemanagerutils_config") { include_dirs = [ "include", + "include/fwkload", "include/ipc/standard", "${common_path}/include", "${common_path}/include/ipc", @@ -134,7 +135,11 @@ if (defined(ohos_lite)) { "src/ipc/standard/ipc_cmd_register.cpp", ] if (support_jsapi) { - sources += [ "src/permission/standard/permission_manager.cpp" ] + sources += [ + "src/fwkload/distributed_hardware_load_callback.cpp", + "src/fwkload/dm_loadfwk.cpp", + "src/permission/standard/permission_manager.cpp", + ] } public_configs = [ ":devicemanagerutils_config" ]