diff --git a/services/service/BUILD.gn b/services/service/BUILD.gn index c6d338d2fafeea7f9daae5f86fddc1164a82c1e5..702ffe9979a467230a56b92398131235f389b9f1 100644 --- a/services/service/BUILD.gn +++ b/services/service/BUILD.gn @@ -15,6 +15,7 @@ if (defined(ohos_lite)) { import("//build/lite/config/component/lite_component.gni") } else { import("//build/ohos.gni") + import("//build/config/components/idl_tool/idl.gni") } import("//foundation/distributedhardware/device_manager/device_manager.gni") @@ -126,6 +127,32 @@ if (defined(ohos_lite)) { deps = [] } } else { +idl_gen_interface("device_manager_interface") { +src_idl = rebase_path("IDeviceManagerIpc.idl") +log_tag = "devicemanagerservice" +log_domainid = "0xD004110" +} + +ohos_source_set("device_manager_ipc") { +sanitize = { + debug = false + cfi = true + cfi_cross_dso = true +} +output_values = get_target_outputs(":device_manager_interface") +sources = [] +sources += filter_include(output_values, [ "*.cpp" ]) +public_configs = [ ":devicemanagerservice_config" ] +deps = [ ":device_manager_interface" ] +external_deps = [ + "c_utils:utils", + "hilog:libhilog", + "hitrace:hitrace_meter", + "ipc:ipc_core", +] +subsystem_name = "distributedhardware" +part_name = "device_manager" +} config("devicemanagerservice_config") { include_dirs = [ "include", @@ -158,6 +185,7 @@ if (defined(ohos_lite)) { "${utils_path}/include/kvadapter", "${utils_path}/include/timer", "${json_path}/include", + "${target_gen_dir}", ] } config("cflags_config") { @@ -237,9 +265,11 @@ if (defined(ohos_lite)) { "HI_LOG_ENABLE", "DH_LOG_TAG=\"devicemanagerservice\"", "LOG_DOMAIN=0xD004110", + "private = public", ] deps = [ + ":device_manager_ipc", "${devicemanager_path}/commondependency:devicemanagerdependency", "${devicemanager_path}/radar:devicemanagerradar", "${devicemanager_path}/services/implementation:devicemanagerserviceimpl", @@ -380,9 +410,11 @@ if (defined(ohos_lite)) { "HI_LOG_ENABLE", "DH_LOG_TAG=\"devicemanagerservice\"", "LOG_DOMAIN=0xD004110", + "private = public", ] deps = [ + ":device_manager_ipc", "${devicemanager_path}/commondependency:devicemanagerdependency", "${devicemanager_path}/radar:devicemanagerradar", "${devicemanager_path}/services/implementation:devicemanagerserviceimpl", diff --git a/services/service/IDeviceManagerIpc.idl b/services/service/IDeviceManagerIpc.idl new file mode 100644 index 0000000000000000000000000000000000000000..13bcc9965a2bbb7aacadb17e2b290988062b005a --- /dev/null +++ b/services/service/IDeviceManagerIpc.idl @@ -0,0 +1,17 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +interface OHOS.DistributedHardware.IDeviceManagerIpc { +[ipccode 17] void ServerPublishFinish([in] String pkgName, [in] int publishId, [in] int publishResult); +} \ No newline at end of file diff --git a/services/service/include/ipc/standard/ipc_server_stub.h b/services/service/include/ipc/standard/ipc_server_stub.h index 4756323015470d3d3237c4062accb45a41c08fe8..d7406b379c7a665ffebaa76d70cd80be36ce7fa2 100644 --- a/services/service/include/ipc/standard/ipc_server_stub.h +++ b/services/service/include/ipc/standard/ipc_server_stub.h @@ -32,7 +32,6 @@ #include "dm_device_info.h" #include "dm_single_instance.h" - namespace OHOS { namespace DistributedHardware { enum class ServiceRunningState { STATE_NOT_START, STATE_RUNNING }; @@ -116,7 +115,6 @@ public: * @tc.type: FUNC */ const sptr GetDmListener(ProcessInfo processInfo) const; - /** * @tc.name: IpcServerStub::GetDmListenerPkgName * @tc.desc: Get DmListener PkgName of the IpcServerStub