📄 doxmlintf.h
字号:
PubStatAttribs, //!< Public static attributes ProTypes, //!< Protected member typedefs ProFuncs, //!< Protected member functions ProAttribs, //!< Protected member attributes ProSlots, //!< Protected slots ProStatFuncs, //!< Protected static member functions ProStatAttribs, //!< Protected static member attributes PacTypes, //!< Package member typedefs PacFuncs, //!< Package member functions PacAttribs, //!< Package member attributes PacStatFuncs, //!< Package static member functions PacStatAttribs, //!< Package static member attributes PriTypes, //!< Private member typedefs PriFuncs, //!< Private member functions PriAttribs, //!< Private member attributes PriSlots, //!< Private Qt slots PriStatFuncs, //!< Private static member functions PriStatAttribs, //!< Private static member attributes Friend, //!< Friends Related, //!< Function marked as related Defines, //!< Preprocessor defines Prototypes, //!< Global function prototypes Typedefs, //!< Global typedefs Enums, //!< Enumerations Functions, //!< Global functions Variables //!< Global variables }; /*! Returns a string representation of the value returned by kind() */ virtual const IString * kindString() const = 0; /*! Returns what kind of section this is */ virtual SectionKind kind() const = 0; /*! Returns the description attached to this section (for user defined * sections, also known as member groups). */ virtual IDocRoot *description() const = 0; /*! Returns an iterator for the members of this section */ virtual IMemberIterator *members() const = 0; /*! Returns \c true if this section contains statics */ virtual bool isStatic() const = 0; /*! Returns \c true if this section belongs to a * public section of a class */ virtual bool isPublic() const = 0; /*! Returns \c true if this section belongs to a * private section of a class */ virtual bool isPrivate() const = 0; /*! Returns \c true if this section belongs to a * protected section of a class * */ virtual bool isProtected() const = 0;};class IUserDefined : public ISection{ public: virtual const IString * header() const = 0;};class ISectionIterator { public: virtual ISection *toFirst() = 0; virtual ISection *toLast() = 0; virtual ISection *toNext() = 0; virtual ISection *toPrev() = 0; virtual ISection *current() const = 0; virtual void release() = 0;};/*! \brief The interface to a compound in the object model. * * A compound has a name which can be obtained via the name() method * and a unique id, which is return via the id() method. * A compound consists zero or more members which are grouped into sections. * The sections() method can be used to access the individual sections. * Alternatively, members can be obtained by name or id. There are * different types of compounds. The kind() method returns what kind of * compound this is. Depending on the return value one can dynamically * cast an interface pointer to an more specialised interface that provides * additional methods. * Example: * \code * ICompound *comp=...; * if (comp->kind()==ICompound::Class) * { * IClass *cls = dynamic_cast<IClass*>(comp); * // use methods of IClass * } * \endcode * The documentation that is provided by a compound is available via * the briefDescription() and detailedDescription() methods. * To avoid excessive memory usage, release() should be called (once) on each * compound interface pointer that is no longer needed. */class ICompound { public: /*! Represents the kind of compounds recognised by doxygen. */ enum CompoundKind { Invalid=0, Class, Struct, Union, Interface, Protocol, Category, Exception, File, Namespace, Group, Page, Example, Dir }; /*! Returns the name of this compound */ virtual const IString * name() const = 0; /*! Returns the id of this compound. The id is a * unique string representing a specific compound object. */ virtual const IString * id() const = 0; /*! Returns the kind of compound. See #CompoundKind for possible * values. */ virtual CompoundKind kind() const = 0; /*! Returns a string representation of the compound kind. * @see kind() */ virtual const IString * kindString() const = 0; /*! Returns an iterator for the different member sections in this * compound. */ virtual ISectionIterator *sections() const = 0; /*! Returns a tree-structured representation of the brief * description that is attached to this compound. */ virtual IDocRoot *briefDescription() const = 0; /*! Returns a tree-structured representation of the detailed * description that is attached to this compound. */ virtual IDocRoot *detailedDescription() const = 0; /*! Returns an interface to a member given its id. * @param id The member id. */ virtual IMember *memberById(const char * id) const = 0; /*! Returns a list of all members within the compound having a certain * name. Member overloading is the reason why there can be more than * one member. * @param name The name of the member. */ virtual IMemberIterator *memberByName(const char * name) const = 0; /*! Decreases the reference counter for this compound. If it reaches * zero, the memory for the compound will be released. */ virtual void release() = 0;};class ICompoundIterator { public: virtual void toFirst() = 0; virtual void toLast() = 0; virtual void toNext() = 0; virtual void toPrev() = 0; virtual ICompound *current() const = 0; virtual void release() = 0;};class IRelatedCompound{ public: enum Protection { Public, Protected, Private }; enum Kind { Normal, Virtual }; virtual ICompound *compound() const = 0; virtual Protection protection() const = 0; virtual Kind kind() const = 0; virtual const IString *name() const = 0;};class IRelatedCompoundIterator { public: virtual IRelatedCompound *toFirst() = 0; virtual IRelatedCompound *toLast() = 0; virtual IRelatedCompound *toNext() = 0; virtual IRelatedCompound *toPrev() = 0; virtual IRelatedCompound *current() const = 0; virtual void release() = 0;};/*! \brief The interface to a class in the object model. */class IClass : public ICompound{ public: virtual IGraph *inheritanceGraph() const = 0; virtual IGraph *collaborationGraph() const = 0; virtual IRelatedCompoundIterator *baseCompounds() const = 0; virtual IRelatedCompoundIterator *derivedCompounds() const = 0; virtual ICompoundIterator *nestedCompounds() const = 0; virtual IParamIterator *templateParameters() const = 0; virtual const IString *locationFile() const = 0; virtual int locationLine() const = 0; virtual const IString *locationBodyFile() const = 0; virtual int locationBodyStartLine() const = 0; virtual int locationBodyEndLine() const = 0; // TODO: // class: // listOfAllMembers() // protection() // isAbstract()};/*! \brief The interface to a struct in the object model. */class IStruct : public ICompound{ public: virtual ICompoundIterator *nestedCompounds() const = 0; virtual IRelatedCompoundIterator *baseCompounds() const = 0; virtual IRelatedCompoundIterator *derivedCompounds() const = 0; virtual const IString *locationFile() const = 0; virtual int locationLine() const = 0; virtual int locationBodyStartLine() const = 0; virtual int locationBodyEndLine() const = 0;};/*! \brief The interface to a union in the object model. */class IUnion : public ICompound{ public: virtual ICompoundIterator *nestedCompounds() const = 0;};/*! \brief The interface to a Java/IDL interface in the object model. */class IInterface : public ICompound{ public: virtual IRelatedCompoundIterator *baseCompounds() const = 0; virtual IRelatedCompoundIterator *derivedCompounds() const = 0;};/*! \brief The interface to a Java/IDL exception in the object model. */class IException : public ICompound{};/*! \brief The interface to a namespace in the object model. */class INamespace : public ICompound{ public: virtual ICompoundIterator *nestedCompounds() const = 0;};/*! \brief The interface to a file in the object model. */class IFile : public ICompound{ public: virtual IGraph *includeDependencyGraph() const = 0; virtual IGraph *includedByDependencyGraph() const = 0; virtual IDocProgramListing *source() const = 0; virtual ICompoundIterator *nestedCompounds() const = 0; virtual IIncludeIterator *includes() const = 0; virtual IIncludeIterator *includedBy() const = 0; // ICompound *innerNamespaces() // ICompoundIterator *innerClasses()};/*! \brief The interface to a group in the object model. */class IGroup : public ICompound{ public: virtual ICompoundIterator *nestedCompounds() const = 0; // group: // Title() // innerFile() // innerPage()};/*! \brief The interface to a page in the object model. */class IPage : public ICompound{ public: virtual const IDocTitle *title() 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 ICompoundIterator *compounds() const = 0; /*! Returns a compound given its unique \a id. If you have a * compound id this function is much more efficient than iterating * over the compound list. Returns 0 if the id is not valid. */ virtual ICompound *compoundById(const char * id) const = 0; /*! Returns a compound given its name (including the scope). * Returns 0 if the name is not found in the project. */ virtual ICompound *compoundByName(const char * name) const = 0; /*! Returns an interface to a compound containing a member given it the * member's id. Given the ICompound interface one can use the same id * to obtain the IMember interface. * @param id The member id. */ virtual ICompound *memberById(const char * id) const = 0; /*! Returns a list of all compounds containing at least one members * with a certain name. Each compound can be asked to return the * list of members with that name. * @param name The name of the member. */ virtual ICompoundIterator *memberByName(const char * name) const = 0; /*! Releases the memory for the object hierarchy obtained by * createdObjecModelFromXML(). First release all iterators before calling * this function. */ virtual void release() = 0; /*! Sets the debug level. * - 0 all debugging messages are disabled (the default). * - 1 display important messages only * - 2 display any messages. */ virtual void setDebugLevel(int level) = 0; /*! Reads an XML directory produced by doxygen and builds up a data * structure representing the contents of the XML files in the directory. */ virtual bool readXMLDir(const char *xmlDirName) = 0;};/*! Factory method that creates an empty object model for a doxygen generated XML file. * Use the readXMLDir() method to build the model from an XML output * directory containing doxygen output. */IDoxygen *createObjectModel();#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -