summaryrefslogtreecommitdiffstats
path: root/addon/doxmlparser/src/doxmlintf.h
diff options
context:
space:
mode:
Diffstat (limited to 'addon/doxmlparser/src/doxmlintf.h')
-rw-r--r--addon/doxmlparser/src/doxmlintf.h128
1 files changed, 105 insertions, 23 deletions
diff --git a/addon/doxmlparser/src/doxmlintf.h b/addon/doxmlparser/src/doxmlintf.h
index 55eb946..7ab2c79 100644
--- a/addon/doxmlparser/src/doxmlintf.h
+++ b/addon/doxmlparser/src/doxmlintf.h
@@ -16,7 +16,16 @@
#ifndef _DOXMLINTF_H
#define _DOXMLINTF_H
-#include <qstring.h>
+/*! \file
+ * \brief The interface to the object model provided by the XML parser
+ * library.
+ *
+ * To start using this library one calls createObjectModel and then
+ * uses the returned IDoxygen interface to read doxygen generated
+ * XML output and navigate through the information contained in it.
+ *
+ * @see createObjectModel()
+ */
class IMember;
class IDocIterator;
@@ -24,12 +33,20 @@ class ICompound;
class ISection;
class INode;
+/*! \brief Read only interface to a string.
+ */
class IString
{
public:
+ /*! Returns a latin1 character representation of the string. */
virtual const char *latin1() const = 0;
+ /*! Returns a 16-bit unicode character representation of the character at
+ * position \a index in the string. The first character is at index 0.
+ */
virtual unsigned short unicodeCharAt(int index) const = 0;
+ /*! Returns true if this string is empty or false otherwise */
virtual bool isEmpty() const = 0;
+ /*! Returns the number of characters in the string. */
virtual int length() const = 0;
};
@@ -107,24 +124,6 @@ class IMemberReferenceIterator
virtual void release() = 0;
};
-class IEnumValue
-{
- public:
- virtual const IString * name() const = 0;
- virtual const IString * initializer() const = 0;
-};
-
-class IEnumValueIterator
-{
- public:
- virtual IEnumValue *toFirst() = 0;
- virtual IEnumValue *toLast() = 0;
- virtual IEnumValue *toNext() = 0;
- virtual IEnumValue *toPrev() = 0;
- virtual IEnumValue *current() const = 0;
- virtual void release() = 0;
-};
-
class IDoc
{
public:
@@ -161,8 +160,9 @@ class IDoc
Entry, // 28 -> IDocEntry
Section, // 29 -> IDocSection
Preformatted, // 30 -> IDocPreformatted
- Symbol, // 31 -> IDocSymbol
- Root // 32 -> IDocRoot
+ Verbatim, // 31 -> IDocVerbatim
+ Symbol, // 32 -> IDocSymbol
+ Root // 33 -> IDocRoot
};
virtual Kind kind() const = 0;
};
@@ -399,6 +399,12 @@ class IDocPreformatted : public IDoc
virtual IDocIterator *contents() const = 0;
};
+class IDocVerbatim : public IDoc
+{
+ public:
+ virtual const IString *text() const = 0;
+};
+
class IDocSymbol : public IDoc
{
public:
@@ -499,7 +505,8 @@ class IMember
public:
enum MemberKind { Invalid=0,
Define, Property, Variable, Typedef, Enum,
- Function, Signal, Prototype, Friend, DCOP, Slot
+ Function, Signal, Prototype, Friend, DCOP, Slot,
+ EnumValue
};
virtual ICompound *compound() const = 0;
virtual ISection *section() const = 0;
@@ -525,11 +532,80 @@ class IMember
virtual int definitionLine() const = 0;
virtual IMemberReference *reimplements() const = 0;
virtual IMemberReferenceIterator *reimplementedBy() const = 0;
- virtual IEnumValueIterator *enumValues() const = 0;
virtual IDocRoot *briefDescription() const = 0;
virtual IDocRoot *detailedDescription() const = 0;
};
+class IDefine : public IMember
+{
+ public:
+};
+
+class IProperty : public IMember
+{
+ public:
+};
+
+class IVariable : public IMember
+{
+ public:
+};
+
+class ITypedef : public IMember
+{
+ public:
+};
+
+class IFunction : public IMember
+{
+ public:
+};
+
+class ISignal : public IMember
+{
+ public:
+};
+
+class IPrototype : public IMember
+{
+ public:
+};
+
+class IFriend : public IMember
+{
+ public:
+};
+
+class IDCOP : public IMember
+{
+ public:
+};
+
+class ISlot : public IMember
+{
+ public:
+};
+
+class IEnumValue : public IMember
+{
+ public:
+ virtual const IString * name() const = 0;
+};
+
+#if 0
+class IEnumValueIterator
+{
+ public:
+ virtual IEnumValue *toFirst() = 0;
+ virtual IEnumValue *toLast() = 0;
+ virtual IEnumValue *toNext() = 0;
+ virtual IEnumValue *toPrev() = 0;
+ virtual IEnumValue *current() const = 0;
+ virtual void release() = 0;
+};
+#endif
+
+
class IMemberIterator
{
public:
@@ -541,6 +617,12 @@ class IMemberIterator
virtual void release() = 0;
};
+class IEnum : public IMember
+{
+ public:
+ virtual IMemberIterator *enumValues() const = 0;
+};
+
/*! \brief The interface to a section in the object model.
*
* A compound can have a number of sections, where each