Imported Upstream version 2.91.2
[platform/upstream/libxml++.git] / examples / sax_exception / myparser.h
1 /* myparser.h
2  *
3  * Copyright (C) 2002 The libxml++ development team
4  *
5  * This library is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Library General Public
7  * License as published by the Free Software Foundation; either
8  * version 2 of the License, or (at your option) any later version.
9  *
10  * This library is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13  * Library General Public License for more details.
14  *
15  * You should have received a copy of the GNU Library General Public
16  * License along with this library; if not, write to the Free
17  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18  */
19
20 #ifndef __LIBXMLPP_EXAMPLES_MYPARSER_H
21 #define __LIBXMLPP_EXAMPLES_MYPARSER_H
22
23 #include <libxml++/libxml++.h>
24
25 class MyException: public xmlpp::exception
26 {
27   public:
28     MyException();
29     ~MyException() noexcept override;
30     void raise() const override;
31     xmlpp::exception* clone() const override;
32 };
33
34 class MySaxParser : public xmlpp::SaxParser
35 {
36   public:
37     MySaxParser();
38     ~MySaxParser() override;
39
40   protected:
41     //overrides:
42     void on_start_document() override;
43     void on_end_document() override;
44     void on_start_element(const Glib::ustring& name,
45                                   const AttributeList &properties) override;
46     void on_end_element(const Glib::ustring& name) override;
47     void on_characters(const Glib::ustring& characters) override;
48     void on_comment(const Glib::ustring& text) override;
49     void on_warning(const Glib::ustring& text) override;
50     void on_error(const Glib::ustring& text) override;
51     void on_fatal_error(const Glib::ustring& text) override;
52 };
53
54
55 #endif //__LIBXMLPP_EXAMPLES_MYPARSER_H