diff --git a/distributedcamera.gni b/distributedcamera.gni index 650ce0ac64ebb2c832078a052192d2e3b33c2a6c..598cd8c84714f7506c77867674d3c6020a66fb70 100644 --- a/distributedcamera.gni +++ b/distributedcamera.gni @@ -42,4 +42,10 @@ build_flags = [ "-Werror" ] declare_args() { distributed_camera_common = true + device_security_level_camera = true + + if (defined(global_parts_info) && + !defined(global_parts_info.security_device_security_level)) { + device_security_level_camera = false + } } diff --git a/services/cameraservice/sinkservice/BUILD.gn b/services/cameraservice/sinkservice/BUILD.gn index 441ac3f41749bf954d31319ec391ca00b8b18673..fdf1276a0e474250151522e96d795bfa6997637d 100644 --- a/services/cameraservice/sinkservice/BUILD.gn +++ b/services/cameraservice/sinkservice/BUILD.gn @@ -106,7 +106,6 @@ ohos_shared_library("distributed_camera_sink") { "c_utils:utils", "camera_framework:camera_framework", "device_manager:devicemanagersdk", - "device_security_level:dslm_sdk", "distributed_hardware_fwk:distributed_av_receiver", "distributed_hardware_fwk:distributedhardwareutils", "drivers_interface_camera:metadata", @@ -122,6 +121,11 @@ ohos_shared_library("distributed_camera_sink") { "samgr:samgr_proxy", ] + if (device_security_level_camera) { + external_deps += [ "device_security_level:dslm_sdk" ] + defines += [ "DEVICE_SECURITY_LEVEL_ENABLE" ] + } + subsystem_name = "distributedhardware" part_name = "distributed_camera" diff --git a/services/cameraservice/sinkservice/src/distributedcameramgr/dcamera_sink_controller.cpp b/services/cameraservice/sinkservice/src/distributedcameramgr/dcamera_sink_controller.cpp index 7b258cc97446e59e0ba91341cfd8c51b4debaa8a..d883992dc7e4b9c06e37f0db10cac698bcb82ad1 100644 --- a/services/cameraservice/sinkservice/src/distributedcameramgr/dcamera_sink_controller.cpp +++ b/services/cameraservice/sinkservice/src/distributedcameramgr/dcamera_sink_controller.cpp @@ -34,8 +34,10 @@ #include "distributed_camera_constants.h" #include "distributed_camera_errno.h" #include "distributed_hardware_log.h" +#ifdef DEVICE_SECURITY_LEVEL_ENABLE #include "device_security_defines.h" #include "device_security_info.h" +#endif #include "idistributed_camera_source.h" #include "ipc_skeleton.h" #include "dcamera_low_latency.h" @@ -686,6 +688,7 @@ bool DCameraSinkController::CheckDeviceSecurityLevel(const std::string &srcDevic int32_t DCameraSinkController::GetDeviceSecurityLevel(const std::string &udid) { + #ifdef DEVICE_SECURITY_LEVEL_ENABLE DeviceIdentify devIdentify; devIdentify.length = DEVICE_ID_MAX_LEN; int32_t ret = memcpy_s(devIdentify.identity, DEVICE_ID_MAX_LEN, udid.c_str(), DEVICE_ID_MAX_LEN); @@ -701,7 +704,9 @@ int32_t DCameraSinkController::GetDeviceSecurityLevel(const std::string &udid) info = nullptr; return DEFAULT_DEVICE_SECURITY_LEVEL; } + #endif int32_t level = 0; + #ifdef DEVICE_SECURITY_LEVEL_ENABLE ret = GetDeviceSecurityLevelValue(info, &level); DHLOGD("Get device security level, level is %{public}d", level); FreeDeviceSecurityInfo(info); @@ -710,6 +715,7 @@ int32_t DCameraSinkController::GetDeviceSecurityLevel(const std::string &udid) DHLOGE("Get device security level failed %{public}d", ret); return DEFAULT_DEVICE_SECURITY_LEVEL; } + #endif return level; }