23 #ifndef __INTERFACES_GENERATOR_CPP_GENERATOR_H_
24 #define __INTERFACES_GENERATOR_CPP_GENERATOR_H_
28 #include "enum_constant.h"
30 #include "pseudomap.h"
40 std::string config_basename, std::string author,
41 std::string year, std::string creation_date,
42 std::string data_comment,
43 const unsigned char *hash,
size_t hash_size,
44 const std::vector<InterfaceConstant> &constants,
45 const std::vector<InterfaceEnumConstant> &enum_constants,
46 const std::vector<InterfaceField> &data_fields,
47 const std::vector<InterfacePseudoMap> &pseudo_maps,
48 const std::vector<InterfaceMessage> &messages
62 std::string classname);
64 std::string inclusion_prefix, std::vector<InterfaceField> fields,
65 std::vector<InterfaceMessage> messages);
68 std::string classname,
69 std::vector<InterfaceField> fields);
71 std::string inclusion_prefix,
72 std::vector<InterfaceField> fields);
79 std::vector<InterfaceField> fields);
81 std::string interface_classname,
82 std::string classname,
83 std::vector<InterfaceField> fields,
84 std::string inclusion_prefix,
85 bool write_data_changed);
95 std::vector<InterfaceField> fields,
96 std::vector<InterfacePseudoMap> pseudo_maps);
98 std::string interface_classname,
99 std::string classname,
100 std::vector<InterfaceField> fields,
101 std::vector<InterfacePseudoMap> pseudo_maps,
102 std::string inclusion_prefix);
109 void write_struct(FILE *f, std::string name, std::string is,
110 std::vector<InterfaceField> fields);
117 std::vector<InterfaceConstant> constants;
118 std::vector<InterfaceEnumConstant> enum_constants;
119 std::vector<InterfaceField> data_fields;
120 std::vector<InterfacePseudoMap> pseudo_maps;
121 std::vector<InterfaceMessage> messages;
124 std::string filename_cpp;
125 std::string filename_h;
126 std::string filename_o;
127 std::string class_name;
128 std::string deflector;
132 std::string creation_date;
133 std::string data_comment;
135 const unsigned char *hash;