23 #ifndef __INTERFACES_GENERATOR_TOLUA_GENERATOR_H_
24 #define __INTERFACES_GENERATOR_TOLUA_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
60 std::vector<InterfaceField> fields);
62 std::vector<InterfaceField> fields,
63 std::vector<InterfacePseudoMap> pseudo_maps);
65 std::string classname,
66 std::vector<InterfaceField> fields);
68 std::string classname);
75 std::vector<InterfaceConstant> constants;
76 std::vector<InterfaceEnumConstant> enum_constants;
77 std::vector<InterfaceField> data_fields;
78 std::vector<InterfacePseudoMap> pseudo_maps;
79 std::vector<InterfaceMessage> messages;
82 std::string filename_tolua;
83 std::string filename_h;
84 std::string class_name;
88 std::string creation_date;
89 std::string data_comment;
91 const unsigned char *hash;
void write_ctor_dtor_h(FILE *f, std::stringis, std::string classname)
Write constructor and destructor to h file.
~ToLuaInterfaceGenerator()
Destructor.
void write_toluaf(FILE *f)
Write h file.
void write_superclass_h(FILE *f)
Write superclass methods.
void write_constants_h(FILE *f)
Write constants to h file.
const char * convert_type(std::string c_type)
Convert C type to Lua type.
void write_messages_h(FILE *f)
Write messages to h file.
void write_message_ctor_dtor_h(FILE *f, std::stringis, std::string classname, std::vector< InterfaceField > fields)
Write constructor and destructor for message to h file.
void write_header(FILE *f, std::string filename)
Write header to file.
void generate()
Generator cpp and h files.
ToLuaInterfaceGenerator(std::string directory, std::string interface_name, std::string config_basename, std::string author, std::string year, std::string creation_date, std::string data_comment, const unsigned char *hash, size_t hash_size, const std::vector< InterfaceConstant > &constants, const std::vector< InterfaceEnumConstant > &enum_constants, const std::vector< InterfaceField > &data_fields, const std::vector< InterfacePseudoMap > &pseudo_maps, const std::vector< InterfaceMessage > &messages)
Constructor.
Generator that transforms input from the InterfaceParser into valid ToLua++ package file...
void write_methods_h(FILE *f, std::stringis, std::vector< InterfaceField > fields)
Write methods to h file.