diff options
| author | 2022-09-24 16:57:48 +0000 | |
|---|---|---|
| committer | 2022-09-24 16:57:48 +0000 | |
| commit | d9858770607f5fd43820cb69f4b1382275a691e4 (patch) | |
| tree | 47c8867cc881cdcab421175ab0747cb3d6c41161 | |
| parent | 21cf047138dc43d4bb939ffd83e7cfc2c3cfab00 (diff) | |
| parent | d376c6a46d70e9db083baa2e5d2bd7f5ff53413f (diff) | |
Merge "TrustyRpc: Adding a create session with initialization callback function" am: e2c515ef7b am: 866d2f3c33 am: 12511760cb am: 2decd1ae01 am: d376c6a46d
Original change: https://android-review.googlesource.com/c/platform/frameworks/native/+/2229484
Change-Id: I990e6c51e07267a8c1980c0fc0c79a0ea6fbc71f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
| -rw-r--r-- | libs/binder/RpcTrusty.cpp | 11 | ||||
| -rw-r--r-- | libs/binder/include_trusty/binder/RpcTrusty.h | 4 |
2 files changed, 14 insertions, 1 deletions
diff --git a/libs/binder/RpcTrusty.cpp b/libs/binder/RpcTrusty.cpp index ea49eef676..3b53b05991 100644 --- a/libs/binder/RpcTrusty.cpp +++ b/libs/binder/RpcTrusty.cpp @@ -26,8 +26,12 @@ namespace android { using android::base::unique_fd; -sp<IBinder> RpcTrustyConnect(const char* device, const char* port) { +sp<RpcSession> RpcTrustyConnectWithSessionInitializer( + const char* device, const char* port, + std::function<void(sp<RpcSession>&)> sessionInitializer) { auto session = RpcSession::make(RpcTransportCtxFactoryTipcAndroid::make()); + // using the callback to initialize the session + sessionInitializer(session); auto request = [=] { int tipcFd = tipc_connect(device, port); if (tipcFd < 0) { @@ -40,6 +44,11 @@ sp<IBinder> RpcTrustyConnect(const char* device, const char* port) { LOG(ERROR) << "Failed to set up Trusty client. Error: " << statusToString(status).c_str(); return nullptr; } + return session; +} + +sp<IBinder> RpcTrustyConnect(const char* device, const char* port) { + auto session = RpcTrustyConnectWithSessionInitializer(device, port, [](auto) {}); return session->getRootObject(); } diff --git a/libs/binder/include_trusty/binder/RpcTrusty.h b/libs/binder/include_trusty/binder/RpcTrusty.h index f124e0c824..b034b9b65b 100644 --- a/libs/binder/include_trusty/binder/RpcTrusty.h +++ b/libs/binder/include_trusty/binder/RpcTrusty.h @@ -22,4 +22,8 @@ namespace android { sp<IBinder> RpcTrustyConnect(const char* device, const char* port); +sp<RpcSession> RpcTrustyConnectWithSessionInitializer( + const char* device, const char* port, + std::function<void(sp<RpcSession>&)> sessionInitializer); + } // namespace android |