Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e2c515ef authored by Orlando Arbildo's avatar Orlando Arbildo Committed by Gerrit Code Review
Browse files

Merge "TrustyRpc: Adding a create session with initialization callback function"

parents 8d8caa17 531fcadc
Loading
Loading
Loading
Loading
+10 −1
Original line number Diff line number Diff line
@@ -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();
}

+4 −0
Original line number Diff line number Diff line
@@ -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