From 5115af58e452120b4d455ef7f2cb60dc6bd852ce Mon Sep 17 00:00:00 2001
From: Jorge Canizales <jcanizales@google.com>
Date: Sun, 2 Aug 2015 16:09:41 -0700
Subject: [PATCH] Make FileNameInUpperCamel aware of directories

---
 src/compiler/generator_helpers.h | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/compiler/generator_helpers.h b/src/compiler/generator_helpers.h
index 7bdaff1c9b..68b807b057 100644
--- a/src/compiler/generator_helpers.h
+++ b/src/compiler/generator_helpers.h
@@ -126,7 +126,13 @@ inline grpc::string LowerUnderscoreToUpperCamel(grpc::string str) {
 }
 
 inline grpc::string FileNameInUpperCamel(const grpc::protobuf::FileDescriptor *file) {
-  return LowerUnderscoreToUpperCamel(StripProto(file->name()));
+  std::vector<grpc::string> tokens = tokenize(StripProto(file->name()), "/");
+  grpc::string result = "";
+  for (unsigned int i = 0; i < tokens.size() - 1; i++) {
+    result += tokens[i] + "/";
+  }
+  result += LowerUnderscoreToUpperCamel(tokens.back());
+  return result;
 }
 
 enum MethodType {
-- 
GitLab