MCPcopy Create free account
hub / github.com/Tencent/phxrpc / GetServiceFuncDeclaration

Method GetServiceFuncDeclaration

codegen/service_code_render.cpp:272–296  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

270}
271
272void ServiceCodeRender::GetServiceFuncDeclaration(SyntaxTree *stree,
273 const SyntaxFunc *const func, int is_header, int is_impl,
274 int need_param_name, string *result) {
275 char service_impl_name[128]{'\0'}, type_name[128]{'\0'};
276
277 if (is_impl) {
278 name_render_.GetServiceImplClassName(stree->GetName(), service_impl_name, sizeof(service_impl_name));
279 } else {
280 name_render_.GetServiceClassName(stree->GetName(), service_impl_name, sizeof(service_impl_name));
281 }
282
283 if (is_header) {
284 StrAppendFormat(result, "int %s(", func->GetName());
285 } else {
286 StrAppendFormat(result, "int %s::%s(", service_impl_name, func->GetName());
287 }
288
289 name_render_.GetMessageClassName(func->GetReq()->GetType(), type_name, sizeof(type_name));
290 StrAppendFormat(result, "const %s &%s,\n", type_name, need_param_name ? "req" : "/* req */");
291
292 name_render_.GetMessageClassName(func->GetResp()->GetType(), type_name, sizeof(type_name));
293 StrAppendFormat(result, " %s *%s", type_name, need_param_name ? "resp" : "/* resp */");
294
295 result->append(")");
296}
297
298void ServiceCodeRender::GenerateDispatcherHpp(SyntaxTree *stree, FILE *write) {
299 char file_name[128]{'\0'};

Callers

nothing calls this directly

Calls 8

StrAppendFormatFunction · 0.85
GetNameMethod · 0.80
GetServiceClassNameMethod · 0.80
GetMessageClassNameMethod · 0.80
GetReqMethod · 0.80
GetRespMethod · 0.80
GetTypeMethod · 0.45

Tested by

no test coverage detected