#include <interfaces/generator/parser.h>
Public Member Functions | |
InterfaceParser (std::string config_filename) | |
Constructor. | |
~InterfaceParser () | |
Destructor. | |
std::vector< InterfaceField > | getFields (xmlpp::Node *node) |
Get parsed fields. | |
std::vector< InterfacePseudoMap > | getPseudoMaps (xmlpp::Node *node, std::vector< InterfaceField > &fields) |
Get parsed pseudo maps. | |
void | parse () |
Parse config. | |
void | printFields (std::vector< InterfaceField > &fields) |
Print fields. | |
void | printPseudoMaps (std::vector< InterfacePseudoMap > &pseudo_maps) |
Print pseudo maps. | |
void | print () |
Print parsed data. | |
void | printParsed (std::vector< InterfaceConstant > &constants, std::vector< InterfaceEnumConstant > &enum_constants, std::vector< InterfaceField > &data_fields, std::vector< InterfacePseudoMap > &pseudo_maps, std::vector< InterfaceMessage > &messages) |
Print parsed config. | |
std::string | getInterfaceName () |
Get interface name. | |
std::string | getInterfaceAuthor () |
Get interface author. | |
std::string | getInterfaceYear () |
Get interface copyright year. | |
std::string | getInterfaceCreationDate () |
Get interface creation date as string Only valid after parse(). | |
std::vector< InterfaceConstant > | getConstants () |
Get constants. | |
std::vector< InterfaceEnumConstant > | getEnumConstants () |
Get enum constants. | |
std::vector< InterfaceField > | getDataFields () |
Get data fields. | |
std::vector< InterfacePseudoMap > | getPseudoMaps () |
Get data pseudo maps. | |
std::string | getDataComment () |
Get data comment. | |
std::vector< InterfaceMessage > | getMessages () |
Get messages. |
Uses XML parser internally.
Definition at line 40 of file parser.h.
InterfaceParser::InterfaceParser | ( | std::string | config_filename | ) |
Constructor.
config_filename | file name of config (interface template) |
Definition at line 44 of file parser.cpp.
InterfaceParser::~InterfaceParser | ( | ) |
std::vector< InterfaceConstant > InterfaceParser::getConstants | ( | ) |
Get constants.
Only valid after parse().
Definition at line 683 of file parser.cpp.
std::string InterfaceParser::getDataComment | ( | ) |
Get data comment.
Only valid after parse().
Definition at line 727 of file parser.cpp.
std::vector< InterfaceField > InterfaceParser::getDataFields | ( | ) |
Get data fields.
Only valid after parse().
Definition at line 705 of file parser.cpp.
std::vector< InterfaceEnumConstant > InterfaceParser::getEnumConstants | ( | ) |
Get enum constants.
Only valid after parse().
Definition at line 694 of file parser.cpp.
std::vector< InterfaceField > InterfaceParser::getFields | ( | xmlpp::Node * | node | ) |
Get parsed fields.
Get fields stored below the given node.
node | root node where to start searching |
Definition at line 70 of file parser.cpp.
References fawkes::Exception::print_trace(), InterfaceField::setAttribute(), InterfaceField::setComment(), and InterfaceField::valid().
Referenced by parse().
std::string InterfaceParser::getInterfaceAuthor | ( | ) |
Get interface author.
Only valid after parse().
Definition at line 650 of file parser.cpp.
std::string InterfaceParser::getInterfaceCreationDate | ( | ) |
Get interface creation date as string Only valid after parse().
Definition at line 672 of file parser.cpp.
std::string InterfaceParser::getInterfaceName | ( | ) |
Get interface name.
Only valid after parse().
Definition at line 639 of file parser.cpp.
std::string InterfaceParser::getInterfaceYear | ( | ) |
Get interface copyright year.
Only valid after parse().
Definition at line 661 of file parser.cpp.
std::vector< InterfaceMessage > InterfaceParser::getMessages | ( | ) |
Get messages.
Only valid after parse().
Definition at line 738 of file parser.cpp.
std::vector< InterfacePseudoMap > InterfaceParser::getPseudoMaps | ( | ) |
Get data pseudo maps.
Only valid after parse().
Definition at line 716 of file parser.cpp.
Referenced by parse().
std::vector< InterfacePseudoMap > InterfaceParser::getPseudoMaps | ( | xmlpp::Node * | node, | |
std::vector< InterfaceField > & | fields | |||
) |
Get parsed pseudo maps.
Get pseudo maps stored below the given node.
node | root node where to start searching | |
fields | vector of parsed fields, used to detect name clashes |
Definition at line 129 of file parser.cpp.
References InterfacePseudoMap::addRef(), fawkes::Exception::print_trace(), and InterfacePseudoMap::valid().
void InterfaceParser::parse | ( | ) |
Parse config.
Definition at line 337 of file parser.cpp.
References InterfaceEnumConstant::addItem(), getFields(), getPseudoMaps(), fawkes::Exception::print_trace(), and InterfaceMessage::setFields().
void InterfaceParser::print | ( | ) |
void InterfaceParser::printFields | ( | std::vector< InterfaceField > & | fields | ) |
Print fields.
Print fields to stdout.
fields | fields to print |
Definition at line 235 of file parser.cpp.
Referenced by printParsed().
void InterfaceParser::printParsed | ( | std::vector< InterfaceConstant > & | constants, | |
std::vector< InterfaceEnumConstant > & | enum_constants, | |||
std::vector< InterfaceField > & | data_fields, | |||
std::vector< InterfacePseudoMap > & | pseudo_maps, | |||
std::vector< InterfaceMessage > & | messages | |||
) |
Print parsed config.
constants | parsed constants | |
enum_constants | parsed enum_constants | |
data_fields | parsed data fields | |
pseudo_maps | pseudo maps | |
messages | parsed messages. |
Definition at line 295 of file parser.cpp.
References printFields(), and printPseudoMaps().
Referenced by print().
void InterfaceParser::printPseudoMaps | ( | std::vector< InterfacePseudoMap > & | pseudo_maps | ) |
Print pseudo maps.
pseudo_maps | pseudo maps to print |
Definition at line 268 of file parser.cpp.
Referenced by printParsed().