summaryrefslogtreecommitdiffstats
path: root/addon/doxmlparser/src/sectionhandler.h
diff options
context:
space:
mode:
Diffstat (limited to 'addon/doxmlparser/src/sectionhandler.h')
-rw-r--r--addon/doxmlparser/src/sectionhandler.h62
1 files changed, 62 insertions, 0 deletions
diff --git a/addon/doxmlparser/src/sectionhandler.h b/addon/doxmlparser/src/sectionhandler.h
new file mode 100644
index 0000000..234cce1
--- /dev/null
+++ b/addon/doxmlparser/src/sectionhandler.h
@@ -0,0 +1,62 @@
+/******************************************************************************
+ *
+ * $Id$
+ *
+ *
+ * Copyright (C) 1997-2001 by Dimitri van Heesch.
+ *
+ * Permission to use, copy, modify, and distribute this software and its
+ * documentation under the terms of the GNU General Public License is hereby
+ * granted. No representations are made about the suitability of this software
+ * for any purpose. It is provided "as is" without express or implied warranty.
+ * See the GNU General Public License for more details.
+ *
+ */
+
+#ifndef _SECTIONHANDLER_H
+#define _SECTIONHANDLER_H
+
+#include <qstring.h>
+#include <qlist.h>
+#include <qxml.h>
+#include <doxmlintf.h>
+
+#include "basehandler.h"
+#include "memberhandler.h"
+
+class MainHandler;
+
+
+class SectionIterator :
+ public BaseIterator<ISectionIterator,ISection,ISection>
+{
+ public:
+ SectionIterator(const QList<ISection> &list) :
+ BaseIterator<ISectionIterator,ISection,ISection>(list) {}
+};
+
+
+class SectionHandler : public ISection, public BaseHandler<SectionHandler>
+{
+ public:
+ virtual void startMember(const QXmlAttributes& attrib);
+ virtual void startSection(const QXmlAttributes& attrib);
+ virtual void endSection();
+
+ SectionHandler(IBaseHandler *parent);
+ virtual ~SectionHandler();
+
+ // ISection
+ virtual QString kind() const { return m_kind; }
+ virtual IMemberIterator *members() const
+ { return new MemberIterator(m_members); }
+
+ void initialize(MainHandler *m);
+
+ private:
+ IBaseHandler *m_parent;
+ QString m_kind;
+ QList<IMember> m_members;
+};
+
+#endif