Salome HOME
This commit was generated by cvs2git to track changes on a CVS vendor
[modules/kernel.git] / src / DataTypeCatalog / SALOME_DataTypeCatalog_Handler.hxx
1 //  SALOME DataTypeCatalog : catalog of data types
2 //
3 //  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 //  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
5 // 
6 //  This library is free software; you can redistribute it and/or 
7 //  modify it under the terms of the GNU Lesser General Public 
8 //  License as published by the Free Software Foundation; either 
9 //  version 2.1 of the License. 
10 // 
11 //  This library is distributed in the hope that it will be useful, 
12 //  but WITHOUT ANY WARRANTY; without even the implied warranty of 
13 //  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
14 //  Lesser General Public License for more details. 
15 // 
16 //  You should have received a copy of the GNU Lesser General Public 
17 //  License along with this library; if not, write to the Free Software 
18 //  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
19 // 
20 //  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
21 //
22 //
23 //
24 //  File   : SALOME_DataTypeCatalog_Handler.hxx
25 //  Author : Estelle Deville
26 //  Module : SALOME
27 //  $Header$
28
29 #ifndef SALOME_DATA_CATALOG_HANDLER_H
30 #define SALOME_DATA_CATALOG_HANDLER_H
31
32 #include "utilities.h"
33 #include "SALOME_DataTypeCatalog_Parser.hxx"
34 #include <qxml.h>
35 #include <string>
36 #include <vector>
37
38 class SALOME_DataTypeCatalog_Handler : public QXmlDefaultHandler 
39 {
40 public:
41   //! standard constructor
42   SALOME_DataTypeCatalog_Handler();
43
44   //! standard destructor
45   virtual ~SALOME_DataTypeCatalog_Handler();
46
47
48   //! method to overload handler function startDocument
49   /*! Is called before a xml file is parsed
50    \return true if no error was detected
51   */ 
52   virtual bool startDocument();
53
54
55   //! method to overload handler function startElement
56   /*! 
57    \param Qstring argument by value
58    \param Qstring argument by value
59    \param Qstring argument by value
60    \param QXmlAttributes argument by value
61    \return true if no error was detected
62   */
63   virtual bool startElement(const QString&, const QString &,
64                             const QString& qName, const QXmlAttributes& atts); 
65
66   //! method to overload handler function endElement
67   /*!
68    \param Qstring argument by value
69    \param Qstring argument by value
70    \param Qstring argument by value
71    \return true if no error was detected
72    \sa _Find
73   */   
74   virtual bool endElement(const QString&, const QString &,
75                           const QString& qName);
76   
77
78   //! method to overload handler function characters
79   /*!
80    \param Qstring argument by value
81    \return true if no error was detected
82   */
83   virtual bool characters(const QString& chars);
84   
85   //! method to overload handler function endDocument
86   /*! Is called at the end of the parsing
87    \return true if no error was detected
88   */
89   virtual bool endDocument();
90
91   //! method to overload handler function errorProtocol
92  /*!
93    \return the error message
94   */
95   virtual QString errorProtocol();
96
97   //! method to overload handler function fatalError
98   /*!
99     \param QXmlParseExecption argument by value
100     \return true if no error was detected
101   */
102   virtual bool fatalError(const QXmlParseException& exception);
103  
104 private:
105   QString errorProt ;
106
107   string content;
108
109   const char* test_data_type_name ;
110   const char* test_data_type_interf_read ;
111   const char* test_data_type_interf_write ;
112   const char* test_data_type_parent_name ;
113   const char* test_data_type_parents ;
114   const char* test_data_type;
115
116   ParserDataType _a_data_type;
117
118   ListOfParserDataTypeName _a_data_parents_list ;
119 };
120
121 #endif // SALOME_DATA_CATALOG_HANDLER_H