17 #ifndef __OMNETPP_NEDXML_MSGCODEGENERATOR_H
18 #define __OMNETPP_NEDXML_MSGCODEGENERATOR_H
29 #include "msgelements.h"
58 std::string prefixWithNamespace(
const std::string& name,
const std::string& namespaceName);
59 std::string makeFuncall(
const std::string& var,
bool isPointer,
const std::string& funcTemplate,
bool withIndex=
false,
const std::string& value=
"");
60 void generateOwnershipOp(
const FieldInfo& field,
const std::string& var,
const std::string& op);
62 void generateClassDecl(
const ClassInfo& classInfo,
const std::string& exportDef);
63 void generateClassImpl(
const ClassInfo& classInfo);
64 void generateStructDecl(
const ClassInfo& classInfo,
const std::string& exportDef);
65 void generateStructImpl(
const ClassInfo& classInfo);
66 void generateCplusplusBlock(std::ofstream& out,
const std::string& body);
67 void generateMethodCplusplusBlock(
const ClassInfo& classInfo,
const std::string& method);
68 void reportUnusedMethodCplusplusBlocks(
const ClassInfo& classInfo);
69 void generateDelegationForBaseClassFields(
const std::string& code);
73 void openFiles(
const char *hFile,
const char *ccFile);
76 void generateProlog(
const std::string& msgFileName,
const std::string& firstNamespace,
const std::string& exportDef);
77 void generateEpilog();
78 void generateClass(
const ClassInfo& classInfo,
const std::string& exportDef);
79 void generateStruct(
const ClassInfo& classInfo,
const std::string& exportDef);
80 void generateToAnyPtr(
const ClassInfo& a);
81 void generateFromAnyPtr(
const ClassInfo& a,
const std::string& exportDef);
82 void generateDescriptorClass(
const ClassInfo& a);
83 void generateEnum(
const ClassInfo& enumInfo);
84 void generateImport(
const std::string& importName);
85 void generateNamespaceBegin(
const std::string& namespaceName,
bool intoCcFile=
true);
86 void generateNamespaceEnd(
const std::string& namespaceName,
bool intoCcFile=
true);
87 void generateTypeAnnouncement(
const ClassInfo& classInfo);
88 std::string generatePreComment(
ASTNode *nedElement);
89 void generateHeaderCplusplusBlock(
const std::string& body);
90 void generateImplCplusplusBlock(
const std::string& body);