Version: 9.15.0
YACS::typetypeParser Struct Reference

Class for type parser. More...

#include <typeParsers.hxx>

Inheritance diagram for YACS::typetypeParser:
Collaboration diagram for YACS::typetypeParser:

Public Member Functions

virtual void buildAttr (const XML_Char **attr)
 
virtual void pre ()
 
virtual void name (const std::string &name)
 
virtual void kind (const std::string &name)
 
virtual mytype 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 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

std::string _name
 
std::string _kind
 
- 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 typetypeParser typeParser
 
- 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 type parser.

Class used to parse a type definition (class TypeCode in implementation) with a name and a kind (reserved to atomic types)

XML schema is

  <xsd:complexType name="TypeType">
    <xsd:attribute name="name" type="xsd:string" use="required"/>
    <xsd:attribute name="kind" type="xsd:string" use="required"/>
  </xsd:complexType>

Definition at line 43 of file typeParsers.hxx.

Member Function Documentation

◆ buildAttr()

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

Reimplemented from YACS::parser.

Definition at line 42 of file typeParsers.cxx.

43  {
44  if (!attr)
45  return;
46  required("name",attr);
47  required("kind",attr);
48  for (int i = 0; attr[i]; i += 2)
49  {
50  if(std::string(attr[i]) == "name")name(attr[i+1]);
51  if(std::string(attr[i]) == "kind")kind(attr[i+1]);
52  }
53  }
virtual void required(const std::string &name, const XML_Char **attr)
Definition: parserBase.cxx:186
virtual void name(const std::string &name)
Definition: typeParsers.cxx:55
virtual void kind(const std::string &name)
Definition: typeParsers.cxx:60

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

◆ kind()

void YACS::typetypeParser::kind ( const std::string &  name)
virtual

Definition at line 60 of file typeParsers.cxx.

61  {
62  DEBTRACE( "type_kind: " << name )
63  _kind=name;
64  }
#define DEBTRACE(msg)
Definition: YacsTrace.hxx:31

References _kind, DEBTRACE, and name().

Referenced by buildAttr().

◆ name()

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

Definition at line 55 of file typeParsers.cxx.

56  {
57  DEBTRACE( "type_name: " << name )
58  _name=name;
59  }

References _name, and DEBTRACE.

Referenced by buildAttr(), and kind().

◆ post()

mytype YACS::typetypeParser::post ( )
virtual

Definition at line 65 of file typeParsers.cxx.

66  {
67  DEBTRACE( "type_post" )
68  mytype t;
69  t._kind=_kind;
70  t._name=_name;
71  return t;
72  }

References _kind, _name, DEBTRACE, and gui.Appli::t.

◆ pre()

void YACS::typetypeParser::pre ( )
virtual

Reimplemented from YACS::parser.

Definition at line 54 of file typeParsers.cxx.

54 {}

Member Data Documentation

◆ _kind

std::string YACS::typetypeParser::_kind

Definition at line 52 of file typeParsers.hxx.

Referenced by kind(), and post().

◆ _name

std::string YACS::typetypeParser::_name

Definition at line 51 of file typeParsers.hxx.

Referenced by name(), and post().

◆ typeParser

typetypeParser YACS::typetypeParser::typeParser
static

Definition at line 45 of file typeParsers.hxx.

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


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