Version: 9.15.0
YACS::componentinstancetypeParser Struct Reference

Class for componentinstance parser. More...

#include <componentinstanceParsers.hxx>

Inheritance diagram for YACS::componentinstancetypeParser:
Collaboration diagram for YACS::componentinstancetypeParser:

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 kind (const std::string &kind)
 
virtual void component (const std::string &name)
 
virtual void property (const myprop &prop)
 
virtual void load (const loadon &l)
 
mycomponentinstance post ()
 
- Public Member Functions inherited from YACS::parser
 parser ()
 
virtual ~parser ()
 
virtual void SetUserDataAndPush (parser *pp)
 
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 required (const std::string &name, const XML_Char **attr)
 
std::stack< parser * > & getStack ()
 
template<class T >
post ()
 
void logError (const std::string &reason)
 

Public Attributes

mycomponentinstance _componentinstance
 
std::string _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 componentinstancetypeParser componentinstanceParser
 
- 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 componentinstance parser.

Class used to parse ComponentInstance description

XML schema is

  <xsd:complexType name="ComponentInstanceType">
    <xsd:sequence>
      <xsd:element name="component" type="xsd:string"/>
      <xsd:element name="property" type="PropertyType" minOccurs="0" maxOccurs="unbounded"/>
    </xsd:sequence>
    <xsd:attribute name="name" type="xsd:string" use="required"/>
    <xsd:attribute name="kind" type="xsd:string"/>
  </xsd:complexType>

Definition at line 45 of file componentinstanceParsers.hxx.

Member Function Documentation

◆ buildAttr()

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

Reimplemented from YACS::parser.

Definition at line 32 of file componentinstanceParsers.cxx.

33  {
34  if (!attr)
35  return;
36  required("name",attr);
37  for (int i = 0; attr[i]; i += 2)
38  {
39  if(std::string(attr[i]) == "name")name(attr[i+1]);
40  if(std::string(attr[i]) == "kind")kind(attr[i+1]);
41  }
42  }
virtual void kind(const std::string &kind)
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, kind(), name(), and YACS::parser::required().

◆ component()

void YACS::componentinstancetypeParser::component ( const std::string &  name)
virtual

Definition at line 82 of file componentinstanceParsers.cxx.

83  {
84  DEBTRACE( "component_set: " << name )
86  }
#define DEBTRACE(msg)
Definition: YacsTrace.hxx:31
std::string _component
Definition: factory.hxx:129

References mycomponentinstance::_component, _componentinstance, DEBTRACE, and name().

Referenced by onEnd().

◆ kind()

void YACS::componentinstancetypeParser::kind ( const std::string &  kind)
virtual

Definition at line 73 of file componentinstanceParsers.cxx.

References _componentinstance, and mycomponentinstance::_kind.

Referenced by buildAttr().

◆ load()

void YACS::componentinstancetypeParser::load ( const loadon l)
virtual

◆ name()

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

Definition at line 70 of file componentinstanceParsers.cxx.

References _componentinstance, and mycomponentinstance::_name.

Referenced by buildAttr(), and component().

◆ onEnd()

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

Reimplemented from YACS::parser.

Definition at line 57 of file componentinstanceParsers.cxx.

58  {
59  std::string element(el);
60  if(element == "property")property(((propertytypeParser*)child)->post());
61  else if(element == "component") component(((stringtypeParser*)child)->post());
62  else if(element == "load") load(((loadtypeParser*)child)->post());
63  }
virtual void component(const std::string &name)
virtual void property(const myprop &prop)

References component(), load(), post(), and property().

◆ onStart()

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

Reimplemented from YACS::parser.

Definition at line 43 of file componentinstanceParsers.cxx.

44  {
45  std::string element(el);
47  this->maxcount("component",1,element);
48  this->maxcount("load",1,element);
49  if(element == "property")pp=&propertytypeParser::propertyParser;
50  else if(element == "component")pp=&stringtypeParser::stringParser;
51  else if(element == "load")pp=&loadtypeParser::loadParser;
53  pp->init();
54  pp->pre();
55  pp->buildAttr(attr);
56  }
static loadtypeParser loadParser
virtual void maxcount(std::string name, int max, std::string &el)
Definition: parserBase.cxx:122
virtual void SetUserDataAndPush(parser *pp)
Definition: parserBase.cxx:55
static parser main_parser
Definition: parserBase.hxx:41
static propertytypeParser propertyParser
static stringtypeParser stringParser
Definition: dataParsers.hxx:33

References YACS::parser::buildAttr(), YACS::parser::init(), YACS::loadtypeParser::loadParser, YACS::parser::main_parser, YACS::parser::maxcount(), YACS::parser::pre(), YACS::propertytypeParser::propertyParser, YACS::parser::SetUserDataAndPush(), and YACS::stringtypeParser::stringParser.

◆ post()

mycomponentinstance YACS::componentinstancetypeParser::post ( )

Definition at line 94 of file componentinstanceParsers.cxx.

95  {
96  this->mincount("component",1);
97  return _componentinstance;
98  }
virtual void mincount(std::string name, int min)
Definition: parserBase.cxx:134

References _componentinstance, and YACS::parser::mincount().

Referenced by onEnd().

◆ pre()

void YACS::componentinstancetypeParser::pre ( )
virtual

Reimplemented from YACS::parser.

Definition at line 65 of file componentinstanceParsers.cxx.

66  {
67  _componentinstance._props.clear();
68  }
std::map< std::string, std::string > _props
Definition: factory.hxx:131

References _componentinstance, and mycomponentinstance::_props.

◆ property()

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

Definition at line 76 of file componentinstanceParsers.cxx.

77  {
78  DEBTRACE("property_set: "<<prop._name<<" "<<prop._value);
80  }
std::string _name
Definition: factory.hxx:96
std::string _value
Definition: factory.hxx:97

References _componentinstance, myprop::_name, mycomponentinstance::_props, myprop::_value, and DEBTRACE.

Referenced by onEnd().

Member Data Documentation

◆ _componentinstance

mycomponentinstance YACS::componentinstancetypeParser::_componentinstance

Definition at line 58 of file componentinstanceParsers.hxx.

Referenced by component(), kind(), load(), name(), post(), pre(), and property().

◆ _container

std::string YACS::componentinstancetypeParser::_container

Definition at line 59 of file componentinstanceParsers.hxx.

◆ componentinstanceParser

componentinstancetypeParser YACS::componentinstancetypeParser::componentinstanceParser
static

Definition at line 47 of file componentinstanceParsers.hxx.

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


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