diff --git a/BUILD b/BUILD index ec4ba47e6b0..a1080acfe04 100644 --- a/BUILD +++ b/BUILD @@ -49,6 +49,17 @@ config_setting( values = {"define": "grpc_no_xds=true"}, ) +# When gRPC is build as shared library, binder transport code might still +# get included even when user's code does not depend on it. In that case +# --define=grpc_no_binder=true can be used to disable binder transport +# related code to reduce binary size. +# For users using build system other than bazel, they can define +# GRPC_NO_BINDER to achieve the same effect. +config_setting( + name = "grpc_no_binder_define", + values = {"define": "grpc_no_binder=true"}, +) + config_setting( name = "android", values = {"crosstool_top": "//external:android/crosstool"}, @@ -72,6 +83,15 @@ selects.config_setting_group( ], ) +selects.config_setting_group( + name = "grpc_no_binder", + match_any = [ + ":grpc_no_binder_define", + # We do not need binder on ios. + ":ios", + ], +) + selects.config_setting_group( name = "grpc_no_rls", match_any = [ @@ -452,13 +472,21 @@ grpc_cc_library( ], language = "c++", public_hdrs = GRPCXX_PUBLIC_HDRS, - select_deps = [{ - "grpc_no_xds": [], - "//conditions:default": [ - "grpc++_xds_client", - "grpc++_xds_server", - ], - }], + select_deps = [ + { + "grpc_no_xds": [], + "//conditions:default": [ + "grpc++_xds_client", + "grpc++_xds_server", + ], + }, + { + "grpc_no_binder": [], + "//conditions:default": [ + "grpc++_binder", + ], + }, + ], standalone = True, visibility = [ "@grpc:public", @@ -556,6 +584,10 @@ grpc_cc_library( "src/core/ext/transport/binder/wire_format/wire_reader_impl.h", "src/core/ext/transport/binder/wire_format/wire_writer.h", ], + defines = select({ + "grpc_no_binder": ["GRPC_NO_BINDER"], + "//conditions:default": [], + }), external_deps = [ "absl/base:core_headers", "absl/container:flat_hash_map", @@ -572,7 +604,6 @@ grpc_cc_library( "include/grpcpp/create_channel_binder.h", "include/grpcpp/security/binder_credentials.h", ], - visibility = ["@grpc:public"], deps = [ "gpr", "gpr_base", diff --git a/CMakeLists.txt b/CMakeLists.txt index 3276844bd97..eb874055127 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2774,6 +2774,23 @@ endif() endif() add_library(grpc++ + src/core/ext/transport/binder/client/binder_connector.cc + src/core/ext/transport/binder/client/channel_create.cc + src/core/ext/transport/binder/client/channel_create_impl.cc + src/core/ext/transport/binder/client/connection_id_generator.cc + src/core/ext/transport/binder/client/endpoint_binder_pool.cc + src/core/ext/transport/binder/client/jni_utils.cc + src/core/ext/transport/binder/client/security_policy_setting.cc + src/core/ext/transport/binder/security_policy/binder_security_policy.cc + src/core/ext/transport/binder/server/binder_server.cc + src/core/ext/transport/binder/server/binder_server_credentials.cc + src/core/ext/transport/binder/transport/binder_transport.cc + src/core/ext/transport/binder/utils/transport_stream_receiver_impl.cc + src/core/ext/transport/binder/wire_format/binder_android.cc + src/core/ext/transport/binder/wire_format/binder_constants.cc + src/core/ext/transport/binder/wire_format/transaction.cc + src/core/ext/transport/binder/wire_format/wire_reader_impl.cc + src/core/ext/transport/binder/wire_format/wire_writer.cc src/cpp/client/channel_cc.cc src/cpp/client/client_callback.cc src/cpp/client/client_context.cc @@ -2946,6 +2963,7 @@ foreach(_hdr include/grpcpp/client_context.h include/grpcpp/completion_queue.h include/grpcpp/create_channel.h + include/grpcpp/create_channel_binder.h include/grpcpp/create_channel_posix.h include/grpcpp/ext/health_check_service_server_builder_option.h include/grpcpp/generic/async_generic_service.h @@ -3019,6 +3037,8 @@ foreach(_hdr include/grpcpp/security/auth_context.h include/grpcpp/security/auth_metadata_processor.h include/grpcpp/security/authorization_policy_provider.h + include/grpcpp/security/binder_credentials.h + include/grpcpp/security/binder_security_policy.h include/grpcpp/security/credentials.h include/grpcpp/security/server_credentials.h include/grpcpp/security/tls_certificate_provider.h @@ -8320,23 +8340,6 @@ add_executable(binder_server_test ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.cc ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.h ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.h - src/core/ext/transport/binder/client/binder_connector.cc - src/core/ext/transport/binder/client/channel_create.cc - src/core/ext/transport/binder/client/channel_create_impl.cc - src/core/ext/transport/binder/client/connection_id_generator.cc - src/core/ext/transport/binder/client/endpoint_binder_pool.cc - src/core/ext/transport/binder/client/jni_utils.cc - src/core/ext/transport/binder/client/security_policy_setting.cc - src/core/ext/transport/binder/security_policy/binder_security_policy.cc - src/core/ext/transport/binder/server/binder_server.cc - src/core/ext/transport/binder/server/binder_server_credentials.cc - src/core/ext/transport/binder/transport/binder_transport.cc - src/core/ext/transport/binder/utils/transport_stream_receiver_impl.cc - src/core/ext/transport/binder/wire_format/binder_android.cc - src/core/ext/transport/binder/wire_format/binder_constants.cc - src/core/ext/transport/binder/wire_format/transaction.cc - src/core/ext/transport/binder/wire_format/wire_reader_impl.cc - src/core/ext/transport/binder/wire_format/wire_writer.cc test/core/transport/binder/end2end/binder_server_test.cc test/core/transport/binder/end2end/fake_binder.cc test/cpp/end2end/test_service_impl.cc @@ -10017,23 +10020,6 @@ add_executable(end2end_binder_transport_test ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.cc ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.h ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.h - src/core/ext/transport/binder/client/binder_connector.cc - src/core/ext/transport/binder/client/channel_create.cc - src/core/ext/transport/binder/client/channel_create_impl.cc - src/core/ext/transport/binder/client/connection_id_generator.cc - src/core/ext/transport/binder/client/endpoint_binder_pool.cc - src/core/ext/transport/binder/client/jni_utils.cc - src/core/ext/transport/binder/client/security_policy_setting.cc - src/core/ext/transport/binder/security_policy/binder_security_policy.cc - src/core/ext/transport/binder/server/binder_server.cc - src/core/ext/transport/binder/server/binder_server_credentials.cc - src/core/ext/transport/binder/transport/binder_transport.cc - src/core/ext/transport/binder/utils/transport_stream_receiver_impl.cc - src/core/ext/transport/binder/wire_format/binder_android.cc - src/core/ext/transport/binder/wire_format/binder_constants.cc - src/core/ext/transport/binder/wire_format/transaction.cc - src/core/ext/transport/binder/wire_format/wire_reader_impl.cc - src/core/ext/transport/binder/wire_format/wire_writer.cc test/core/transport/binder/end2end/end2end_binder_transport_test.cc test/core/transport/binder/end2end/fake_binder.cc test/core/transport/binder/end2end/testing_channel_create.cc diff --git a/build_autogenerated.yaml b/build_autogenerated.yaml index 0eb592c3c6d..9881310e0fc 100644 --- a/build_autogenerated.yaml +++ b/build_autogenerated.yaml @@ -2337,6 +2337,7 @@ libs: - include/grpcpp/client_context.h - include/grpcpp/completion_queue.h - include/grpcpp/create_channel.h + - include/grpcpp/create_channel_binder.h - include/grpcpp/create_channel_posix.h - include/grpcpp/ext/health_check_service_server_builder_option.h - include/grpcpp/generic/async_generic_service.h @@ -2410,6 +2411,8 @@ libs: - include/grpcpp/security/auth_context.h - include/grpcpp/security/auth_metadata_processor.h - include/grpcpp/security/authorization_policy_provider.h + - include/grpcpp/security/binder_credentials.h + - include/grpcpp/security/binder_security_policy.h - include/grpcpp/security/credentials.h - include/grpcpp/security/server_credentials.h - include/grpcpp/security/tls_certificate_provider.h @@ -2442,6 +2445,24 @@ libs: - include/grpcpp/support/validate_service_config.h - include/grpcpp/xds_server_builder.h headers: + - src/core/ext/transport/binder/client/binder_connector.h + - src/core/ext/transport/binder/client/channel_create_impl.h + - src/core/ext/transport/binder/client/connection_id_generator.h + - src/core/ext/transport/binder/client/endpoint_binder_pool.h + - src/core/ext/transport/binder/client/jni_utils.h + - src/core/ext/transport/binder/client/security_policy_setting.h + - src/core/ext/transport/binder/server/binder_server.h + - src/core/ext/transport/binder/transport/binder_stream.h + - src/core/ext/transport/binder/transport/binder_transport.h + - src/core/ext/transport/binder/utils/transport_stream_receiver.h + - src/core/ext/transport/binder/utils/transport_stream_receiver_impl.h + - src/core/ext/transport/binder/wire_format/binder.h + - src/core/ext/transport/binder/wire_format/binder_android.h + - src/core/ext/transport/binder/wire_format/binder_constants.h + - src/core/ext/transport/binder/wire_format/transaction.h + - src/core/ext/transport/binder/wire_format/wire_reader.h + - src/core/ext/transport/binder/wire_format/wire_reader_impl.h + - src/core/ext/transport/binder/wire_format/wire_writer.h - src/cpp/client/create_channel_internal.h - src/cpp/client/secure_credentials.h - src/cpp/common/channel_filter.h @@ -2454,6 +2475,23 @@ libs: - src/cpp/server/thread_pool_interface.h - src/cpp/thread_manager/thread_manager.h src: + - src/core/ext/transport/binder/client/binder_connector.cc + - src/core/ext/transport/binder/client/channel_create.cc + - src/core/ext/transport/binder/client/channel_create_impl.cc + - src/core/ext/transport/binder/client/connection_id_generator.cc + - src/core/ext/transport/binder/client/endpoint_binder_pool.cc + - src/core/ext/transport/binder/client/jni_utils.cc + - src/core/ext/transport/binder/client/security_policy_setting.cc + - src/core/ext/transport/binder/security_policy/binder_security_policy.cc + - src/core/ext/transport/binder/server/binder_server.cc + - src/core/ext/transport/binder/server/binder_server_credentials.cc + - src/core/ext/transport/binder/transport/binder_transport.cc + - src/core/ext/transport/binder/utils/transport_stream_receiver_impl.cc + - src/core/ext/transport/binder/wire_format/binder_android.cc + - src/core/ext/transport/binder/wire_format/binder_constants.cc + - src/core/ext/transport/binder/wire_format/transaction.cc + - src/core/ext/transport/binder/wire_format/wire_reader_impl.cc + - src/core/ext/transport/binder/wire_format/wire_writer.cc - src/cpp/client/channel_cc.cc - src/cpp/client/client_callback.cc - src/cpp/client/client_context.cc @@ -4619,47 +4657,12 @@ targets: build: test language: c++ headers: - - src/core/ext/transport/binder/client/binder_connector.h - - src/core/ext/transport/binder/client/channel_create_impl.h - - src/core/ext/transport/binder/client/connection_id_generator.h - - src/core/ext/transport/binder/client/endpoint_binder_pool.h - - src/core/ext/transport/binder/client/jni_utils.h - - src/core/ext/transport/binder/client/security_policy_setting.h - - src/core/ext/transport/binder/server/binder_server.h - - src/core/ext/transport/binder/transport/binder_stream.h - - src/core/ext/transport/binder/transport/binder_transport.h - - src/core/ext/transport/binder/utils/transport_stream_receiver.h - - src/core/ext/transport/binder/utils/transport_stream_receiver_impl.h - - src/core/ext/transport/binder/wire_format/binder.h - - src/core/ext/transport/binder/wire_format/binder_android.h - - src/core/ext/transport/binder/wire_format/binder_constants.h - - src/core/ext/transport/binder/wire_format/transaction.h - - src/core/ext/transport/binder/wire_format/wire_reader.h - - src/core/ext/transport/binder/wire_format/wire_reader_impl.h - - src/core/ext/transport/binder/wire_format/wire_writer.h - test/core/transport/binder/end2end/fake_binder.h - test/cpp/end2end/test_service_impl.h src: - src/proto/grpc/testing/echo.proto - src/proto/grpc/testing/echo_messages.proto - src/proto/grpc/testing/simple_messages.proto - - src/core/ext/transport/binder/client/binder_connector.cc - - src/core/ext/transport/binder/client/channel_create.cc - - src/core/ext/transport/binder/client/channel_create_impl.cc - - src/core/ext/transport/binder/client/connection_id_generator.cc - - src/core/ext/transport/binder/client/endpoint_binder_pool.cc - - src/core/ext/transport/binder/client/jni_utils.cc - - src/core/ext/transport/binder/client/security_policy_setting.cc - - src/core/ext/transport/binder/security_policy/binder_security_policy.cc - - src/core/ext/transport/binder/server/binder_server.cc - - src/core/ext/transport/binder/server/binder_server_credentials.cc - - src/core/ext/transport/binder/transport/binder_transport.cc - - src/core/ext/transport/binder/utils/transport_stream_receiver_impl.cc - - src/core/ext/transport/binder/wire_format/binder_android.cc - - src/core/ext/transport/binder/wire_format/binder_constants.cc - - src/core/ext/transport/binder/wire_format/transaction.cc - - src/core/ext/transport/binder/wire_format/wire_reader_impl.cc - - src/core/ext/transport/binder/wire_format/wire_writer.cc - test/core/transport/binder/end2end/binder_server_test.cc - test/core/transport/binder/end2end/fake_binder.cc - test/cpp/end2end/test_service_impl.cc @@ -5437,24 +5440,6 @@ targets: build: test language: c++ headers: - - src/core/ext/transport/binder/client/binder_connector.h - - src/core/ext/transport/binder/client/channel_create_impl.h - - src/core/ext/transport/binder/client/connection_id_generator.h - - src/core/ext/transport/binder/client/endpoint_binder_pool.h - - src/core/ext/transport/binder/client/jni_utils.h - - src/core/ext/transport/binder/client/security_policy_setting.h - - src/core/ext/transport/binder/server/binder_server.h - - src/core/ext/transport/binder/transport/binder_stream.h - - src/core/ext/transport/binder/transport/binder_transport.h - - src/core/ext/transport/binder/utils/transport_stream_receiver.h - - src/core/ext/transport/binder/utils/transport_stream_receiver_impl.h - - src/core/ext/transport/binder/wire_format/binder.h - - src/core/ext/transport/binder/wire_format/binder_android.h - - src/core/ext/transport/binder/wire_format/binder_constants.h - - src/core/ext/transport/binder/wire_format/transaction.h - - src/core/ext/transport/binder/wire_format/wire_reader.h - - src/core/ext/transport/binder/wire_format/wire_reader_impl.h - - src/core/ext/transport/binder/wire_format/wire_writer.h - test/core/transport/binder/end2end/fake_binder.h - test/core/transport/binder/end2end/testing_channel_create.h - test/cpp/end2end/test_service_impl.h @@ -5462,23 +5447,6 @@ targets: - src/proto/grpc/testing/echo.proto - src/proto/grpc/testing/echo_messages.proto - src/proto/grpc/testing/simple_messages.proto - - src/core/ext/transport/binder/client/binder_connector.cc - - src/core/ext/transport/binder/client/channel_create.cc - - src/core/ext/transport/binder/client/channel_create_impl.cc - - src/core/ext/transport/binder/client/connection_id_generator.cc - - src/core/ext/transport/binder/client/endpoint_binder_pool.cc - - src/core/ext/transport/binder/client/jni_utils.cc - - src/core/ext/transport/binder/client/security_policy_setting.cc - - src/core/ext/transport/binder/security_policy/binder_security_policy.cc - - src/core/ext/transport/binder/server/binder_server.cc - - src/core/ext/transport/binder/server/binder_server_credentials.cc - - src/core/ext/transport/binder/transport/binder_transport.cc - - src/core/ext/transport/binder/utils/transport_stream_receiver_impl.cc - - src/core/ext/transport/binder/wire_format/binder_android.cc - - src/core/ext/transport/binder/wire_format/binder_constants.cc - - src/core/ext/transport/binder/wire_format/transaction.cc - - src/core/ext/transport/binder/wire_format/wire_reader_impl.cc - - src/core/ext/transport/binder/wire_format/wire_writer.cc - test/core/transport/binder/end2end/end2end_binder_transport_test.cc - test/core/transport/binder/end2end/fake_binder.cc - test/core/transport/binder/end2end/testing_channel_create.cc diff --git a/examples/android/binder/java/io/grpc/binder/cpp/exampleclient/BUILD b/examples/android/binder/java/io/grpc/binder/cpp/exampleclient/BUILD index c4dfa528f8e..3efffcd5c53 100644 --- a/examples/android/binder/java/io/grpc/binder/cpp/exampleclient/BUILD +++ b/examples/android/binder/java/io/grpc/binder/cpp/exampleclient/BUILD @@ -25,7 +25,7 @@ cc_library( "-Wl,--no-undefined", ], deps = [ - "//:grpc++_binder", + "//:grpc++", "//examples/protos:helloworld_cc_grpc", ], alwayslink = True, diff --git a/examples/android/binder/java/io/grpc/binder/cpp/exampleserver/BUILD b/examples/android/binder/java/io/grpc/binder/cpp/exampleserver/BUILD index ec2cb1fe454..df302fe26ad 100644 --- a/examples/android/binder/java/io/grpc/binder/cpp/exampleserver/BUILD +++ b/examples/android/binder/java/io/grpc/binder/cpp/exampleserver/BUILD @@ -26,7 +26,6 @@ cc_library( ], deps = [ "//:grpc++", - "//:grpc++_binder", "//examples/protos:helloworld_cc_grpc", ], alwayslink = True, diff --git a/gRPC-C++.podspec b/gRPC-C++.podspec index 84d51c5e378..dfab7a7f7c5 100644 --- a/gRPC-C++.podspec +++ b/gRPC-C++.podspec @@ -84,6 +84,7 @@ Pod::Spec.new do |s| 'include/grpcpp/client_context.h', 'include/grpcpp/completion_queue.h', 'include/grpcpp/create_channel.h', + 'include/grpcpp/create_channel_binder.h', 'include/grpcpp/create_channel_posix.h', 'include/grpcpp/ext/health_check_service_server_builder_option.h', 'include/grpcpp/generic/async_generic_service.h', @@ -153,6 +154,8 @@ Pod::Spec.new do |s| 'include/grpcpp/security/auth_context.h', 'include/grpcpp/security/auth_metadata_processor.h', 'include/grpcpp/security/authorization_policy_provider.h', + 'include/grpcpp/security/binder_credentials.h', + 'include/grpcpp/security/binder_security_policy.h', 'include/grpcpp/security/credentials.h', 'include/grpcpp/security/server_credentials.h', 'include/grpcpp/security/tls_certificate_provider.h', @@ -269,6 +272,41 @@ Pod::Spec.new do |s| 'src/core/ext/service_config/service_config.h', 'src/core/ext/service_config/service_config_call_data.h', 'src/core/ext/service_config/service_config_parser.h', + 'src/core/ext/transport/binder/client/binder_connector.cc', + 'src/core/ext/transport/binder/client/binder_connector.h', + 'src/core/ext/transport/binder/client/channel_create.cc', + 'src/core/ext/transport/binder/client/channel_create_impl.cc', + 'src/core/ext/transport/binder/client/channel_create_impl.h', + 'src/core/ext/transport/binder/client/connection_id_generator.cc', + 'src/core/ext/transport/binder/client/connection_id_generator.h', + 'src/core/ext/transport/binder/client/endpoint_binder_pool.cc', + 'src/core/ext/transport/binder/client/endpoint_binder_pool.h', + 'src/core/ext/transport/binder/client/jni_utils.cc', + 'src/core/ext/transport/binder/client/jni_utils.h', + 'src/core/ext/transport/binder/client/security_policy_setting.cc', + 'src/core/ext/transport/binder/client/security_policy_setting.h', + 'src/core/ext/transport/binder/security_policy/binder_security_policy.cc', + 'src/core/ext/transport/binder/server/binder_server.cc', + 'src/core/ext/transport/binder/server/binder_server.h', + 'src/core/ext/transport/binder/server/binder_server_credentials.cc', + 'src/core/ext/transport/binder/transport/binder_stream.h', + 'src/core/ext/transport/binder/transport/binder_transport.cc', + 'src/core/ext/transport/binder/transport/binder_transport.h', + 'src/core/ext/transport/binder/utils/transport_stream_receiver.h', + 'src/core/ext/transport/binder/utils/transport_stream_receiver_impl.cc', + 'src/core/ext/transport/binder/utils/transport_stream_receiver_impl.h', + 'src/core/ext/transport/binder/wire_format/binder.h', + 'src/core/ext/transport/binder/wire_format/binder_android.cc', + 'src/core/ext/transport/binder/wire_format/binder_android.h', + 'src/core/ext/transport/binder/wire_format/binder_constants.cc', + 'src/core/ext/transport/binder/wire_format/binder_constants.h', + 'src/core/ext/transport/binder/wire_format/transaction.cc', + 'src/core/ext/transport/binder/wire_format/transaction.h', + 'src/core/ext/transport/binder/wire_format/wire_reader.h', + 'src/core/ext/transport/binder/wire_format/wire_reader_impl.cc', + 'src/core/ext/transport/binder/wire_format/wire_reader_impl.h', + 'src/core/ext/transport/binder/wire_format/wire_writer.cc', + 'src/core/ext/transport/binder/wire_format/wire_writer.h', 'src/core/ext/transport/chttp2/alpn/alpn.h', 'src/core/ext/transport/chttp2/client/chttp2_connector.h', 'src/core/ext/transport/chttp2/server/chttp2_server.h', @@ -942,6 +980,24 @@ Pod::Spec.new do |s| 'src/core/ext/service_config/service_config.h', 'src/core/ext/service_config/service_config_call_data.h', 'src/core/ext/service_config/service_config_parser.h', + 'src/core/ext/transport/binder/client/binder_connector.h', + 'src/core/ext/transport/binder/client/channel_create_impl.h', + 'src/core/ext/transport/binder/client/connection_id_generator.h', + 'src/core/ext/transport/binder/client/endpoint_binder_pool.h', + 'src/core/ext/transport/binder/client/jni_utils.h', + 'src/core/ext/transport/binder/client/security_policy_setting.h', + 'src/core/ext/transport/binder/server/binder_server.h', + 'src/core/ext/transport/binder/transport/binder_stream.h', + 'src/core/ext/transport/binder/transport/binder_transport.h', + 'src/core/ext/transport/binder/utils/transport_stream_receiver.h', + 'src/core/ext/transport/binder/utils/transport_stream_receiver_impl.h', + 'src/core/ext/transport/binder/wire_format/binder.h', + 'src/core/ext/transport/binder/wire_format/binder_android.h', + 'src/core/ext/transport/binder/wire_format/binder_constants.h', + 'src/core/ext/transport/binder/wire_format/transaction.h', + 'src/core/ext/transport/binder/wire_format/wire_reader.h', + 'src/core/ext/transport/binder/wire_format/wire_reader_impl.h', + 'src/core/ext/transport/binder/wire_format/wire_writer.h', 'src/core/ext/transport/chttp2/alpn/alpn.h', 'src/core/ext/transport/chttp2/client/chttp2_connector.h', 'src/core/ext/transport/chttp2/server/chttp2_server.h', diff --git a/grpc.gyp b/grpc.gyp index d44f73f356b..8dd6cd03453 100644 --- a/grpc.gyp +++ b/grpc.gyp @@ -1457,6 +1457,23 @@ 'grpc', ], 'sources': [ + 'src/core/ext/transport/binder/client/binder_connector.cc', + 'src/core/ext/transport/binder/client/channel_create.cc', + 'src/core/ext/transport/binder/client/channel_create_impl.cc', + 'src/core/ext/transport/binder/client/connection_id_generator.cc', + 'src/core/ext/transport/binder/client/endpoint_binder_pool.cc', + 'src/core/ext/transport/binder/client/jni_utils.cc', + 'src/core/ext/transport/binder/client/security_policy_setting.cc', + 'src/core/ext/transport/binder/security_policy/binder_security_policy.cc', + 'src/core/ext/transport/binder/server/binder_server.cc', + 'src/core/ext/transport/binder/server/binder_server_credentials.cc', + 'src/core/ext/transport/binder/transport/binder_transport.cc', + 'src/core/ext/transport/binder/utils/transport_stream_receiver_impl.cc', + 'src/core/ext/transport/binder/wire_format/binder_android.cc', + 'src/core/ext/transport/binder/wire_format/binder_constants.cc', + 'src/core/ext/transport/binder/wire_format/transaction.cc', + 'src/core/ext/transport/binder/wire_format/wire_reader_impl.cc', + 'src/core/ext/transport/binder/wire_format/wire_writer.cc', 'src/cpp/client/channel_cc.cc', 'src/cpp/client/client_callback.cc', 'src/cpp/client/client_context.cc', diff --git a/src/core/ext/transport/binder/client/binder_connector.cc b/src/core/ext/transport/binder/client/binder_connector.cc index 3d74e45b747..6238d06487b 100644 --- a/src/core/ext/transport/binder/client/binder_connector.cc +++ b/src/core/ext/transport/binder/client/binder_connector.cc @@ -14,8 +14,9 @@ #include -#include "src/core/ext/transport/binder/client/binder_connector.h" +#ifndef GRPC_NO_BINDER +#include "src/core/ext/transport/binder/client/binder_connector.h" #include "src/core/lib/iomgr/port.h" #ifdef GRPC_HAVE_UNIX_SOCKET @@ -129,3 +130,5 @@ BinderClientChannelFactory::CreateSubchannel( } } // namespace grpc_core + +#endif // GRPC_NO_BINDER diff --git a/src/core/ext/transport/binder/client/channel_create.cc b/src/core/ext/transport/binder/client/channel_create.cc index 37fbdc0eaf3..482efa605df 100644 --- a/src/core/ext/transport/binder/client/channel_create.cc +++ b/src/core/ext/transport/binder/client/channel_create.cc @@ -14,6 +14,8 @@ #include +#ifndef GRPC_NO_BINDER + #include // The interface is only defined if GPR_ANDROID is defined, because some @@ -158,3 +160,5 @@ std::shared_ptr CreateCustomBinderChannel( #endif // GPR_SUPPORT_BINDER_TRANSPORT #endif // GPR_ANDROID + +#endif // GRPC_NO_BINDER diff --git a/src/core/ext/transport/binder/client/channel_create_impl.cc b/src/core/ext/transport/binder/client/channel_create_impl.cc index d0a01e31ff1..a3fb6a4227e 100644 --- a/src/core/ext/transport/binder/client/channel_create_impl.cc +++ b/src/core/ext/transport/binder/client/channel_create_impl.cc @@ -16,6 +16,8 @@ #include "src/core/ext/transport/binder/client/channel_create_impl.h" +#ifndef GRPC_NO_BINDER + #include #include @@ -99,3 +101,4 @@ grpc_channel* CreateClientBinderChannelImpl(const grpc_channel_args* args) { } // namespace internal } // namespace grpc +#endif diff --git a/src/core/ext/transport/binder/client/connection_id_generator.cc b/src/core/ext/transport/binder/client/connection_id_generator.cc index 144296d3f08..f957a7ae049 100644 --- a/src/core/ext/transport/binder/client/connection_id_generator.cc +++ b/src/core/ext/transport/binder/client/connection_id_generator.cc @@ -16,6 +16,8 @@ #include "src/core/ext/transport/binder/client/connection_id_generator.h" +#ifndef GRPC_NO_BINDER + #include "absl/strings/str_cat.h" namespace { @@ -65,3 +67,4 @@ ConnectionIdGenerator* GetConnectionIdGenerator() { } } // namespace grpc_binder +#endif diff --git a/src/core/ext/transport/binder/client/endpoint_binder_pool.cc b/src/core/ext/transport/binder/client/endpoint_binder_pool.cc index aa3794cfa05..7ae78187bd7 100644 --- a/src/core/ext/transport/binder/client/endpoint_binder_pool.cc +++ b/src/core/ext/transport/binder/client/endpoint_binder_pool.cc @@ -16,6 +16,8 @@ #include "src/core/ext/transport/binder/client/endpoint_binder_pool.h" +#ifndef GRPC_NO_BINDER + #include "src/core/ext/transport/binder/client/jni_utils.h" #ifdef GPR_SUPPORT_BINDER_TRANSPORT @@ -106,3 +108,4 @@ EndpointBinderPool* GetEndpointBinderPool() { return p; } } // namespace grpc_binder +#endif diff --git a/src/core/ext/transport/binder/client/jni_utils.cc b/src/core/ext/transport/binder/client/jni_utils.cc index e8f094e6383..a9ee67882cf 100644 --- a/src/core/ext/transport/binder/client/jni_utils.cc +++ b/src/core/ext/transport/binder/client/jni_utils.cc @@ -16,6 +16,8 @@ #include "src/core/ext/transport/binder/client/jni_utils.h" +#ifndef GRPC_NO_BINDER + #include #if defined(ANDROID) || defined(__ANDROID__) @@ -87,3 +89,4 @@ jobject CallStaticJavaMethodForObject(JNIEnv* env, const std::string& clazz, } // namespace grpc_binder #endif +#endif diff --git a/src/core/ext/transport/binder/client/security_policy_setting.cc b/src/core/ext/transport/binder/client/security_policy_setting.cc index 7d9f5974945..d8739142b4e 100644 --- a/src/core/ext/transport/binder/client/security_policy_setting.cc +++ b/src/core/ext/transport/binder/client/security_policy_setting.cc @@ -14,6 +14,8 @@ #include +#ifndef GRPC_NO_BINDER + #include "src/core/ext/transport/binder/client/security_policy_setting.h" namespace grpc_binder { @@ -40,3 +42,4 @@ SecurityPolicySetting* GetSecurityPolicySetting() { } } // namespace grpc_binder +#endif diff --git a/src/core/ext/transport/binder/security_policy/binder_security_policy.cc b/src/core/ext/transport/binder/security_policy/binder_security_policy.cc index 103153edc1b..1381619955f 100644 --- a/src/core/ext/transport/binder/security_policy/binder_security_policy.cc +++ b/src/core/ext/transport/binder/security_policy/binder_security_policy.cc @@ -14,6 +14,8 @@ #include +#ifndef GRPC_NO_BINDER + #include #ifdef GPR_ANDROID @@ -47,3 +49,4 @@ bool InternalOnlySecurityPolicy::IsAuthorized(int) { return false; } } // namespace binder } // namespace experimental } // namespace grpc +#endif diff --git a/src/core/ext/transport/binder/server/binder_server.cc b/src/core/ext/transport/binder/server/binder_server.cc index 27120d03dbd..790743712aa 100644 --- a/src/core/ext/transport/binder/server/binder_server.cc +++ b/src/core/ext/transport/binder/server/binder_server.cc @@ -16,6 +16,8 @@ #include "src/core/ext/transport/binder/server/binder_server.h" +#ifndef GRPC_NO_BINDER + #include #include #include @@ -246,3 +248,4 @@ bool AddBinderPort(const std::string& addr, grpc_server* server, } } // namespace grpc_core +#endif diff --git a/src/core/ext/transport/binder/server/binder_server_credentials.cc b/src/core/ext/transport/binder/server/binder_server_credentials.cc index 530e5738bcd..d43f928ed76 100644 --- a/src/core/ext/transport/binder/server/binder_server_credentials.cc +++ b/src/core/ext/transport/binder/server/binder_server_credentials.cc @@ -14,6 +14,8 @@ #include +#ifndef GRPC_NO_BINDER + #include #include @@ -71,3 +73,4 @@ std::shared_ptr BinderServerCredentials( } // namespace experimental } // namespace grpc +#endif diff --git a/src/core/ext/transport/binder/transport/binder_transport.cc b/src/core/ext/transport/binder/transport/binder_transport.cc index 6cd5933e3f3..aae2adcfbda 100644 --- a/src/core/ext/transport/binder/transport/binder_transport.cc +++ b/src/core/ext/transport/binder/transport/binder_transport.cc @@ -16,6 +16,8 @@ #include "src/core/ext/transport/binder/transport/binder_transport.h" +#ifndef GRPC_NO_BINDER + #include #include #include @@ -755,3 +757,4 @@ grpc_transport* grpc_create_binder_transport_server( return &t->base; } +#endif diff --git a/src/core/ext/transport/binder/utils/transport_stream_receiver_impl.cc b/src/core/ext/transport/binder/utils/transport_stream_receiver_impl.cc index 74c9ef1e274..d7cbf7a2857 100644 --- a/src/core/ext/transport/binder/utils/transport_stream_receiver_impl.cc +++ b/src/core/ext/transport/binder/utils/transport_stream_receiver_impl.cc @@ -16,6 +16,8 @@ #include "src/core/ext/transport/binder/utils/transport_stream_receiver_impl.h" +#ifndef GRPC_NO_BINDER + #include #include #include @@ -250,3 +252,4 @@ void TransportStreamReceiverImpl::CancelStream(StreamIdentifier id) { pending_trailing_metadata_.erase(id); } } // namespace grpc_binder +#endif diff --git a/src/core/ext/transport/binder/wire_format/binder_android.cc b/src/core/ext/transport/binder/wire_format/binder_android.cc index b78fe8be193..16836820e1f 100644 --- a/src/core/ext/transport/binder/wire_format/binder_android.cc +++ b/src/core/ext/transport/binder/wire_format/binder_android.cc @@ -14,6 +14,8 @@ #include +#ifndef GRPC_NO_BINDER + #ifdef GPR_SUPPORT_BINDER_TRANSPORT #include @@ -329,3 +331,4 @@ absl::Status ReadableParcelAndroid::ReadString(std::string* str) { } // namespace grpc_binder #endif // GPR_SUPPORT_BINDER_TRANSPORT +#endif diff --git a/src/core/ext/transport/binder/wire_format/binder_constants.cc b/src/core/ext/transport/binder/wire_format/binder_constants.cc index 605c491121e..a92f39b975a 100644 --- a/src/core/ext/transport/binder/wire_format/binder_constants.cc +++ b/src/core/ext/transport/binder/wire_format/binder_constants.cc @@ -14,6 +14,8 @@ #include +#ifndef GRPC_NO_BINDER + #include "src/core/ext/transport/binder/wire_format/binder_constants.h" #ifndef GPR_SUPPORT_BINDER_TRANSPORT @@ -28,3 +30,4 @@ namespace grpc_binder { const int kFirstCallId = FIRST_CALL_TRANSACTION + 1000; } // namespace grpc_binder +#endif diff --git a/src/core/ext/transport/binder/wire_format/transaction.cc b/src/core/ext/transport/binder/wire_format/transaction.cc index 753aed8dcb6..939b5574c0f 100644 --- a/src/core/ext/transport/binder/wire_format/transaction.cc +++ b/src/core/ext/transport/binder/wire_format/transaction.cc @@ -14,6 +14,8 @@ #include +#ifndef GRPC_NO_BINDER + #include "src/core/ext/transport/binder/wire_format/transaction.h" namespace grpc_binder { @@ -28,3 +30,4 @@ const int kFlagMessageDataIsParcelable = 0x40; const int kFlagMessageDataIsPartial = 0x80; } // namespace grpc_binder +#endif diff --git a/src/core/ext/transport/binder/wire_format/wire_reader_impl.cc b/src/core/ext/transport/binder/wire_format/wire_reader_impl.cc index dd2c74a322a..bba7c556631 100644 --- a/src/core/ext/transport/binder/wire_format/wire_reader_impl.cc +++ b/src/core/ext/transport/binder/wire_format/wire_reader_impl.cc @@ -16,6 +16,8 @@ #include "src/core/ext/transport/binder/wire_format/wire_reader_impl.h" +#ifndef GRPC_NO_BINDER + #include #include #include @@ -379,3 +381,4 @@ absl::Status WireReaderImpl::ProcessStreamingTransactionImpl( } } // namespace grpc_binder +#endif diff --git a/src/core/ext/transport/binder/wire_format/wire_writer.cc b/src/core/ext/transport/binder/wire_format/wire_writer.cc index ce47d82c29b..fe796a927c8 100644 --- a/src/core/ext/transport/binder/wire_format/wire_writer.cc +++ b/src/core/ext/transport/binder/wire_format/wire_writer.cc @@ -16,6 +16,8 @@ #include "src/core/ext/transport/binder/wire_format/wire_writer.h" +#ifndef GRPC_NO_BINDER + #include #include @@ -179,3 +181,4 @@ void WireWriterImpl::OnAckReceived(int64_t num_bytes) { } } // namespace grpc_binder +#endif diff --git a/tools/doxygen/Doxyfile.c++ b/tools/doxygen/Doxyfile.c++ index 6288466f64c..37e08161fd3 100644 --- a/tools/doxygen/Doxyfile.c++ +++ b/tools/doxygen/Doxyfile.c++ @@ -942,6 +942,7 @@ include/grpcpp/channel.h \ include/grpcpp/client_context.h \ include/grpcpp/completion_queue.h \ include/grpcpp/create_channel.h \ +include/grpcpp/create_channel_binder.h \ include/grpcpp/create_channel_posix.h \ include/grpcpp/ext/health_check_service_server_builder_option.h \ include/grpcpp/generic/async_generic_service.h \ @@ -1015,6 +1016,8 @@ include/grpcpp/resource_quota.h \ include/grpcpp/security/auth_context.h \ include/grpcpp/security/auth_metadata_processor.h \ include/grpcpp/security/authorization_policy_provider.h \ +include/grpcpp/security/binder_credentials.h \ +include/grpcpp/security/binder_security_policy.h \ include/grpcpp/security/credentials.h \ include/grpcpp/security/server_credentials.h \ include/grpcpp/security/tls_certificate_provider.h \ diff --git a/tools/doxygen/Doxyfile.c++.internal b/tools/doxygen/Doxyfile.c++.internal index f946b09219b..e854b5e981b 100644 --- a/tools/doxygen/Doxyfile.c++.internal +++ b/tools/doxygen/Doxyfile.c++.internal @@ -942,6 +942,7 @@ include/grpcpp/channel.h \ include/grpcpp/client_context.h \ include/grpcpp/completion_queue.h \ include/grpcpp/create_channel.h \ +include/grpcpp/create_channel_binder.h \ include/grpcpp/create_channel_posix.h \ include/grpcpp/ext/health_check_service_server_builder_option.h \ include/grpcpp/generic/async_generic_service.h \ @@ -1015,6 +1016,8 @@ include/grpcpp/resource_quota.h \ include/grpcpp/security/auth_context.h \ include/grpcpp/security/auth_metadata_processor.h \ include/grpcpp/security/authorization_policy_provider.h \ +include/grpcpp/security/binder_credentials.h \ +include/grpcpp/security/binder_security_policy.h \ include/grpcpp/security/credentials.h \ include/grpcpp/security/server_credentials.h \ include/grpcpp/security/tls_certificate_provider.h \ @@ -1182,6 +1185,41 @@ src/core/ext/service_config/service_config.h \ src/core/ext/service_config/service_config_call_data.h \ src/core/ext/service_config/service_config_parser.cc \ src/core/ext/service_config/service_config_parser.h \ +src/core/ext/transport/binder/client/binder_connector.cc \ +src/core/ext/transport/binder/client/binder_connector.h \ +src/core/ext/transport/binder/client/channel_create.cc \ +src/core/ext/transport/binder/client/channel_create_impl.cc \ +src/core/ext/transport/binder/client/channel_create_impl.h \ +src/core/ext/transport/binder/client/connection_id_generator.cc \ +src/core/ext/transport/binder/client/connection_id_generator.h \ +src/core/ext/transport/binder/client/endpoint_binder_pool.cc \ +src/core/ext/transport/binder/client/endpoint_binder_pool.h \ +src/core/ext/transport/binder/client/jni_utils.cc \ +src/core/ext/transport/binder/client/jni_utils.h \ +src/core/ext/transport/binder/client/security_policy_setting.cc \ +src/core/ext/transport/binder/client/security_policy_setting.h \ +src/core/ext/transport/binder/security_policy/binder_security_policy.cc \ +src/core/ext/transport/binder/server/binder_server.cc \ +src/core/ext/transport/binder/server/binder_server.h \ +src/core/ext/transport/binder/server/binder_server_credentials.cc \ +src/core/ext/transport/binder/transport/binder_stream.h \ +src/core/ext/transport/binder/transport/binder_transport.cc \ +src/core/ext/transport/binder/transport/binder_transport.h \ +src/core/ext/transport/binder/utils/transport_stream_receiver.h \ +src/core/ext/transport/binder/utils/transport_stream_receiver_impl.cc \ +src/core/ext/transport/binder/utils/transport_stream_receiver_impl.h \ +src/core/ext/transport/binder/wire_format/binder.h \ +src/core/ext/transport/binder/wire_format/binder_android.cc \ +src/core/ext/transport/binder/wire_format/binder_android.h \ +src/core/ext/transport/binder/wire_format/binder_constants.cc \ +src/core/ext/transport/binder/wire_format/binder_constants.h \ +src/core/ext/transport/binder/wire_format/transaction.cc \ +src/core/ext/transport/binder/wire_format/transaction.h \ +src/core/ext/transport/binder/wire_format/wire_reader.h \ +src/core/ext/transport/binder/wire_format/wire_reader_impl.cc \ +src/core/ext/transport/binder/wire_format/wire_reader_impl.h \ +src/core/ext/transport/binder/wire_format/wire_writer.cc \ +src/core/ext/transport/binder/wire_format/wire_writer.h \ src/core/ext/transport/chttp2/alpn/alpn.cc \ src/core/ext/transport/chttp2/alpn/alpn.h \ src/core/ext/transport/chttp2/client/chttp2_connector.cc \