Version: 9.16.0
rootParser.cxx
Go to the documentation of this file.
1// Copyright (C) 2006-2026 CEA, EDF
2//
3// This library is free software; you can redistribute it and/or
4// modify it under the terms of the GNU Lesser General Public
5// License as published by the Free Software Foundation; either
6// version 2.1 of the License, or (at your option) any later version.
7//
8// This library is distributed in the hope that it will be useful,
9// but WITHOUT ANY WARRANTY; without even the implied warranty of
10// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11// Lesser General Public License for more details.
12//
13// You should have received a copy of the GNU Lesser General Public
14// License along with this library; if not, write to the Free Software
15// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
16//
17// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
18//
19#include "rootParser.hxx"
20
21// Uncomment the following line to activate devdebug traces for ALL parsers defined in hxx files
22//#define _DEVDEBUG_
23#include "YacsTrace.hxx"
24
25#include "procParsers.hxx"
26
27namespace YACS
28{
29 roottypeParser roottypeParser::rootParser;
30 defaultcasetypeParser defaultcasetypeParser::defaultcaseParser;
31 switchtypeParser switchtypeParser::switchParser;
32 casetypeParser casetypeParser::caseParser;
33 presetdatatypeParser presetdatatypeParser::presetdataParser;
34 outputdatatypeParser outputdatatypeParser::outputdataParser;
35
37{
38 DEBTRACE( "root_proc_set" << b->getName() )
39 _proc=b;
40}
41
42void roottypeParser::onStart(const XML_Char* el, const XML_Char** attr)
43{
44 DEBTRACE( "roottypeParser::onStart: " << el )
45 std::string element(el);
47 if(element == "proc")pp=&proctypeParser<>::procParser;
49 pp->init();
50 pp->pre();
51 pp->buildAttr(attr);
52}
53
54void roottypeParser::onEnd(const char *el,parser* child)
55{
56 DEBTRACE( "roottypeParser::onEnd: " << el )
57 std::string element(el);
58 if(element == "proc")proc(((proctypeParser<>*)child)->post());
59}
60
61void roottypeParser::setDefaultMap(std::map<std::string,parser*> *defaultMap)
62{
64}
65
66}
#define DEBTRACE(msg)
Definition: YacsTrace.hxx:31
Base class for all schema objects.
Definition: Proc.hxx:44
char XML_Char
Definition: parserBase.hxx:37
static casetypeParser caseParser
static defaultcasetypeParser defaultcaseParser
static outputdatatypeParser outputdataParser
virtual void init()
Definition: parserBase.cxx:86
virtual void pre()
Definition: parserBase.hxx:61
virtual void SetUserDataAndPush(parser *pp)
Definition: parserBase.cxx:55
virtual void buildAttr(const XML_Char **attr)
Definition: parserBase.cxx:195
static parser main_parser
Definition: parserBase.hxx:41
std::map< std::string, parser * > * _defaultParsersMap
Definition: parserBase.hxx:107
static presetdatatypeParser presetdataParser
void setDefaultMap(std::map< std::string, parser * > *)
Definition: rootParser.cxx:61
virtual void proc(YACS::ENGINE::Proc *const &b)
Definition: rootParser.cxx:36
void onStart(const XML_Char *el, const XML_Char **attr)
Definition: rootParser.cxx:42
static roottypeParser rootParser
Definition: rootParser.hxx:32
virtual void onEnd(const char *el, parser *child)
Definition: rootParser.cxx:54
YACS::ENGINE::Proc * _proc
Definition: rootParser.hxx:38
static switchtypeParser switchParser