aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar murgatroid99 <mlumish@google.com>2015-04-07 12:49:14 -0700
committerGravatar murgatroid99 <mlumish@google.com>2015-04-07 12:49:14 -0700
commitac0002adb8c8baa9382576c8075fda6b7cd02dab (patch)
tree2aa5592f02105d7c4930d66526c74ffdce3e3fa4 /src
parentd3efd0a1ecce86405ac5eee2121fdb767e65fdb4 (diff)
Made Objective C plugin build without error
Diffstat (limited to 'src')
-rw-r--r--src/compiler/generator_helpers.h2
-rw-r--r--src/compiler/objective_c_generator.cc116
-rw-r--r--src/compiler/objective_c_generator.h2
-rw-r--r--src/compiler/objective_c_generator_helpers.h2
-rw-r--r--src/compiler/objective_c_plugin.cc11
5 files changed, 69 insertions, 64 deletions
diff --git a/src/compiler/generator_helpers.h b/src/compiler/generator_helpers.h
index 2a3366ac65..374e1374cf 100644
--- a/src/compiler/generator_helpers.h
+++ b/src/compiler/generator_helpers.h
@@ -95,7 +95,7 @@ inline std::vector<grpc::string> tokenize(const grpc::string &input,
}
}
-inline grpc::string CapitalizeFirstLetter(grpc::string str) {
+inline grpc::string CapitalizeFirstLetter(grpc::string s) {
if (s.empty()) {
return s;
}
diff --git a/src/compiler/objective_c_generator.cc b/src/compiler/objective_c_generator.cc
index 41ffabe898..c68c9c37c2 100644
--- a/src/compiler/objective_c_generator.cc
+++ b/src/compiler/objective_c_generator.cc
@@ -47,8 +47,8 @@ void PrintSimpleBlockSignature(grpc::protobuf::io::Printer *printer,
const grpc::protobuf::MethodDescriptor *method,
std::map<grpc::string, grpc::string> *vars) {
(*vars)["method_name"] = method->name();
- (*vars)["request_type"] = PrefixedName(method->input_type());
- (*vars)["response_type"] = PrefixedName(method->output_type());
+ (*vars)["request_type"] = PrefixedName(method->input_type()->name());
+ (*vars)["response_type"] = PrefixedName(method->output_type()->name());
if (method->server_streaming()) {
printer->Print("// When the response stream finishes, the handler is "
@@ -56,7 +56,7 @@ void PrintSimpleBlockSignature(grpc::protobuf::io::Printer *printer,
} else {
printer->Print("// The handler is only called once.\n\n");
}
- printer->Print(vars, "- (id<GRXLiveSource>)$method_name$WithRequest:"
+ printer->Print(*vars, "- (id<GRXLiveSource>)$method_name$WithRequest:"
"($request_type$)request completionHandler:(void(^)"
"($response_type$ *, NSError *))handler");
}
@@ -65,9 +65,9 @@ void PrintSimpleDelegateSignature(grpc::protobuf::io::Printer *printer,
const grpc::protobuf::MethodDescriptor *method,
std::map<grpc::string, grpc::string> *vars) {
(*vars)["method_name"] = method->name();
- (*vars)["request_type"] = PrefixedName(method->input_type());
+ (*vars)["request_type"] = PrefixedName(method->input_type()->name());
- printer->Print(vars, "- (id<GRXLiveSource>)$method_name$WithRequest:"
+ printer->Print(*vars, "- (id<GRXLiveSource>)$method_name$WithRequest:"
"($request_type$)request delegate:(id<GRXSink>)delegate");
}
@@ -75,52 +75,10 @@ void PrintAdvancedSignature(grpc::protobuf::io::Printer *printer,
const grpc::protobuf::MethodDescriptor *method,
std::map<grpc::string, grpc::string> *vars) {
(*vars)["method_name"] = method->name();
- printer->Print(vars, "- (GRXSource *)$method_name$WithRequest:"
+ printer->Print(*vars, "- (GRXSource *)$method_name$WithRequest:"
"(id<GRXSource>)request");
}
-grpc::string GetHeader(const grpc::protobuf::ServiceDescriptor *service
- const grpc::string message_header) {
- grpc::string output;
- grpc::protobuf::io::StringOutputStream output_stream(&output);
- grpc::protobuf::io::Printer printer(&output_stream, '$');
- std::map<grpc::string, grpc::string> vars;
- printer.Print("#import \"PBgRPCClient.h\"\n");
- printer.Print("#import \"PBStub.h\"\n");
- vars["message_header"] = message_header;
- printer.Print(&vars, "#import \"$message_header$\"\n\n");
- printer.Print("@protocol GRXSource\n");
- printer.Print("@class GRXSource\n\n");
- vars["service_name"] = service->name();
- printer.Print("@protocol $service_name$Stub <NSObject>\n\n");
- printer.Print("#pragma mark Simple block handlers\n\n");
- for (int i = 0; i < service->method_count(); i++) {
- PrintSimpleBlockSignature(&printer, service->method(i), &vars);
- printer.Print(";\n");
- }
- printer.Print("\n");
- printer.Print("#pragma mark Simple delegate handlers.\n\n");
- printer.Print("# TODO(jcanizales): Use high-level snippets to remove this duplication.");
- for (int i = 0; i < service->method_count(); i++) {
- PrintSimpleDelegateSignature(&printer, service->method(i), &vars);
- printer.Print(";\n");
- }
- printer.Print("\n");
- printer.Print("#pragma mark Advanced handlers.\n\n");
- for (int i = 0; i < service->method_count(); i++) {
- PrintAdvancedSignature(&printer, service->method(i), &vars);
- printer.Print(";\n");
- }
- printer.Print("\n");
- printer.Print("@end\n\n");
- printer.Print("// Basic stub that only does marshalling and parsing\n");
- printer.Print(&vars, "@interface $service_name$Stub :"
- " PBStub<$service_name$Stub>\n");
- printer.Print("- (instancetype)initWithHost:(NSString *)host;\n");
- printer.Print("@end\n");
- return output;
-}
-
void PrintSourceMethodSimpleBlock(grpc::protobuf::io::Printer *printer,
const grpc::protobuf::MethodDescriptor *method,
std::map<grpc::string, grpc::string> *vars) {
@@ -129,7 +87,7 @@ void PrintSourceMethodSimpleBlock(grpc::protobuf::io::Printer *printer,
(*vars)["method_name"] = method->name();
printer->Print(" {\n");
printer->Indent();
- printer->Print(vars, "return [[self $method_name$WithRequest:request] "
+ printer->Print(*vars, "return [[self $method_name$WithRequest:request] "
"connectHandler:^(id value, NSError *error) {\n");
printer->Indent();
printer->Print("handler(value, error);\n");
@@ -147,7 +105,7 @@ void PrintSourceMethodSimpleDelegate(grpc::protobuf::io::Printer *printer,
(*vars)["method_name"] = method->name();
printer->Print(" {\n");
printer->Indent();
- printer->Print(vars, "return [[self $method_name$WithRequest:request]"
+ printer->Print(*vars, "return [[self $method_name$WithRequest:request]"
"connectToSink:delegate];\n");
printer->Outdent();
printer->Print("}\n");
@@ -161,7 +119,7 @@ void PrintSourceMethodAdvanced(grpc::protobuf::io::Printer *printer,
(*vars)["method_name"] = method->name();
printer->Print(" {\n");
printer->Indent();
- printer->Print(vars, "return [self $method_name$WithRequest:request "
+ printer->Print(*vars, "return [self $method_name$WithRequest:request "
"client:[self newClient]];\n");
printer->Outdent();
printer->Print("}\n");
@@ -171,15 +129,15 @@ void PrintSourceMethodHandler(grpc::protobuf::io::Printer *printer,
const grpc::protobuf::MethodDescriptor *method,
std::map<grpc::string, grpc::string> *vars) {
(*vars)["method_name"] = method->name();
- (*vars)["response_type"] = PrefixedName(method->output_type());
+ (*vars)["response_type"] = PrefixedName(method->output_type()->name());
(*vars)["caps_name"] = grpc_generator::CapitalizeFirstLetter(method->name());
- printer->Print(vars, "- (GRXSource *)$method_name$WithRequest:"
+ printer->Print(*vars, "- (GRXSource *)$method_name$WithRequest:"
"(id<GRXSource>)request client:(PBgRPCClient *)client {\n");
printer->Indent();
- printer->Print(vars,
+ printer->Print(*vars,
"return [self responseWithMethod:$@\"$caps_name\"\n");
- printer->Print(vars,
+ printer->Print(*vars,
" class:[$response_type$ class]\n");
printer->Print(" request:request\n");
printer->Print(" client:client];\n");
@@ -187,16 +145,60 @@ void PrintSourceMethodHandler(grpc::protobuf::io::Printer *printer,
printer->Print("}\n");
}
+}
+
+grpc::string GetHeader(const grpc::protobuf::ServiceDescriptor *service,
+ const grpc::string message_header) {
+ grpc::string output;
+ grpc::protobuf::io::StringOutputStream output_stream(&output);
+ grpc::protobuf::io::Printer printer(&output_stream, '$');
+ std::map<grpc::string, grpc::string> vars;
+ printer.Print("#import \"PBgRPCClient.h\"\n");
+ printer.Print("#import \"PBStub.h\"\n");
+ vars["message_header"] = message_header;
+ printer.Print(vars, "#import \"$message_header$\"\n\n");
+ printer.Print("@protocol GRXSource\n");
+ printer.Print("@class GRXSource\n\n");
+ vars["service_name"] = service->name();
+ printer.Print("@protocol $service_name$Stub <NSObject>\n\n");
+ printer.Print("#pragma mark Simple block handlers\n\n");
+ for (int i = 0; i < service->method_count(); i++) {
+ PrintSimpleBlockSignature(&printer, service->method(i), &vars);
+ printer.Print(";\n");
+ }
+ printer.Print("\n");
+ printer.Print("#pragma mark Simple delegate handlers.\n\n");
+ printer.Print("# TODO(jcanizales): Use high-level snippets to remove this duplication.");
+ for (int i = 0; i < service->method_count(); i++) {
+ PrintSimpleDelegateSignature(&printer, service->method(i), &vars);
+ printer.Print(";\n");
+ }
+ printer.Print("\n");
+ printer.Print("#pragma mark Advanced handlers.\n\n");
+ for (int i = 0; i < service->method_count(); i++) {
+ PrintAdvancedSignature(&printer, service->method(i), &vars);
+ printer.Print(";\n");
+ }
+ printer.Print("\n");
+ printer.Print("@end\n\n");
+ printer.Print("// Basic stub that only does marshalling and parsing\n");
+ printer.Print(vars, "@interface $service_name$Stub :"
+ " PBStub<$service_name$Stub>\n");
+ printer.Print("- (instancetype)initWithHost:(NSString *)host;\n");
+ printer.Print("@end\n");
+ return output;
+}
+
grpc::string GetSource(const grpc::protobuf::ServiceDescriptor *service) {
grpc::string output;
grpc::protobuf::io::StringOutputStream output_stream(&output);
grpc::protobuf::io::Printer printer(&output_stream, '$');
std::map<grpc::string, grpc::string> vars;
vars["service_name"] = service->name();
- printer.Print(&vars, "#import \"$service_name$Stub.pb.h\"\n");
+ printer.Print(vars, "#import \"$service_name$Stub.pb.h\"\n");
printer.Print("#import \"PBGeneratedMessage+GRXSource.h\"\n\n");
vars["full_name"] = service->full_name();
- printer.Print(&vars,
+ printer.Print(vars,
"static NSString *const kInterface = @\"$full_name$\";\n");
printer.Print("@implementation $service_name$Stub\n\n");
printer.Print("- (instancetype)initWithHost:(NSString *)host {\n");
diff --git a/src/compiler/objective_c_generator.h b/src/compiler/objective_c_generator.h
index bea63f51e5..93c730b34e 100644
--- a/src/compiler/objective_c_generator.h
+++ b/src/compiler/objective_c_generator.h
@@ -38,7 +38,7 @@
namespace grpc_objective_c_generator {
-grpc::string GetHeader(const grpc::protobuf::ServiceDescriptor *service
+grpc::string GetHeader(const grpc::protobuf::ServiceDescriptor *service,
const grpc::string message_header);
grpc::string GetSource(const grpc::protobuf::ServiceDescriptor *service);
diff --git a/src/compiler/objective_c_generator_helpers.h b/src/compiler/objective_c_generator_helpers.h
index 0c2ece823c..6a7c13991f 100644
--- a/src/compiler/objective_c_generator_helpers.h
+++ b/src/compiler/objective_c_generator_helpers.h
@@ -43,7 +43,7 @@ namespace grpc_objective_c_generator {
const grpc::string prefix = "PBG";
inline grpc::string MessageHeaderName(const grpc::protobuf::FileDescriptor *file) {
- return FileNameInUpperCase(file) + ".pb.h";
+ return grpc_generator::FileNameInUpperCamel(file) + ".pb.h";
}
inline grpc::string StubFileName(grpc::string service_name) {
diff --git a/src/compiler/objective_c_plugin.cc b/src/compiler/objective_c_plugin.cc
index 4d4146b5c4..eebce0cd20 100644
--- a/src/compiler/objective_c_plugin.cc
+++ b/src/compiler/objective_c_plugin.cc
@@ -56,21 +56,24 @@ class ObjectiveCGrpcGenerator : public grpc::protobuf::compiler::CodeGenerator {
for (int i = 0; i < file->service_count(); i++) {
const grpc::protobuf::ServiceDescriptor *service = file->service(i);
- grpc::sring file_name = grpc_objective_c_generator::StubFileName(
+ grpc::string file_name = grpc_objective_c_generator::StubFileName(
service->name());
// Generate .pb.h
- grpc::string header_code = grpc_objective_c_generator::GetHeader(service);
+ grpc::string header_code = grpc_objective_c_generator::GetHeader(
+ service, grpc_objective_c_generator::MessageHeaderName(file));
std::unique_ptr<grpc::protobuf::io::ZeroCopyOutputStream> header_output(
context->Open(file_name + ".pb.h"));
- grpc::protobuf::io::CodedOutputStream header_coded_out(output.get());
+ grpc::protobuf::io::CodedOutputStream header_coded_out(
+ header_output.get());
header_coded_out.WriteRaw(header_code.data(), header_code.size());
// Generate .pb.m
grpc::string source_code = grpc_objective_c_generator::GetSource(service);
std::unique_ptr<grpc::protobuf::io::ZeroCopyOutputStream> source_output(
context->Open(file_name + ".pb.m"));
- grpc::protobuf::io::CodedOutputStream source_coded_out(output.get());
+ grpc::protobuf::io::CodedOutputStream source_coded_out(
+ source_output.get());
source_coded_out.WriteRaw(source_code.data(), source_code.size());
}