Version: 9.15.0
YACS::presetdatatypeParser Struct Reference

Class for presetdata parser. More...

#include <presetParsers.hxx>

Inheritance diagram for YACS::presetdatatypeParser:
Collaboration diagram for YACS::presetdatatypeParser:

Public Member Functions

virtual void onStart (const XML_Char *el, const XML_Char **attr)
 
virtual void onEnd (const char *el, parser *child)
 
virtual void buildAttr (const XML_Char **attr)
 
virtual void name (const std::string &name)
 
virtual void type (const std::string &type)
 
virtual void ref (const std::string &ref)
 
virtual void pre ()
 
virtual void value (const std::string &value)
 
virtual myoutportpost ()
 
- 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

myoutport _param
 
std::string _name
 
std::string _type
 
std::string _ref
 
- 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 presetdatatypeParser presetdataParser
 
- 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 presetdata parser.

Its XML schema is:

    <xsd:complexType name="PresetType">
      <xsd:attribute name="name" type="xsd:string" use="required"/>
      <xsd:attribute name="type" type="xsd:string" use="required"/>
      <xsd:element name="value" type="ValueType" minOccurs="1" maxOccurs="1"/>
    </xsd:complexType>

Definition at line 43 of file presetParsers.hxx.

Member Function Documentation

◆ buildAttr()

virtual void YACS::presetdatatypeParser::buildAttr ( const XML_Char **  attr)
inlinevirtual

Reimplemented from YACS::parser.

Definition at line 65 of file presetParsers.hxx.

66  {
67  if (!attr)
68  return;
69  DEBTRACE("presetdatatypeParser::buildAttr");
70  required("name",attr);
71  required("type",attr);
72  for (int i = 0; attr[i]; i += 2)
73  {
74  if(std::string(attr[i]) == "name")name(attr[i+1]);
75  if(std::string(attr[i]) == "type")type(attr[i+1]);
76  if(std::string(attr[i]) == "ref")ref(attr[i+1]);
77  }
78  }
#define DEBTRACE(msg)
Definition: YacsTrace.hxx:31
virtual void required(const std::string &name, const XML_Char **attr)
Definition: parserBase.cxx:186
virtual void ref(const std::string &ref)
virtual void type(const std::string &type)
virtual void name(const std::string &name)

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

◆ name()

virtual void YACS::presetdatatypeParser::name ( const std::string &  name)
inlinevirtual

Definition at line 79 of file presetParsers.hxx.

80  {
81  DEBTRACE("presetdatatypeParser::name");
83  _name=name;
84  }
std::string _name
Definition: factory.hxx:80

References myinport::_name, _name, _param, and DEBTRACE.

Referenced by buildAttr().

◆ onEnd()

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

Reimplemented from YACS::parser.

Definition at line 59 of file presetParsers.hxx.

60  {
61  DEBTRACE("presetdatatypeParser::onEnd");
62  std::string element(el);
63  if(element == "value")value(((valuetypeParser*)child)->post());
64  }
virtual void value(const std::string &value)
virtual myoutport & post()

References DEBTRACE, post(), and value().

◆ onStart()

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

Reimplemented from YACS::parser.

Definition at line 47 of file presetParsers.hxx.

48  {
49  DEBTRACE("presetdatatypeParser::onStart");
50  std::string element(el);
51  this->maxcount("value",1,element);
53  if(element == "value")pp=&valuetypeParser::valueParser;
55  pp->init();
56  pp->pre();
57  pp->buildAttr(attr);
58  }
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 valuetypeParser valueParser

References YACS::parser::buildAttr(), DEBTRACE, YACS::parser::init(), YACS::parser::main_parser, YACS::parser::maxcount(), YACS::parser::pre(), YACS::parser::SetUserDataAndPush(), and YACS::valuetypeParser::valueParser.

◆ post()

virtual myoutport& YACS::presetdatatypeParser::post ( )
inlinevirtual

Definition at line 108 of file presetParsers.hxx.

109  {
110  DEBTRACE("presetdatatypeParser::post");
111  //a parameter can have a ref attribute OR one value element
112  if(_ref == "undef")
113  mincount("value",1);
114  else
115  _param.setProperty("value",_ref);
116  return _param;
117  }
virtual void mincount(std::string name, int min)
Definition: parserBase.cxx:134
void setProperty(const std::string &name, const std::string &value)
Definition: factory.hxx:87

References _param, _ref, DEBTRACE, YACS::parser::mincount(), and myinport::setProperty().

Referenced by onEnd().

◆ pre()

virtual void YACS::presetdatatypeParser::pre ( )
inlinevirtual

Reimplemented from YACS::parser.

Definition at line 97 of file presetParsers.hxx.

98  {
99  DEBTRACE("presetdatatypeParser::pre");
100  _ref="undef";
101  _param.clear();
102  }
void clear()
Definition: factory.hxx:83

References _param, _ref, myinport::clear(), and DEBTRACE.

◆ ref()

virtual void YACS::presetdatatypeParser::ref ( const std::string &  ref)
inlinevirtual

Definition at line 92 of file presetParsers.hxx.

93  {
94  _ref=ref;
95  }

References _ref.

Referenced by buildAttr().

◆ type()

virtual void YACS::presetdatatypeParser::type ( const std::string &  type)
inlinevirtual

Definition at line 85 of file presetParsers.hxx.

86  {
87  DEBTRACE("presetdatatypeParser::type");
89  _type=type;
90  }
std::string _type
Definition: factory.hxx:81

References _param, myinport::_type, _type, and DEBTRACE.

Referenced by buildAttr().

◆ value()

virtual void YACS::presetdatatypeParser::value ( const std::string &  value)
inlinevirtual

Definition at line 103 of file presetParsers.hxx.

104  {
105  DEBTRACE("presetdatatypeParser::value " << value);
106  _param.setProperty("value",value);
107  }

References _param, DEBTRACE, and myinport::setProperty().

Referenced by gui.panels.PanelInPort::handleRestore(), gui.panels.PanelOutPort::handleRestore(), gui.panels.PanelInPort::handleSave(), and onEnd().

Member Data Documentation

◆ _name

std::string YACS::presetdatatypeParser::_name

Definition at line 119 of file presetParsers.hxx.

Referenced by name().

◆ _param

myoutport YACS::presetdatatypeParser::_param

Definition at line 118 of file presetParsers.hxx.

Referenced by name(), post(), pre(), type(), and value().

◆ _ref

std::string YACS::presetdatatypeParser::_ref

Definition at line 121 of file presetParsers.hxx.

Referenced by post(), pre(), and ref().

◆ _type

std::string YACS::presetdatatypeParser::_type

Definition at line 120 of file presetParsers.hxx.

Referenced by type().

◆ presetdataParser

presetdatatypeParser YACS::presetdatatypeParser::presetdataParser
static

Definition at line 45 of file presetParsers.hxx.

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


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