📄 doxmlintf.h
字号:
virtual const IString * linkId() const = 0; virtual IChildNodeIterator *children() const = 0;};class INodeIterator { public: virtual INode *toFirst() = 0; virtual INode *toLast() = 0; virtual INode *toNext() = 0; virtual INode *toPrev() = 0; virtual INode *current() const = 0; virtual void release() = 0;};class IGraph{ public: virtual INodeIterator *nodes() const = 0;};class IMember { public: enum MemberKind { Invalid=0, Define, Property, Variable, Typedef, Enum, Function, Signal, Prototype, Friend, DCOP, Slot, EnumValue }; virtual ICompound *compound() const = 0; virtual ISection *section() const = 0; virtual MemberKind kind() const = 0; virtual const IString * kindString() const = 0; virtual const IString * id() const = 0; virtual const IString * protection() const = 0; virtual const IString * virtualness() const = 0; virtual ILinkedTextIterator *type() const = 0; virtual const IString * typeString() const = 0; virtual const IString * name() const = 0; virtual const IString * readAccessor() const = 0; virtual const IString * writeAccessor() const = 0; virtual const IString * definition() const = 0; virtual const IString * argsstring() const = 0; virtual bool isConst() const = 0; virtual bool isVolatile() const = 0; virtual bool isStatic() const = 0; virtual bool isExplicit() const = 0; virtual bool isInline() const = 0; virtual bool isMutable() const = 0; virtual bool isReadable() const = 0; virtual bool isWritable() const = 0; virtual IParamIterator *parameters() const = 0; virtual IParamIterator *templateParameters() const = 0; virtual ILinkedTextIterator *initializer() const = 0; virtual ILinkedTextIterator *exceptions() const = 0; virtual IMemberReferenceIterator *references() const = 0; virtual IMemberReferenceIterator *referencedBy() const = 0; virtual int bodyStart() const = 0; virtual int bodyEnd() const = 0; virtual const IString * definitionFile() const = 0; virtual int definitionLine() const = 0; virtual IMemberReference *reimplements() const = 0; virtual IMemberReferenceIterator *reimplementedBy() const = 0; virtual IDocRoot *briefDescription() const = 0; virtual IDocRoot *detailedDescription() const = 0; virtual IDocRoot *inbodyDescription() 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;};/*! \brief Include relation */class IInclude { public: virtual const IString * name() const = 0; virtual const IString * refId() const = 0; virtual bool isLocal() const = 0;};class IIncludeIterator{ public: virtual IInclude *toFirst() = 0; virtual IInclude *toLast() = 0; virtual IInclude *toNext() = 0; virtual IInclude *toPrev() = 0; virtual IInclude *current() const = 0; virtual void release() = 0;};class IMemberIterator { public: virtual IMember *toFirst() = 0; virtual IMember *toLast() = 0; virtual IMember *toNext() = 0; virtual IMember *toPrev() = 0; virtual IMember *current() const = 0; 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 * section contains a set of members with the properties implied by * the section kind. The kind() method returns the kind of the section. * The members of the section can be accessed via members(). Apart * from using kind(), some of the individual properties of the section can * also be inspected via isStatic(), isPublic(), isProtected() and * isPrivate(). */class ISection { public: /*! Possible section types */ enum SectionKind { Invalid=0, UserDefined, //!< A user defined member group PubTypes, //!< Public member typedefs PubFuncs, //!< Public member functions PubAttribs, //!< Public member attributes PubSlots, //!< Public Qt Slots Signals, //!< Qt Signals DCOPFuncs, //!< KDE-DCOP interface functions Properties, //!< IDL properties PubStatFuncs, //!< Public static member functions 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 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, Exception, Namespace, File, Group, Page }; /*! 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;};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 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 + -