19 #ifndef GRPC_NO_BINDER
23 #ifdef GPR_SUPPORT_BINDER_TRANSPORT
32 JNIEXPORT
void JNICALL
33 Java_io_grpc_binder_cpp_GrpcBinderConnection_notifyConnected__Ljava_lang_String_2Landroid_os_IBinder_2(
34 JNIEnv* jni_env, jobject, jstring conn_id_jstring, jobject ibinder) {
36 const char* conn_id = jni_env->GetStringUTFChars(conn_id_jstring, &isCopy);
39 grpc_binder::ndk_util::SpAIBinder aibinder =
40 grpc_binder::FromJavaBinder(jni_env, ibinder);
42 auto b = absl::make_unique<grpc_binder::BinderAndroid>(aibinder);
46 if (isCopy == JNI_TRUE) {
47 jni_env->ReleaseStringUTFChars(conn_id_jstring, conn_id);
52 #endif // GPR_SUPPORT_BINDER_TRANSPORT
59 gpr_log(
GPR_INFO,
"EndpointBinder requested. conn_id = %s", conn_id.c_str());
60 std::unique_ptr<grpc_binder::Binder>
b;
63 if (binder_map_.count(conn_id)) {
65 binder_map_.erase(conn_id);
68 if (pending_requests_.count(conn_id) != 0) {
70 "Duplicate GetEndpointBinder requested. conn_id = %s",
83 std::string conn_id, std::unique_ptr<grpc_binder::Binder>
b) {
84 gpr_log(
GPR_INFO,
"EndpointBinder added. conn_id = %s", conn_id.c_str());
90 if (binder_map_.count(conn_id) != 0) {
95 if (pending_requests_.count(conn_id)) {
97 pending_requests_.erase(conn_id);