Version: 9.16.0
YACS::containertypeParser Struct Reference

Class for container parser. More...

#include <containerParsers.hxx>

Inheritance diagram for YACS::containertypeParser:
Collaboration diagram for YACS::containertypeParser:

Public Member Functions

virtual void buildAttr (const XML_Char **attr)
 
virtual void onStart (const XML_Char *el, const XML_Char **attr)
 
virtual void onEnd (const char *el, parser *child)
 
virtual void pre ()
 
virtual void name (const std::string &name)
 
virtual void machine_ (const machine &m)
 
virtual void property (const myprop &prop)
 
virtual void initializescriptkey (const myfunc &f)
 
mycontainer post ()
 
- Public Member Functions inherited from YACS::parser
 parser ()
 
virtual ~parser ()
 
virtual void SetUserDataAndPush (parser *pp)
 
virtual void onStart (const XML_Char *el, const XML_Char **attr)
 
virtual void onEnd (const XML_Char *el, parser *child)
 
virtual void charData (const XML_Char *s, int len)
 
virtual void endParser ()
 
virtual void init ()
 
virtual void incrCount (const XML_Char *elem)
 
virtual void checkOrder (std::string &el)
 
virtual void maxcount (std::string name, int max, std::string &el)
 
virtual void mincount (std::string name, int min)
 
virtual void maxchoice (std::string *names, int max, std::string &el)
 
virtual void minchoice (std::string *names, int min)
 
virtual void pre ()
 
virtual void required (const std::string &name, const XML_Char **attr)
 
virtual void buildAttr (const XML_Char **attr)
 
std::stack< parser * > & getStack ()
 
template<class T >
T post ()
 
void logError (const std::string &reason)
 

Public Attributes

mycontainer _container
 
- Public Attributes inherited from YACS::parser
std::string _file
 
std::string _content
 
std::map< std::string, int > * _counts
 
std::map< std::string, int > _orders
 
int _orderState
 
int _level
 
std::stack< std::map< std::string, int > * > _stackCount
 
std::stack< int > _stackOrder
 
std::map< std::string, parser * > * _defaultParsersMap
 

Static Public Attributes

static containertypeParser containerParser
 
- Static Public Attributes inherited from YACS::parser
static parser main_parser
 
static std::stack< parser * > _stackParser
 

Additional Inherited Members

- Static Public Member Functions inherited from YACS::parser
static void XMLCALL start_document (void *data)
 
static void XMLCALL end_document (void *data)
 
static void XMLCALL start_element (void *data, const xmlChar *name, const xmlChar **p)
 
static void XMLCALL end_element (void *data, const xmlChar *name)
 
static void XMLCALL characters (void *data, const xmlChar *ch, int len)
 
static void XMLCALL comment (void *data, const xmlChar *value)
 
static void XMLCALL cdata_block (void *data, const xmlChar *value, int len)
 
static void XMLCALL warning (void *data, const char *fmt,...)
 
static void XMLCALL error (void *data, const char *fmt,...)
 
static void XMLCALL fatal_error (void *data, const char *fmt,...)
 
static void XML_SetUserData (_xmlParserCtxt *ctxt, parser *par)
 

Detailed Description

Class for container parser.

Class used to parse container description

XML schema is

  <xsd:complexType name="ContainerType">
    <xsd:sequence>
      <xsd:element name="machine" type="MachineType" minOccurs="0" maxOccurs="unbounded"/>
      <xsd:element name="property" type="PropertyType" minOccurs="0" maxOccurs="unbounded"/>
    </xsd:sequence>
    <xsd:attribute name="name" type="xsd:string" use="required"/>
  </xsd:complexType>

Definition at line 66 of file containerParsers.hxx.

Member Function Documentation

◆ buildAttr()

void YACS::containertypeParser::buildAttr ( const XML_Char **  attr)
virtual

Reimplemented from YACS::parser.

Definition at line 50 of file containerParsers.cxx.

51 {
52 if (!attr)
53 return;
54 required("name",attr);
55 for (int i = 0; attr[i]; i += 2)
56 {
57 if(std::string(attr[i]) == "name")name(attr[i+1]);
58 }
59 }
virtual void name(const std::string &name)
virtual void required(const std::string &name, const XML_Char **attr)
Definition: parserBase.cxx:186

