Fawkes API  Fawkes Development Version
InterfaceParser Class Reference

Parser used to get information out of interface template. More...

#include <interfaces/generator/parser.h>

Public Member Functions

 InterfaceParser (std::string config_filename)
 Constructor. More...
 
 ~InterfaceParser ()
 Destructor. More...
 
std::vector< InterfaceFieldgetFields (xmlpp::Node *node)
 Get parsed fields. More...
 
std::vector< InterfacePseudoMapgetPseudoMaps (xmlpp::Node *node, std::vector< InterfaceField > &fields)
 Get parsed pseudo maps. More...
 
void parse ()
 Parse config. More...
 
void printFields (std::vector< InterfaceField > &fields)
 Print fields. More...
 
void printPseudoMaps (std::vector< InterfacePseudoMap > &pseudo_maps)
 Print pseudo maps. More...
 
void print ()
 Print parsed data. More...
 
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. More...
 
std::string getInterfaceName ()
 Get interface name. More...
 
std::string getInterfaceAuthor ()
 Get interface author. More...
 
std::string getInterfaceYear ()
 Get interface copyright year. More...
 
std::string getInterfaceCreationDate ()
 Get interface creation date as string Only valid after parse(). More...
 
std::vector< InterfaceConstantgetConstants ()
 Get constants. More...
 
std::vector< InterfaceEnumConstantgetEnumConstants ()
 Get enum constants. More...
 
std::vector< InterfaceFieldgetDataFields ()
 Get data fields. More...
 
std::vector< InterfacePseudoMapgetPseudoMaps ()
 Get data pseudo maps. More...
 
std::string getDataComment ()
 Get data comment. More...
 
std::vector< InterfaceMessagegetMessages ()
 Get messages. More...
 

Detailed Description

Parser used to get information out of interface template.

Uses XML parser internally.

Definition at line 39 of file parser.h.

Constructor & Destructor Documentation

◆ InterfaceParser()

InterfaceParser::InterfaceParser ( std::string  config_filename)

Constructor.

Parameters
config_filenamefile name of config (interface template)

Definition at line 46 of file parser.cpp.

◆ ~InterfaceParser()

InterfaceParser::~InterfaceParser ( )

Destructor.

Definition at line 60 of file parser.cpp.

Member Function Documentation

◆ getConstants()

std::vector< InterfaceConstant > InterfaceParser::getConstants ( )

Get constants.

Only valid after parse().

Returns
constants.

Definition at line 703 of file parser.cpp.

◆ getDataComment()

std::string InterfaceParser::getDataComment ( )

Get data comment.

Only valid after parse().

Returns
data comment.

Definition at line 747 of file parser.cpp.

◆ getDataFields()

std::vector< InterfaceField > InterfaceParser::getDataFields ( )

Get data fields.

Only valid after parse().

Returns
data fields.

Definition at line 725 of file parser.cpp.

◆ getEnumConstants()

std::vector< InterfaceEnumConstant > InterfaceParser::getEnumConstants ( )

Get enum constants.

Only valid after parse().

Returns
enum constants.

Definition at line 714 of file parser.cpp.

◆ getFields()

std::vector< InterfaceField > InterfaceParser::getFields ( xmlpp::Node *  node)

Get parsed fields.

Get fields stored below the given node.

Parameters
noderoot node where to start searching
Returns
vector of field representations.

Definition at line 72 of file parser.cpp.

References InterfaceField::getName(), fawkes::Exception::print_trace(), InterfaceField::setAttribute(), InterfaceField::setComment(), and InterfaceField::valid().

◆ getInterfaceAuthor()

std::string InterfaceParser::getInterfaceAuthor ( )

Get interface author.

Only valid after parse().

Returns
interface author.

Definition at line 670 of file parser.cpp.

◆ getInterfaceCreationDate()

std::string InterfaceParser::getInterfaceCreationDate ( )

Get interface creation date as string Only valid after parse().

Returns
interface creation date

Definition at line 692 of file parser.cpp.

◆ getInterfaceName()

std::string InterfaceParser::getInterfaceName ( )

Get interface name.

Only valid after parse().

Returns
interface name.

Definition at line 659 of file parser.cpp.

◆ getInterfaceYear()

std::string InterfaceParser::getInterfaceYear ( )

Get interface copyright year.

Only valid after parse().

Returns
interface copyright year

Definition at line 681 of file parser.cpp.

◆ getMessages()

std::vector< InterfaceMessage > InterfaceParser::getMessages ( )

Get messages.

Only valid after parse().

Returns
messages.

Definition at line 758 of file parser.cpp.

◆ getPseudoMaps() [1/2]

std::vector< InterfacePseudoMap > InterfaceParser::getPseudoMaps ( xmlpp::Node *  node,
std::vector< InterfaceField > &  fields 
)

Get parsed pseudo maps.

Get pseudo maps stored below the given node.

Parameters
noderoot node where to start searching
fieldsvector of parsed fields, used to detect name clashes
Returns
vector of pseudo map representations.

Definition at line 130 of file parser.cpp.

References InterfacePseudoMap::addRef(), fawkes::Exception::print_trace(), and InterfacePseudoMap::valid().

◆ getPseudoMaps() [2/2]

std::vector< InterfacePseudoMap > InterfaceParser::getPseudoMaps ( )

Get data pseudo maps.

Only valid after parse().

Returns
pseudo maps

Definition at line 736 of file parser.cpp.

◆ parse()

void InterfaceParser::parse ( )

◆ print()

void InterfaceParser::print ( )

Print parsed data.

Definition at line 331 of file parser.cpp.

◆ printFields()

void InterfaceParser::printFields ( std::vector< InterfaceField > &  fields)

Print fields.

Print fields to stdout.

Parameters
fieldsfields to print

Definition at line 236 of file parser.cpp.

◆ 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.

Parameters
constantsparsed constants
enum_constantsparsed enum_constants
data_fieldsparsed data fields
pseudo_mapspseudo maps
messagesparsed messages.

Definition at line 296 of file parser.cpp.

◆ printPseudoMaps()

void InterfaceParser::printPseudoMaps ( std::vector< InterfacePseudoMap > &  pseudo_maps)

Print pseudo maps.

Parameters
pseudo_mapspseudo maps to print

Definition at line 269 of file parser.cpp.


The documentation for this class was generated from the following files: