MCPcopy Create free account
hub / github.com/EmbeddedRPC/erpc / makeGroupInterfacesTemplateData

Method makeGroupInterfacesTemplateData

erpcgen/src/Generator.cpp:430–478  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

428}
429
430data_list Generator::makeGroupInterfacesTemplateData(Group *group)
431{
432 Log::info("interfaces:\n");
433 data_list interfaces;
434 int n = 0;
435
436 for (Interface *iface : group->getInterfaces())
437 {
438 data_map ifaceInfo;
439 ifaceInfo["name"] = make_data(getOutputName(iface));
440 ifaceInfo["id"] = data_ptr(iface->getUniqueId());
441
442 setTemplateComments(iface, ifaceInfo);
443
444 // TODO: for C only?
445 ifaceInfo["serviceClassName"] = getOutputName(iface) + "_service";
446 ifaceInfo["clientClassName"] = getOutputName(iface) + "_client";
447 ifaceInfo["serverClassName"] = getOutputName(iface) + "_server";
448 ifaceInfo["interfaceClassName"] = getOutputName(iface) + "_interface";
449
450 Log::info("%d: (%d) %s\n", n++, iface->getUniqueId(), iface->getName().c_str());
451
452 /* Has interface function declared as non-external? */
453 data_list functions = getFunctionsTemplateData(group, iface);
454 ifaceInfo["functions"] = functions;
455 data_list callbacksInt;
456 data_list callbacksExt;
457 data_list callbacksAll;
458 getCallbacksTemplateData(group, iface, callbacksInt, callbacksExt, callbacksAll);
459 ifaceInfo["callbacksInt"] = callbacksInt;
460 ifaceInfo["callbacksAll"] = callbacksAll;
461 ifaceInfo["isNonExternalInterface"] = false;
462 for (unsigned int i = 0; i < functions.size(); ++i)
463 {
464 assert(dynamic_cast<DataMap *>(functions[i].get().get()));
465 string isNonExternalFunction =
466 dynamic_cast<DataMap *>(functions[i].get().get())->getmap()["isNonExternalFunction"]->getvalue();
467 if (isNonExternalFunction.compare("true") == 0)
468 {
469 ifaceInfo["isNonExternalInterface"] = true;
470 break;
471 }
472 }
473
474 interfaces.push_back(ifaceInfo);
475 }
476
477 return interfaces;
478}
479
480string Generator::getGroupCommonFileName(Group *group)
481{

Callers

nothing calls this directly

Calls 8

make_dataFunction · 0.85
data_ptrClass · 0.85
getvalueMethod · 0.80
push_backMethod · 0.80
getUniqueIdMethod · 0.45
getNameMethod · 0.45
sizeMethod · 0.45
getMethod · 0.45

Tested by

no test coverage detected