References yacsorb.CORBAEngineTest::i, name(), and YACS::parser::required().

◆ initializescriptkey()

void YACS::containertypeParser::initializescriptkey ( const myfunc f)
virtual

◆ machine_()

void YACS::containertypeParser::machine_ ( const machine m)
virtual

Definition at line 85 of file containerParsers.cxx.

86 {
87 DEBTRACE( "machine: " << m._name )
88 _container._machs.push_back(m);
89 }
#define DEBTRACE(msg)
Definition: YacsTrace.hxx:31

References _container, mycontainer::_machs, DEBTRACE, and gui.GraphViewer::m.

Referenced by onEnd().

◆ name()

void YACS::containertypeParser::name ( const std::string &  name)
virtual

Definition at line 84 of file containerParsers.cxx.

std::string _name
Definition: factory.hxx:115

References _container, mycontainer::_name, and name().

Referenced by buildAttr(), and name().

◆ onEnd()

void YACS::containertypeParser::onEnd ( const char *  el,
parser child 
)
virtual

Reimplemented from YACS::parser.

Definition at line 72 of file containerParsers.cxx.

73 {
74 std::string element(el);
75 if(element == "machine")machine_(((machinetypeParser*)child)->post());
76 if(element == "property")property(((propertytypeParser*)child)->post());
77 if(element == "initializescriptkey")initializescriptkey(((codetypeParser*)child)->post());
78 }
virtual void property(const myprop &prop)
virtual void initializescriptkey(const myfunc &f)
virtual void machine_(const machine &m)

References initializescriptkey(), machine_(), post(), and property().

◆ onStart()

void YACS::containertypeParser::onStart ( const XML_Char el,
const XML_Char **  attr 
)
virtual

Reimplemented from YACS::parser.

Definition at line 60 of file containerParsers.cxx.

61 {
62 std::string element(el);
64 if(element == "machine")pp=&machinetypeParser::machineParser;
65 if(element == "property")pp=&propertytypeParser::propertyParser;
66 if(element == "initializescriptkey")pp=&codetypeParser::codeParser;
68 pp->init();
69 pp->pre();
70 pp->buildAttr(attr);
71 }
static codetypeParser codeParser
Definition: codeParsers.hxx:36
static machinetypeParser machineParser
virtual void SetUserDataAndPush(parser *pp)
Definition: parserBase.cxx:55
static parser main_parser
Definition: parserBase.hxx:41
static propertytypeParser propertyParser

References YACS::parser::buildAttr(), YACS::codetypeParser::codeParser, YACS::parser::init(), YACS::machinetypeParser::machineParser, YACS::parser::main_parser, YACS::parser::pre(), YACS::propertytypeParser::propertyParser, and YACS::parser::SetUserDataAndPush().

◆ post()

mycontainer YACS::containertypeParser::post ( )

Definition at line 100 of file containerParsers.cxx.

101 {
102 //mincount("machine",1);
103 return _container;
104 }

References _container.

Referenced by onEnd().

◆ pre()

void YACS::containertypeParser::pre ( )
virtual

Reimplemented from YACS::parser.

Definition at line 79 of file containerParsers.cxx.

80 {
81 _container._machs.clear();
82 _container._props.clear();
83 }
machines _machs
Definition: factory.hxx:116

References _container, mycontainer::_machs, and mycontainer::_props.

◆ property()

void YACS::containertypeParser::property ( const myprop prop)
virtual

Definition at line 90 of file containerParsers.cxx.

91 {
92 DEBTRACE( "property_set: " << prop._name << " " << prop._value );
93 _container._props[prop._name]=prop._value;
94 }
std::string _name
Definition: factory.hxx:96
std::string _value
Definition: factory.hxx:97

References _container, myprop::_name, mycontainer::_props, myprop::_value, and DEBTRACE.

Referenced by onEnd().

Member Data Documentation

◆ _container

mycontainer YACS::containertypeParser::_container

Definition at line 78 of file containerParsers.hxx.

Referenced by initializescriptkey(), machine_(), name(), post(), pre(), and property().

◆ containerParser

containertypeParser YACS::containertypeParser::containerParser
static

Definition at line 68 of file containerParsers.hxx.

Referenced by YACS::proctypeParser< T >::onStart().


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