diff options
Diffstat (limited to 'addon')
-rw-r--r-- | addon/doxmlparser/include/doxmlintf.h | 7 | ||||
-rw-r--r-- | addon/doxmlparser/src/compoundhandler.cpp | 22 | ||||
-rw-r--r-- | addon/doxmlparser/src/compoundhandler.h | 1 |
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; |