summaryrefslogtreecommitdiffstats
path: root/addon/doxmlparser/src/paramhandler.h
diff options
context:
space:
mode:
authordimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7>2001-12-29 18:30:48 (GMT)
committerdimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7>2001-12-29 18:30:48 (GMT)
commitff11b7d98ad7d24770afd151aa6b439adc7506d2 (patch)
tree048517043e4c90dcc686bc038b480825fe32886c /addon/doxmlparser/src/paramhandler.h
parent414d7b3bbfad8ec16237c3708af188ecaee62886 (diff)
downloadDoxygen-ff11b7d98ad7d24770afd151aa6b439adc7506d2.zip
Doxygen-ff11b7d98ad7d24770afd151aa6b439adc7506d2.tar.gz
Doxygen-ff11b7d98ad7d24770afd151aa6b439adc7506d2.tar.bz2
Release-1.2.13
Diffstat (limited to 'addon/doxmlparser/src/paramhandler.h')
-rw-r--r--addon/doxmlparser/src/paramhandler.h71
1 files changed, 71 insertions, 0 deletions
diff --git a/addon/doxmlparser/src/paramhandler.h b/addon/doxmlparser/src/paramhandler.h
new file mode 100644
index 0000000..6725a5e
--- /dev/null
+++ b/addon/doxmlparser/src/paramhandler.h
@@ -0,0 +1,71 @@
+/******************************************************************************
+ *
+ * $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 _PARAMHANDLER_H
+#define _PARAMHANDLER_H
+
+#include <qstring.h>
+#include <qlist.h>
+#include <qxml.h>
+#include <doxmlintf.h>
+
+#include "basehandler.h"
+#include "baseiterator.h"
+#include "linkedtexthandler.h"
+
+class ParamIterator : public BaseIterator<IParamIterator,IParam,IParam>
+{
+ public:
+ ParamIterator(const QList<IParam> &list) :
+ BaseIterator<IParamIterator,IParam,IParam>(list) {}
+};
+
+class ParamHandler : public IParam, public BaseHandler<ParamHandler>
+{
+ public:
+ virtual void startParam(const QXmlAttributes& attrib);
+ virtual void endParam();
+ virtual void startType(const QXmlAttributes& attrib);
+ virtual void endDeclName();
+ virtual void endDefName();
+ virtual void endAttrib();
+ virtual void endArray();
+ virtual void startDefVal(const QXmlAttributes& attrib);
+
+ ParamHandler(IBaseHandler *parent);
+ virtual ~ParamHandler();
+
+ // IParam
+ virtual ILinkedTextIterator *type() const
+ { return new LinkedTextIterator(m_type); }
+ virtual QString declarationName() const { return m_declName; }
+ virtual QString definitionName() const { return m_defName; }
+ virtual QString attrib() const { return m_attrib; }
+ virtual QString arraySpecifier() const { return m_array; }
+ virtual ILinkedTextIterator *defaultValue() const
+ { return new LinkedTextIterator(m_defVal); }
+
+ private:
+ IBaseHandler *m_parent;
+ QList<ILinkedText> m_type;
+ QString m_declName;
+ QString m_defName;
+ QString m_attrib;
+ QString m_array;
+ QList<ILinkedText> m_defVal;
+ LinkedTextHandler *m_linkedTextHandler;
+};
+
+#endif