00001
00002
00003
00004
00005
00006
00007
00008 #ifndef marshal_generator_H
00009 #define marshal_generator_H
00010
00011 #include "dds_generator.h"
00012
00013 class marshal_generator : public dds_generator {
00014 public:
00015 bool gen_enum(AST_Enum* node, UTL_ScopedName* name,
00016 const std::vector<AST_EnumVal*>& contents, const char* repoid);
00017
00018 bool gen_struct(AST_Structure* node, UTL_ScopedName* name,
00019 const std::vector<AST_Field*>& fields,
00020 AST_Type::SIZE_TYPE size, const char* repoid);
00021
00022 bool gen_typedef(AST_Typedef* node, UTL_ScopedName* name, AST_Type* base, const char* repoid);
00023
00024 bool gen_union(AST_Union* node, UTL_ScopedName* name,
00025 const std::vector<AST_UnionBranch*>& branches,
00026 AST_Type* discriminator,
00027 const char* repoid);
00028 };
00029
00030 #endif