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,
const std::string& funcTemplate,
bool withIndex=
false,
const std::string& value=
"");
61 void generateClassDecl(
const ClassInfo& classInfo,
const std::string& exportDef,
const std::string& extraCode);
62 void generateClassImpl(
const ClassInfo& classInfo);
63 void generateStructDecl(
const ClassInfo& classInfo,
const std::string& exportDef,
const std::string& extraCode);
64 void generateStructImpl(
const ClassInfo& classInfo);
67 void openFiles(
const char *hFile,
const char *ccFile);
70 void generateProlog(
const std::string& msgFileName,
const std::string& firstNamespace,
const std::string& exportDef);
71 void generateEpilog();
72 void generateClass(
const ClassInfo& classInfo,
const std::string& exportDef,
const std::string& extraCode=
"");
73 void generateStruct(
const ClassInfo& classInfo,
const std::string& exportDef,
const std::string& extraCode=
"");
74 void generateDescriptorClass(
const ClassInfo& a);
75 void generateEnum(
const EnumInfo& enumInfo);
76 void generateImport(
const std::string& importName);
77 void generateNamespaceBegin(
const std::string& namespaceName,
bool intoCcFile=
true);
78 void generateNamespaceEnd(
const std::string& namespaceName,
bool intoCcFile=
true);
79 void generateTypeAnnouncement(
const ClassInfo& classInfo);
80 std::string generatePreComment(
ASTNode *nedElement);
81 void generateCplusplusBlock(
const std::string& target,
const std::string& body);
82 void generateTemplates();
std::ofstream ccStream
Definition: msgcodegenerator.h:54
#define NEDXML_API
Definition: nedxmldefs.h:31
Code generator part of the message compiler.
Definition: msgcodegenerator.h:40
MsgTypeTable::Properties Properties
Definition: msgcodegenerator.h:44
std::ofstream hStream
Definition: msgcodegenerator.h:53
Definition: msgtypetable.h:74
MsgTypeTable::EnumInfo EnumInfo
Definition: msgcodegenerator.h:48
MsgTypeTable::FieldInfo FieldInfo
Definition: msgcodegenerator.h:45
MsgTypeTable::ClassInfo ClassInfo
Definition: msgcodegenerator.h:46
std::vector< std::string > StringVector
Definition: msgcodegenerator.h:43
Definition: msgtypetable.h:139
Definition: astbuilder.h:25
Definition: msgtypetable.h:62
MsgTypeTable::EnumItem EnumItem
Definition: msgcodegenerator.h:47
std::string hFilename
Definition: msgcodegenerator.h:51
std::string ccFilename
Definition: msgcodegenerator.h:52
std::string headerGuard
Definition: msgcodegenerator.h:55
Definition: msgtypetable.h:198
Definition: msgtypetable.h:207