ipc_core deps ipc_single

Signed-off-by: libing_frank <libing3@huawei.com>
Change-Id: Ifc610f433d38ebea48f135f338d78a859ba569cf
This commit is contained in:
libing_frank 2024-10-08 17:07:07 +08:00
parent d5e6822168
commit 840ef11e5c
5 changed files with 83 additions and 154 deletions

View File

@ -15,94 +15,38 @@ import("//build/ohos.gni")
import("../../../config.gni")
SUBSYSTEM_DIR = "//foundation/communication/ipc"
IPC_CORE_ROOT = "$SUBSYSTEM_DIR/ipc/native"
config("libipc_core_private_config") {
cflags_cc = [ "-O2" ]
}
config("ipc_all_deps_config") {
include_dirs = [ "$SUBSYSTEM_DIR/interfaces/innerkits/ipc_core/include" ]
}
ohos_shared_library("ipc_core") {
sanitize = {
integer_overflow = true
ohos_prebuilt_shared_library("ipc_core") {
source = "${root_out_dir}/communication/ipc/libipc_single.z.so"
if (target_cpu == "arm") {
symlink_ext = [ "lib/platformsdk/libipc_core.z.so" ]
} else if (target_cpu == "arm64" || target_cpu == "x86_64") {
symlink_ext = [ "lib64/platformsdk/libipc_core.z.so" ]
}
version_script = "libipc_core_map"
branch_protector_ret = "pac_ret"
include_dirs = [
"$IPC_CORE_ROOT/c/adapter/access_token/include",
"$IPC_CORE_ROOT/c/rpc/include",
"$SUBSYSTEM_DIR/utils/include",
]
sources = [
"$IPC_CORE_ROOT/c/adapter/access_token/src/access_token_adapter.c",
"$IPC_CORE_ROOT/c/rpc/src/rpc_feature_set.c",
"$IPC_CORE_ROOT/src/core/source/buffer_object.cpp",
"$IPC_CORE_ROOT/src/core/source/comm_auth_info.cpp",
"$IPC_CORE_ROOT/src/core/source/databus_socket_listener.cpp",
"$IPC_CORE_ROOT/src/core/source/dbinder_callback_stub.cpp",
"$IPC_CORE_ROOT/src/core/source/dbinder_session_object.cpp",
"$IPC_CORE_ROOT/src/core/source/dbinder_softbus_client.cpp",
"$IPC_CORE_ROOT/src/core/source/ipc_file_descriptor.cpp",
"$IPC_CORE_ROOT/src/core/source/ipc_object_proxy.cpp",
"$IPC_CORE_ROOT/src/core/source/ipc_object_stub.cpp",
"$IPC_CORE_ROOT/src/core/source/ipc_payload_statistics.cpp",
"$IPC_CORE_ROOT/src/core/source/ipc_process_skeleton.cpp",
"$IPC_CORE_ROOT/src/core/source/ipc_skeleton.cpp",
"$IPC_CORE_ROOT/src/core/source/ipc_thread_pool.cpp",
"$IPC_CORE_ROOT/src/core/source/ipc_thread_skeleton.cpp",
"$IPC_CORE_ROOT/src/core/source/ipc_workthread.cpp",
"$IPC_CORE_ROOT/src/core/source/iremote_broker.cpp",
"$IPC_CORE_ROOT/src/core/source/iremote_object.cpp",
"$IPC_CORE_ROOT/src/core/source/message_option.cpp",
"$IPC_CORE_ROOT/src/core/source/message_parcel.cpp",
"$IPC_CORE_ROOT/src/core/source/peer_holder.cpp",
"$IPC_CORE_ROOT/src/core/source/stub_refcount_object.cpp",
"$IPC_CORE_ROOT/src/mock/source/binder_debug.cpp",
"$IPC_CORE_ROOT/src/mock/source/binder_invoker.cpp",
"$IPC_CORE_ROOT/src/mock/source/dbinder_databus_invoker.cpp",
"$IPC_CORE_ROOT/src/mock/source/hitrace_invoker.cpp",
"$IPC_CORE_ROOT/src/mock/source/invoker_factory.cpp",
"$IPC_CORE_ROOT/src/mock/source/invoker_rawdata.cpp",
]
configs = [
"$SUBSYSTEM_DIR/config:ipc_util_config",
":libipc_core_private_config",
]
public_configs = [
"$SUBSYSTEM_DIR/config:dsoftbus_header_deps_config",
"$SUBSYSTEM_DIR/config:ipc_util_config",
":ipc_all_deps_config",
]
all_dependent_configs = [ ":ipc_all_deps_config" ]
deps = [ "$SUBSYSTEM_DIR/interfaces/innerkits/ipc_single:ipc_single" ]
deps = [ "$IPC_CORE_ROOT/src/core:ipc_common" ]
external_deps = [
"access_token:libaccesstoken_sdk",
"c_utils:utils",
"faultloggerd:libbacktrace_local",
"ffrt:libffrt",
"hilog:libhilog",
"hisysevent:libhisysevent",
"hitrace:libhitracechain",
"selinux:libselinux",
]
defines = [ "FFRT_IPC_ENABLE" ]
if (build_selinux) {
defines += [ "WITH_SELINUX" ]
}
install_enable = true
innerapi_tags = [
"chipsetsdk",
"platformsdk",
"sasdk",
]
install_images = [ system_base_dir ]
install_images = [
system_base_dir,
updater_base_dir,
]
subsystem_name = "communication"
part_name = "ipc"
}

View File

@ -18,11 +18,13 @@ SUBSYSTEM_DIR = "//foundation/communication/ipc"
IPC_CORE_ROOT = "$SUBSYSTEM_DIR/ipc/native"
config("libipc_single_private_config") {
cflags_cc = [
"-DCONFIG_IPC_SINGLE",
"-O2",
]
cflags_cc = [ "-O2" ]
}
config("ipc_all_deps_config") {
include_dirs = [ "$SUBSYSTEM_DIR/interfaces/innerkits/ipc_core/include" ]
}
ohos_shared_library("ipc_single") {
sanitize = {
integer_overflow = true
@ -31,11 +33,19 @@ ohos_shared_library("ipc_single") {
branch_protector_ret = "pac_ret"
include_dirs = [
"$IPC_CORE_ROOT/c/adapter/access_token/include",
"$IPC_CORE_ROOT/c/rpc/include",
"$SUBSYSTEM_DIR/utils/include",
]
sources = [
"$IPC_CORE_ROOT/c/adapter/access_token/src/access_token_adapter.c",
"$IPC_CORE_ROOT/c/rpc/src/rpc_feature_set.c",
"$IPC_CORE_ROOT/src/core/source/buffer_object.cpp",
"$IPC_CORE_ROOT/src/core/source/comm_auth_info.cpp",
"$IPC_CORE_ROOT/src/core/source/databus_socket_listener.cpp",
"$IPC_CORE_ROOT/src/core/source/dbinder_callback_stub.cpp",
"$IPC_CORE_ROOT/src/core/source/dbinder_session_object.cpp",
"$IPC_CORE_ROOT/src/core/source/dbinder_softbus_client.cpp",
"$IPC_CORE_ROOT/src/core/source/ipc_file_descriptor.cpp",
"$IPC_CORE_ROOT/src/core/source/ipc_object_proxy.cpp",
"$IPC_CORE_ROOT/src/core/source/ipc_object_stub.cpp",
@ -50,8 +60,10 @@ ohos_shared_library("ipc_single") {
"$IPC_CORE_ROOT/src/core/source/message_option.cpp",
"$IPC_CORE_ROOT/src/core/source/message_parcel.cpp",
"$IPC_CORE_ROOT/src/core/source/peer_holder.cpp",
"$IPC_CORE_ROOT/src/core/source/stub_refcount_object.cpp",
"$IPC_CORE_ROOT/src/mock/source/binder_debug.cpp",
"$IPC_CORE_ROOT/src/mock/source/binder_invoker.cpp",
"$IPC_CORE_ROOT/src/mock/source/dbinder_databus_invoker.cpp",
"$IPC_CORE_ROOT/src/mock/source/hitrace_invoker.cpp",
"$IPC_CORE_ROOT/src/mock/source/invoker_factory.cpp",
"$IPC_CORE_ROOT/src/mock/source/invoker_rawdata.cpp",
@ -61,10 +73,14 @@ ohos_shared_library("ipc_single") {
"$SUBSYSTEM_DIR/config:ipc_util_config",
":libipc_single_private_config",
]
public_configs = [ "$SUBSYSTEM_DIR/config:ipc_util_config" ]
public_configs = [
"$SUBSYSTEM_DIR/config:dsoftbus_header_deps_config",
"$SUBSYSTEM_DIR/config:ipc_util_config",
":ipc_all_deps_config",
]
all_dependent_configs = [ ":ipc_all_deps_config" ]
deps = [ "$IPC_CORE_ROOT/src/core:ipc_common" ]
external_deps = [
"c_utils:utils",
"faultloggerd:libbacktrace_local",
@ -74,10 +90,7 @@ ohos_shared_library("ipc_single") {
"hitrace:libhitracechain",
"selinux:libselinux",
]
defines = [
"CONFIG_IPC_SINGLE",
"FFRT_IPC_ENABLE",
]
defines = [ "FFRT_IPC_ENABLE" ]
if (build_selinux) {
defines += [ "WITH_SELINUX" ]
}
@ -90,7 +103,7 @@ ohos_shared_library("ipc_single") {
system_base_dir,
updater_base_dir,
]
install_enable = false
subsystem_name = "communication"
part_name = "ipc"
}

View File

@ -16,79 +16,55 @@
1.0 {
global:
extern "C++" {
OHOS::MessageParcel::WriteInterfaceToken*;
OHOS::IPCObjectStub::IPCObjectStub*;
OHOS::IPCObjectStub::Dump*;
RpcGetSelfTokenID;
GetRpcFeatureAck;
GetFeatureSize;
SetFeatureTransData;
IsFeatureAck;
GetTokenFromData;
GetTokenIdSize;
IsATEnable;
RpcGetFirstCallerTokenID;
OHOS::DBinderSoftbusClient*;
OHOS::MessageParcel*;
OHOS::IPCObjectStub*;
OHOS::IPCObjectProxy*;
OHOS::IPCFileDescriptor*;
OHOS::BrokerRegistration::Register*;
OHOS::BrokerRegistration::Unregister*;
OHOS::BrokerRegistration::NewInstance*;
OHOS::MessageOption*;
OHOS::InvokerFactory*;
OHOS::IPCDfx*;
OHOS::IPCSkeleton*;
OHOS::IPCPayloadStatistics*;
OHOS::IPC_SINGLE::IPCProcessSkeleton::LockForNumExecuting;
OHOS::IPC_SINGLE::IPCProcessSkeleton::UnlockForNumExecuting;
OHOS::IPC_SINGLE::IPCThreadSkeleton*;
OHOS::IPCProcessSkeleton::LockForNumExecuting;
OHOS::IPCProcessSkeleton::UnlockForNumExecuting;
OHOS::IRemoteObject*;
"OHOS::IPC_SINGLE::BinderInvoker::BinderInvoker()";
"OHOS::MessageParcel::MessageParcel()";
"OHOS::MessageParcel::MessageParcel(OHOS::Allocator*)";
"OHOS::MessageParcel::~MessageParcel()";
"OHOS::MessageParcel::WriteFileDescriptor(int)";
"OHOS::MessageParcel::ReadFileDescriptor()";
"OHOS::MessageParcel::ReadInterfaceToken()";
"OHOS::MessageParcel::ReadRemoteObject()";
"OHOS::MessageParcel::WriteRawData(void const*, unsigned long)";
"OHOS::MessageParcel::WriteRawData(void const*, unsigned int)";
"OHOS::MessageParcel::ReadRawData(unsigned long)";
"OHOS::MessageParcel::ReadRawData(unsigned int)";
"OHOS::MessageParcel::WriteRemoteObject(OHOS::sptr<OHOS::IRemoteObject> const&)";
"OHOS::MessageParcel::ContainFileDescriptors() const";
"OHOS::MessageParcel::WriteAshmem(OHOS::sptr<OHOS::Ashmem>)";
"OHOS::MessageParcel::ReadAshmem()";
"OHOS::MessageParcel::Append(OHOS::MessageParcel&)";
"OHOS::MessageParcel::WriteNoException()";
"OHOS::MessageParcel::ReadException()";
"OHOS::IPCObjectStub::~IPCObjectStub()";
"OHOS::IPCObjectStub::OnRemoteRequest(unsigned int, OHOS::MessageParcel&, OHOS::MessageParcel&, OHOS::MessageOption&)";
"OHOS::IPCObjectStub::GetObjectRefCount()";
"OHOS::IPCObjectStub::SendRequest(unsigned int, OHOS::MessageParcel&, OHOS::MessageParcel&, OHOS::MessageOption&)";
"OHOS::IPCObjectStub::AddDeathRecipient(OHOS::sptr<OHOS::IRemoteObject::DeathRecipient> const&)";
"OHOS::IPCObjectStub::OnFirstStrongRef(void const*)";
"OHOS::IPCObjectStub::OnLastStrongRef(void const*)";
"OHOS::IPCObjectStub::OnRemoteDump(unsigned int, OHOS::MessageParcel&, OHOS::MessageParcel&, OHOS::MessageOption&)";
"OHOS::IPCObjectStub::ProcessProto(unsigned int, OHOS::MessageParcel&, OHOS::MessageParcel&, OHOS::MessageOption&)";
"OHOS::IPCObjectStub::GetObjectType() const";
"OHOS::IPCObjectStub::GetCallingPid()";
"OHOS::IPCObjectStub::GetCallingUid()";
"OHOS::IPCObjectStub::GetCallingTokenID()";
"OHOS::IPCObjectStub::GetCallingFullTokenID()";
"OHOS::IPCObjectStub::GetFirstTokenID()";
"OHOS::IPCObjectStub::GetFirstFullTokenID()";
"OHOS::IPCObjectStub::GetRequestSidFlag() const";
"OHOS::IPCObjectStub::SetRequestSidFlag(bool)";
"OHOS::IPCObjectStub::RemoveDeathRecipient(OHOS::sptr<OHOS::IRemoteObject::DeathRecipient> const&)";
OHOS::BinderInvoker*;
OHOS::BrokerRegistration*;
OHOS::IPCThreadSkeleton*;
OHOS::IPCWorkThreadPool*;
OHOS::PeerHolder::PeerHolder*;
OHOS::PeerHolder::Remote*;
OHOS::IPCProcessSkeleton*;
OHOS::DBinderDatabusInvoker*;
OHOS::BufferObject*;
OHOS::DatabusSessionCallback*;
OHOS::DBinderCallbackStub*;
OHOS::StubRefCountObject*;
OHOS::InvokerRawData*;
OHOS::IPCWorkThread*;
OHOS::DBinderSessionObject*;
OHOS::CommAuthInfo*;
"vtable for OHOS::BinderInvoker";
"vtable for OHOS::DatabusSessionCallback";
"virtual thunk to OHOS::IPCObjectStub::~IPCObjectStub()";
"virtual thunk to OHOS::IPCObjectStub::OnFirstStrongRef(void const*)";
"virtual thunk to OHOS::IPCObjectStub::OnLastStrongRef(void const*)";
"virtual thunk to OHOS::IPCObjectStub::~IPCObjectStub()";
"OHOS::BrokerRegistration::Get()";
"OHOS::MessageOption::MessageOption(int, int)";
"OHOS::MessageOption::GetFlags() const";
"OHOS::MessageOption::SetFlags(int)";
"OHOS::MessageParcel::GetRawDataSize() const";
"OHOS::MessageParcel::GetRawDataCapacity() const";
"OHOS::MessageParcel::ClearFileDescriptor()";
"OHOS::MessageParcel::GetInterfaceToken() const";
"OHOS::PeerHolder::PeerHolder(OHOS::sptr<OHOS::IRemoteObject> const&)";
"OHOS::PeerHolder::Remote()";
"OHOS::IRemoteObject::CheckObjectLegality() const";
"OHOS::IRemoteObject::Marshalling(OHOS::Parcel&) const";
"OHOS::IRemoteObject::Marshalling(OHOS::Parcel&, OHOS::sptr<OHOS::IRemoteObject> const&)";
"OHOS::IRemoteObject::Unmarshalling(OHOS::Parcel&)";
"OHOS::IRemoteObject::AsInterface()";
"OHOS::IRemoteObject::IsProxyObject() const";
"OHOS::IRemoteObject::GetObjectDescriptor() const";
"virtual thunk to OHOS::IPCObjectProxy::~IPCObjectProxy()";
"virtual thunk to OHOS::IPCObjectProxy::OnLastStrongRef(void const*)";
"virtual thunk to OHOS::IPCObjectProxy::OnFirstStrongRef(void const*)";
"virtual thunk to OHOS::IPCFileDescriptor::Marshalling(OHOS::Parcel&)";
"virtual thunk to OHOS::IPCFileDescriptor::~ipcFileDescriptor()";
"virtual thunk to OHOS::IRemoteObject::Marshalling(OHOS::Parcel&) const";
"OHOS::IPC_SINGLE::IPCThreadSkeleton::JoinWorkThread(int)";
"virtual thunk to OHOS::IRemoteObject::IsObjectDead() const";
"OHOS::IRemoteObject::IsObjectDead() const";
"OHOS::IPCObjectProxy::IsObjectDead()";
@ -99,8 +75,6 @@
"OHOS::IPCObjectStub::GetInterfaceDescriptor()";
"OHOS::IPCObjectStub::GetAndSaveDBinderData(int, unsigned int)";
"virtual thunk to OHOS::IPCObjectStub::GetAndSaveDBinderData(int, unsigned int)";
"OHOS::IPC_SINGLE::InvokerFactory::Get()";
"OHOS::IPC_SINGLE::InvokerFactory::Register(int, std::__h::function<OHOS::IPC_SINGLE::IRemoteInvoker* ()>)";
};
local:
*;

View File

@ -24,10 +24,7 @@ rust_cxx("ipc_cxx_gen") {
}
config("libipc_c_private_config") {
cflags_cc = [
"-DCONFIG_IPC_SINGLE",
"-O2",
]
cflags_cc = [ "-O2" ]
}
ohos_static_library("ipc_rust_cxx") {

View File

@ -19,8 +19,9 @@
#include "ipc_thread_skeleton.h"
namespace OHOS {
namespace IpcRust {
#ifdef CONFIG_IPC_SINGLE
using namespace IPC_SINGLE;
#endif
bool SetMaxWorkThreadNum(int maxThreadNum)
{
return OHOS::IPCSkeleton::SetMaxWorkThreadNum(maxThreadNum);