summaryrefslogtreecommitdiffstats
path: root/addon/xmlparse/doxmlintf.h
diff options
context:
space:
mode:
Diffstat (limited to 'addon/xmlparse/doxmlintf.h')
-rw-r--r--addon/xmlparse/doxmlintf.h63
1 files changed, 63 insertions, 0 deletions
diff --git a/addon/xmlparse/doxmlintf.h b/addon/xmlparse/doxmlintf.h
new file mode 100644
index 0000000..50acb79
--- /dev/null
+++ b/addon/xmlparse/doxmlintf.h
@@ -0,0 +1,63 @@
+#ifndef _DOXMLINTF_H
+#define _DOXMLINTF_H
+
+#include <qlist.h>
+#include <qstring.h>
+
+class IParam
+{
+ public:
+ virtual QString type() const = 0;
+ virtual QString declarationName() const = 0;
+ virtual QString definitionName() const = 0;
+ virtual QString attrib() const = 0;
+ virtual QString arraySpecifier() const = 0;
+ virtual QString defaultValue() const = 0;
+};
+
+class IMember
+{
+ public:
+ virtual QString kind() const = 0;
+ virtual QString id() const = 0;
+ virtual QString protection() const = 0;
+ virtual QString virtualness() const = 0;
+ virtual QString type() const = 0;
+ virtual QString name() const = 0;
+ virtual QListIterator<IParam> getParamIterator() const = 0;
+};
+
+class ISection
+{
+ public:
+ virtual QString kind() const = 0;
+ virtual QListIterator<IMember> getMemberIterator() const = 0;
+};
+
+class ICompound
+{
+ public:
+ virtual QString name() const = 0;
+ virtual QString id() const = 0;
+ virtual QString kind() const = 0;
+ virtual QListIterator<ISection> getSectionIterator() const = 0;
+};
+
+/*! Root node of the object model. */
+class IDoxygen
+{
+ public:
+ /*! Returns an iterator that can be used to iterate over the list
+ * of compounds found in the project.
+ */
+ virtual QListIterator<ICompound> getCompoundIterator() const = 0;
+};
+
+/*! Factory method that creates an object model given an XML file generated
+ * by doxygen.
+ * @param xmlFileName The name of the XML to parse.
+ * @returns An iterface to the object model.
+ */
+IDoxygen *createObjectModelFromXML(const char *xmlFileName);
+
+#endif