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

Commit ab41025a authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "libbinder: add makeDefaultRpcTransportCtxFactory" am: 3966e43e

parents b1a82d48 3966e43e
Loading
Loading
Loading
Loading
+5 −0
Original line number Original line Diff line number Diff line
@@ -17,6 +17,7 @@
#include "OS.h"
#include "OS.h"


#include <android-base/file.h>
#include <android-base/file.h>
#include <binder/RpcTransportRaw.h>
#include <string.h>
#include <string.h>


using android::base::ErrnoError;
using android::base::ErrnoError;
@@ -58,4 +59,8 @@ status_t dupFileDescriptor(int oldFd, int* newFd) {
    return OK;
    return OK;
}
}


std::unique_ptr<RpcTransportCtxFactory> makeDefaultRpcTransportCtxFactory() {
    return RpcTransportCtxFactoryRaw::make();
}

} // namespace android
} // namespace android
+3 −0
Original line number Original line Diff line number Diff line
@@ -20,6 +20,7 @@


#include <android-base/result.h>
#include <android-base/result.h>
#include <android-base/unique_fd.h>
#include <android-base/unique_fd.h>
#include <binder/RpcTransport.h>
#include <utils/Errors.h>
#include <utils/Errors.h>


namespace android {
namespace android {
@@ -30,4 +31,6 @@ status_t getRandomBytes(uint8_t* data, size_t size);


status_t dupFileDescriptor(int oldFd, int* newFd);
status_t dupFileDescriptor(int oldFd, int* newFd);


std::unique_ptr<RpcTransportCtxFactory> makeDefaultRpcTransportCtxFactory();

} // namespace android
} // namespace android
+1 −1
Original line number Original line Diff line number Diff line
@@ -55,7 +55,7 @@ RpcServer::~RpcServer() {
sp<RpcServer> RpcServer::make(std::unique_ptr<RpcTransportCtxFactory> rpcTransportCtxFactory) {
sp<RpcServer> RpcServer::make(std::unique_ptr<RpcTransportCtxFactory> rpcTransportCtxFactory) {
    // Default is without TLS.
    // Default is without TLS.
    if (rpcTransportCtxFactory == nullptr)
    if (rpcTransportCtxFactory == nullptr)
        rpcTransportCtxFactory = RpcTransportCtxFactoryRaw::make();
        rpcTransportCtxFactory = makeDefaultRpcTransportCtxFactory();
    auto ctx = rpcTransportCtxFactory->newServerCtx();
    auto ctx = rpcTransportCtxFactory->newServerCtx();
    if (ctx == nullptr) return nullptr;
    if (ctx == nullptr) return nullptr;
    return sp<RpcServer>::make(std::move(ctx));
    return sp<RpcServer>::make(std::move(ctx));
+1 −1
Original line number Original line Diff line number Diff line
@@ -68,7 +68,7 @@ RpcSession::~RpcSession() {


sp<RpcSession> RpcSession::make() {
sp<RpcSession> RpcSession::make() {
    // Default is without TLS.
    // Default is without TLS.
    return make(RpcTransportCtxFactoryRaw::make());
    return make(makeDefaultRpcTransportCtxFactory());
}
}


sp<RpcSession> RpcSession::make(std::unique_ptr<RpcTransportCtxFactory> rpcTransportCtxFactory) {
sp<RpcSession> RpcSession::make(std::unique_ptr<RpcTransportCtxFactory> rpcTransportCtxFactory) {
+6 −0
Original line number Original line Diff line number Diff line
@@ -20,6 +20,8 @@
#include <lib/rand/rand.h>
#include <lib/rand/rand.h>
#endif
#endif


#include <binder/RpcTransportTipcTrusty.h>

#include "../OS.h"
#include "../OS.h"


using android::base::Result;
using android::base::Result;
@@ -46,4 +48,8 @@ status_t dupFileDescriptor(int oldFd, int* newFd) {
    return INVALID_OPERATION;
    return INVALID_OPERATION;
}
}


std::unique_ptr<RpcTransportCtxFactory> makeDefaultRpcTransportCtxFactory() {
    return RpcTransportCtxFactoryTipcTrusty::make();
}

} // namespace android
} // namespace android