summaryrefslogtreecommitdiffstats
path: root/addon
diff options
context:
space:
mode:
Diffstat (limited to 'addon')
-rw-r--r--addon/doxmlparser/include/doxmlintf.h7
-rw-r--r--addon/doxmlparser/src/compoundhandler.cpp22
-rw-r--r--addon/doxmlparser/src/compoundhandler.h1
3 files changed, 21 insertions, 9 deletions
diff --git a/addon/doxmlparser/include/doxmlintf.h b/addon/doxmlparser/include/doxmlintf.h
index 88cb2e3..2314021 100644
--- a/addon/doxmlparser/include/doxmlintf.h
+++ b/addon/doxmlparser/include/doxmlintf.h
@@ -1070,6 +1070,13 @@ class IPage : public ICompound
virtual const IDocTitle *title() const = 0;
};
+/** \brief Interface to a directory in the object model. */
+class IDir : public ICompound
+{
+ public:
+ virtual ICompoundIterator *nestedCompounds() const = 0;
+};
+
/*! Root node of the object model. */
class IDoxygen
{
diff --git a/addon/doxmlparser/src/compoundhandler.cpp b/addon/doxmlparser/src/compoundhandler.cpp
index 78fe10a..71d50cb 100644
--- a/addon/doxmlparser/src/compoundhandler.cpp
+++ b/addon/doxmlparser/src/compoundhandler.cpp
@@ -507,15 +507,19 @@ ICompound *CompoundHandler::toICompound() const
{
switch (m_kind)
{
- case IClass::Class: return (IClass *)this;
- case IStruct::Struct: return (IStruct *)this;
- case IUnion::Union: return (IUnion *)this;
- case IException::Exception: return (IException *)this;
- case IInterface::Interface: return (IInterface *)this;
- case INamespace::Namespace: return (INamespace *)this;
- case IFile::File: return (IFile *)this;
- case IGroup::Group: return (IGroup *)this;
- case IPage::Page: return (IPage *)this;
+ case ICompound::Class: return (IClass *)this;
+ case ICompound::Struct: return (IStruct *)this;
+ case ICompound::Union: return (IUnion *)this;
+ case ICompound::Interface: return (IInterface *)this;
+ case ICompound::Protocol: return (IClass *)this;
+ case ICompound::Category: return (IClass *)this;
+ case ICompound::Exception: return (IException *)this;
+ case ICompound::File: return (IFile *)this;
+ case ICompound::Namespace: return (INamespace *)this;
+ case ICompound::Group: return (IGroup *)this;
+ case ICompound::Page: return (IPage *)this;
+ case ICompound::Example: return (IPage *)this;
+ case ICompound::Dir: return (IDir *)this;
default: return 0;
}
return 0;
diff --git a/addon/doxmlparser/src/compoundhandler.h b/addon/doxmlparser/src/compoundhandler.h
index 9c081ed..dea7d42 100644
--- a/addon/doxmlparser/src/compoundhandler.h
+++ b/addon/doxmlparser/src/compoundhandler.h
@@ -110,6 +110,7 @@ class CompoundHandler : public IClass,
public IFile,
public IGroup,
public IPage,
+ public IDir,
public BaseHandler<CompoundHandler>
{
friend class RelatedCompound;