OpenDDS  Snapshot(2023/04/28-20:55)
langmap_generator.h
Go to the documentation of this file.
1 /*
2  * Distributed under the OpenDDS License.
3  * See: http://www.opendds.org/license.html
4  */
5 
6 #ifndef langmap_generator_H
7 #define langmap_generator_H
8 
9 #include "dds_generator.h"
10 
11 /// Generate code for the IDL -> Programming Language mapping
12 /// For example, IDL structs -> C++ structs, etc.
13 /// Enabled by the -L* command line options
15 public:
16  void init();
17 
18 private:
19  bool gen_const(UTL_ScopedName* name, bool nestedInInteface,
20  AST_Constant* constant);
21 
22  bool gen_enum(AST_Enum*, UTL_ScopedName* name,
23  const std::vector<AST_EnumVal*>& contents, const char* repoid);
24 
25  bool gen_struct(AST_Structure*, UTL_ScopedName* name,
26  const std::vector<AST_Field*>& fields,
27  AST_Type::SIZE_TYPE size, const char* repoid);
28 
29  bool gen_struct_fwd(UTL_ScopedName* name,
30  AST_Type::SIZE_TYPE size);
31 
32  bool gen_typedef(AST_Typedef*, UTL_ScopedName* name, AST_Type* type, const char* repoid);
33 
34  bool gen_union(AST_Union*, UTL_ScopedName* name,
35  const std::vector<AST_UnionBranch*>& branches,
36  AST_Type* discriminator,
37  const char* repoid);
38 
39  bool gen_union_fwd(AST_UnionFwd*, UTL_ScopedName* name,
40  AST_Type::SIZE_TYPE size);
41 
42  bool gen_interf_fwd(UTL_ScopedName* name);
43 };
44 
45 #endif
bool gen_union(AST_Union *, UTL_ScopedName *name, const std::vector< AST_UnionBranch *> &branches, AST_Type *discriminator, const char *repoid)
bool gen_union_fwd(AST_UnionFwd *, UTL_ScopedName *name, AST_Type::SIZE_TYPE size)
bool gen_typedef(AST_Typedef *, UTL_ScopedName *name, AST_Type *type, const char *repoid)
bool gen_enum(AST_Enum *, UTL_ScopedName *name, const std::vector< AST_EnumVal *> &contents, const char *repoid)
bool gen_struct_fwd(UTL_ScopedName *name, AST_Type::SIZE_TYPE size)
bool gen_struct(AST_Structure *, UTL_ScopedName *name, const std::vector< AST_Field *> &fields, AST_Type::SIZE_TYPE size, const char *repoid)
const char *const name
Definition: debug.cpp:60
bool gen_interf_fwd(UTL_ScopedName *name)
bool gen_const(UTL_ScopedName *name, bool nestedInInteface, AST_Constant *constant)