summaryrefslogtreecommitdiff
path: root/libs/binder/BackendUnifiedServiceManager.h
diff options
context:
space:
mode:
author Devin Moore <devinmoore@google.com> 2024-08-08 21:01:24 +0000
committer Devin Moore <devinmoore@google.com> 2024-08-29 17:10:42 +0000
commit18f63759c833fe73c2323a5f2c5637b8c93ac8a3 (patch)
treea60afff59f119dc5913cbd738a3e096bb83999ff /libs/binder/BackendUnifiedServiceManager.h
parent9d04fe2c66aff0fea66657f397827ed334ea3b7d (diff)
Add support for injecting RPC binder accessors to libbinder
This allows libbinder to set up client connections to binder RPC services underneath the libbinder service manager APIs. It requires callbacks to be added to the local process to get connection information that the client is responsible for obtaining. Once these callbacks are added to libbinder, any client elswhere in the process using the service manager APIs will be able to get and use a binder for the service in the same way they do for kernel binder services. Test: atest binderRpcTest vm_accessor_test Bug: 358427181 Change-Id: Iec27d30a669e0673bd66c99fded1edc335f7dff1
Diffstat (limited to 'libs/binder/BackendUnifiedServiceManager.h')
-rw-r--r--libs/binder/BackendUnifiedServiceManager.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/libs/binder/BackendUnifiedServiceManager.h b/libs/binder/BackendUnifiedServiceManager.h
index f5d7e66568..9aa2706828 100644
--- a/libs/binder/BackendUnifiedServiceManager.h
+++ b/libs/binder/BackendUnifiedServiceManager.h
@@ -61,9 +61,12 @@ public:
private:
sp<os::IServiceManager> mTheRealServiceManager;
- void toBinderService(const os::Service& in, os::Service* _out);
+ binder::Status toBinderService(const ::std::string& name, const os::Service& in,
+ os::Service* _out);
};
sp<BackendUnifiedServiceManager> getBackendUnifiedServiceManager();
-} // namespace android \ No newline at end of file
+android::binder::Status getInjectedAccessor(const std::string& name, android::os::Service* service);
+
+} // namespace android