Add options to omit CQ or sync server APIs in generated code

PiperOrigin-RevId: 625490214
pull/36345/head
Yousuk Seung 11 months ago committed by Yash Tibrewal
parent c3a077e184
commit c40ea61261
  1. 1220
      src/compiler/cpp_generator.cc
  2. 4
      src/compiler/cpp_generator.h
  3. 20
      src/compiler/cpp_plugin.h

File diff suppressed because it is too large Load Diff

@ -64,6 +64,10 @@ struct Parameters {
std::string message_header_extension;
// Whether to include headers corresponding to imports in source file.
bool include_import_headers;
// Whether to expose synchronous server API.
bool allow_sync_server_api;
// Whether to generate completion queue API.
bool allow_cq_api;
};
// Return the prologue of the generated header file.

@ -65,6 +65,8 @@ class CppGrpcGenerator : public grpc::protobuf::compiler::CodeGenerator {
generator_parameters.use_system_headers = true;
generator_parameters.generate_mock_code = false;
generator_parameters.include_import_headers = false;
generator_parameters.allow_sync_server_api = true;
generator_parameters.allow_cq_api = true;
ProtoBufFile pbfile(file);
@ -95,6 +97,24 @@ class CppGrpcGenerator : public grpc::protobuf::compiler::CodeGenerator {
*error = std::string("Invalid parameter: ") + *parameter_string;
return false;
}
} else if (param[0] == "allow_sync_server_api") {
if (param[1] == "true") {
generator_parameters.allow_sync_server_api = true;
} else if (param[1] == "false") {
generator_parameters.allow_sync_server_api = false;
} else {
*error = std::string("Invalid parameter: ") + *parameter_string;
return false;
}
} else if (param[0] == "allow_cq_api") {
if (param[1] == "true") {
generator_parameters.allow_cq_api = true;
} else if (param[1] == "false") {
generator_parameters.allow_cq_api = false;
} else {
*error = std::string("Invalid parameter: ") + *parameter_string;
return false;
}
} else if (param[0] == "gmock_search_path") {
generator_parameters.gmock_search_path = param[1];
} else if (param[0] == "additional_header_includes") {

Loading…
Cancel
Save