diff options
author | Jan Tattermusch <jtattermusch@google.com> | 2016-04-25 15:57:10 -0700 |
---|---|---|
committer | Jan Tattermusch <jtattermusch@google.com> | 2016-04-26 18:01:35 -0700 |
commit | 5f8872f8995cd45d86feb361bfa9b8084c51b85e (patch) | |
tree | 92ed5876d50f1e3d20afdfb8c56b8409376c5bcf /src/compiler/csharp_plugin.cc | |
parent | a967ee567e24c998b45560ba3e32032d7791649b (diff) |
introduce c# generator options
Diffstat (limited to 'src/compiler/csharp_plugin.cc')
-rw-r--r-- | src/compiler/csharp_plugin.cc | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/src/compiler/csharp_plugin.cc b/src/compiler/csharp_plugin.cc index bc86fbd616..fd1ec99e2b 100644 --- a/src/compiler/csharp_plugin.cc +++ b/src/compiler/csharp_plugin.cc @@ -51,7 +51,22 @@ class CSharpGrpcGenerator : public grpc::protobuf::compiler::CodeGenerator { std::vector<std::pair<grpc::string, grpc::string> > options; grpc::protobuf::compiler::ParseGeneratorParameter(parameter, &options); - grpc::string code = grpc_csharp_generator::GetServices(file); + bool generate_client = true; + bool generate_server = true; + for (size_t i = 0; i < options.size(); i++) { + if (options[i].first == "no_client") { + generate_client = false; + } else if (options[i].first == "no_server") { + generate_server = false; + } else { + *error = "Unknown generator option: " + options[i].first; + return false; + } + } + + grpc::string code = grpc_csharp_generator::GetServices(file, + generate_client, + generate_server); if (code.size() == 0) { return true; // don't generate a file if there are no services } |