Fawkes API  Fawkes Development Version
InterfaceParser Class Reference

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

#include <interfaces/generator/parser.h>

List of all members.

Public Member Functions

 InterfaceParser (std::string config_filename)
 Constructor.
 ~InterfaceParser ()
 Destructor.
std::vector< InterfaceFieldgetFields (xmlpp::Node *node)
 Get parsed fields.
std::vector< InterfacePseudoMapgetPseudoMaps (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< InterfaceConstantgetConstants ()
 Get constants.
std::vector
< InterfaceEnumConstant
getEnumConstants ()
 Get enum constants.
std::vector< InterfaceFieldgetDataFields ()
 Get data fields.
std::vector< InterfacePseudoMapgetPseudoMaps ()
 Get data pseudo maps.
std::string getDataComment ()
 Get data comment.
std::vector< InterfaceMessagegetMessages ()
 Get messages.

Detailed Description

Parser used to get information out of interface template.

Uses XML parser internally.


Constructor & Destructor Documentation

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 ( )

Destructor.

Definition at line 60 of file parser.cpp.


Member Function Documentation

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

Get constants.

Only valid after parse().

Returns:
constants.

Definition at line 699 of file parser.cpp.

std::string InterfaceParser::getDataComment ( )

Get data comment.

Only valid after parse().

Returns:
data comment.

Definition at line 743 of file parser.cpp.

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

Get data fields.

Only valid after parse().

Returns:
data fields.

Definition at line 721 of file parser.cpp.

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

Get enum constants.

Only valid after parse().

Returns:
enum constants.

Definition at line 710 of file parser.cpp.

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::setAttribute(), InterfaceField::getName(), InterfaceField::setComment(), InterfaceField::valid(), and fawkes::Exception::print_trace().

std::string InterfaceParser::getInterfaceAuthor ( )

Get interface author.

Only valid after parse().

Returns:
interface author.

Definition at line 666 of file parser.cpp.

std::string InterfaceParser::getInterfaceCreationDate ( )

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

Returns:
interface creation date

Definition at line 688 of file parser.cpp.

std::string InterfaceParser::getInterfaceName ( )

Get interface name.

Only valid after parse().

Returns:
interface name.

Definition at line 655 of file parser.cpp.

std::string InterfaceParser::getInterfaceYear ( )

Get interface copyright year.

Only valid after parse().

Returns:
interface copyright year

Definition at line 677 of file parser.cpp.

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

Get messages.

Only valid after parse().

Returns:
messages.

Definition at line 754 of file parser.cpp.

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(), InterfacePseudoMap::valid(), and fawkes::Exception::print_trace().

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

Get data pseudo maps.

Only valid after parse().

Returns:
pseudo maps

Definition at line 732 of file parser.cpp.

void InterfaceParser::parse ( )
void InterfaceParser::print ( )

Print parsed data.

Definition at line 331 of file parser.cpp.

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.

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.

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.

References InterfacePseudoMap::getRefList().


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