My Project
|
#include <stdlib.h>
#include <qdir.h>
#include <qfile.h>
#include <qtextstream.h>
#include <qintdict.h>
#include "xmlgen.h"
#include "doxygen.h"
#include "message.h"
#include "config.h"
#include "classlist.h"
#include "util.h"
#include "defargs.h"
#include "outputgen.h"
#include "dot.h"
#include "pagedef.h"
#include "filename.h"
#include "version.h"
#include "xmldocvisitor.h"
#include "docparser.h"
#include "language.h"
#include "parserintf.h"
#include "arguments.h"
#include "memberlist.h"
#include "groupdef.h"
#include "memberdef.h"
#include "namespacedef.h"
#include "membername.h"
#include "membergroup.h"
#include "dirdef.h"
#include "section.h"
#include "htmlentity.h"
#include "resourcemgr.h"
Go to the source code of this file.
Classes | |
class | XmlSectionMapper |
class | TextGeneratorXMLImpl |
class | XMLCodeGenerator |
Macros | |
#define | XML_DB(x) do {} while(0) |
Functions | |
void | writeXMLString (FTextStream &t, const char *s) |
void | writeXMLCodeString (FTextStream &t, const char *s, int &col) |
static void | writeXMLHeader (FTextStream &t) |
static void | writeCombineScript () |
void | writeXMLLink (FTextStream &t, const char *extRef, const char *compoundId, const char *anchorId, const char *text, const char *tooltip) |
static void | writeTemplateArgumentList (ArgumentList *al, FTextStream &t, Definition *scope, FileDef *fileScope, int indent) |
static void | writeMemberTemplateLists (MemberDef *md, FTextStream &t) |
static void | writeTemplateList (ClassDef *cd, FTextStream &t) |
static void | writeXMLDocBlock (FTextStream &t, const QCString &fileName, int lineNr, Definition *scope, MemberDef *md, const QCString &text) |
void | writeXMLCodeBlock (FTextStream &t, FileDef *fd) |
static void | writeMemberReference (FTextStream &t, Definition *def, MemberDef *rmd, const char *tagName) |
static void | stripQualifiers (QCString &typeStr) |
static QCString | classOutputFileBase (ClassDef *cd) |
static QCString | memberOutputFileBase (MemberDef *md) |
static void | generateXMLForMember (MemberDef *md, FTextStream &ti, FTextStream &t, Definition *def) |
static void | generateXMLSection (Definition *d, FTextStream &ti, FTextStream &t, MemberList *ml, const char *kind, const char *header=0, const char *documentation=0) |
static void | writeListOfAllMembers (ClassDef *cd, FTextStream &t) |
static void | writeInnerClasses (const ClassSDict *cl, FTextStream &t) |
static void | writeInnerNamespaces (const NamespaceSDict *nl, FTextStream &t) |
static void | writeInnerFiles (const FileList *fl, FTextStream &t) |
static void | writeInnerPages (const PageSDict *pl, FTextStream &t) |
static void | writeInnerGroups (const GroupList *gl, FTextStream &t) |
static void | writeInnerDirs (const DirList *dl, FTextStream &t) |
static void | generateXMLForClass (ClassDef *cd, FTextStream &ti) |
static void | generateXMLForNamespace (NamespaceDef *nd, FTextStream &ti) |
static void | generateXMLForFile (FileDef *fd, FTextStream &ti) |
static void | generateXMLForGroup (GroupDef *gd, FTextStream &ti) |
static void | generateXMLForDir (DirDef *dd, FTextStream &ti) |
static void | generateXMLForPage (PageDef *pd, FTextStream &ti, bool isExample) |
void | generateXML () |
Variables | |
static XmlSectionMapper | g_xmlSectionMapper |
#define XML_DB | ( | x | ) | do {} while(0) |
Definition at line 52 of file xmlgen.cpp.
Referenced by XMLCodeGenerator::codify(), XMLCodeGenerator::endCodeLine(), XMLCodeGenerator::endFontClass(), XMLCodeGenerator::startCodeLine(), XMLCodeGenerator::startFontClass(), XMLCodeGenerator::writeCodeAnchor(), XMLCodeGenerator::writeCodeLink(), XMLCodeGenerator::writeLineNumber(), and XMLCodeGenerator::writeTooltip().
|
static |
Definition at line 506 of file xmlgen.cpp.
References ClassDef::getOutputFileBase().
Referenced by generateXMLForClass(), and writeInnerClasses().
void generateXML | ( | ) |
Definition at line 1840 of file xmlgen.cpp.
References Doxygen::classSDict, Config_getString, ResourceMgr::copyResource(), createSubDirs(), Doxygen::directories, endl(), err(), Doxygen::exampleSDict, generateXMLForClass(), generateXMLForDir(), generateXMLForFile(), generateXMLForGroup(), generateXMLForNamespace(), generateXMLForPage(), ResourceMgr::getAsString(), Doxygen::groupSDict, Doxygen::inputNameList, HtmlEntityMapper::instance(), ResourceMgr::instance(), SDict< GroupDef >::Iterator, SDict< NamespaceDef >::Iterator, SDict< DirDef >::Iterator, SDict< ClassDef >::Iterator, SDict< PageDef >::Iterator, Doxygen::mainPage, msg(), FileDef::name(), Definition::name(), Doxygen::namespaceSDict, Doxygen::pageSDict, versionString, writeCombineScript(), and HtmlEntityMapper::writeXMLSchema().
Referenced by generateOutput().
|
static |
Definition at line 1216 of file xmlgen.cpp.
References FileDef::absFilePath(), ClassDef::baseClasses(), Definition::briefDescription(), Definition::briefFile(), Definition::briefLine(), classOutputFileBase(), DotNode::Collaboration, ClassDef::compoundTypeString(), Config_getString, convertToXML(), Definition::docFile(), Definition::docLine(), FileDef::docName(), Definition::documentation(), endl(), err(), IncludeInfo::fileDef, generateXMLSection(), Definition::getBodyDef(), ClassDef::getClassSDict(), Definition::getDefColumn(), Definition::getDefFileName(), Definition::getDefLine(), Definition::getEndBodyLine(), Definition::getLanguage(), ClassDef::getMemberGroupSDict(), ClassDef::getMemberLists(), FileDef::getOutputFileBase(), Definition::getStartBodyLine(), ClassDef::includeInfo(), IncludeInfo::includeName, DotNode::Inheritance, insertTemplateSpecifierInScope(), ClassDef::isAbstract(), Definition::isArtificial(), ClassDef::isFinal(), Definition::isHidden(), ClassDef::isReference(), Definition::isReference(), ClassDef::isSealed(), DotClassGraph::isTrivial(), SIntDict< MemberGroup >::Iterator, langToString(), IncludeInfo::local, MemberListType_detailedLists, msg(), Definition::name(), Normal, Package, Private, Protected, ClassDef::protection(), Public, Pure, stripFromPath(), ClassDef::subClasses(), ClassDef::templateMaster(), Virtual, writeInnerClasses(), writeListOfAllMembers(), writeTemplateList(), DotClassGraph::writeXML(), writeXMLDocBlock(), writeXMLHeader(), and writeXMLString().
Referenced by generateXML().
|
static |
Definition at line 1720 of file xmlgen.cpp.
References Definition::briefDescription(), Definition::briefFile(), Definition::briefLine(), Config_getString, convertToXML(), DirDef::displayName(), Definition::docFile(), Definition::docLine(), Definition::documentation(), endl(), err(), DirDef::getFiles(), DirDef::getOutputFileBase(), Definition::isReference(), Definition::name(), stripFromPath(), DirDef::subDirs(), writeInnerDirs(), writeInnerFiles(), writeXMLDocBlock(), and writeXMLHeader().
Referenced by generateXML().
|
static |
Definition at line 1505 of file xmlgen.cpp.
References Definition::briefDescription(), Definition::briefFile(), Definition::briefLine(), Config_getBool, Config_getString, convertToXML(), Definition::docFile(), Definition::docLine(), Definition::documentation(), endl(), err(), IncludeInfo::fileDef, generateXMLSection(), FileDef::getClassSDict(), Definition::getDefFileName(), Definition::getLanguage(), FileDef::getMemberGroupSDict(), FileDef::getMemberLists(), FileDef::getNamespaceSDict(), FileDef::getOutputFileBase(), FileDef::includedByFileList(), FileDef::includeFileList(), IncludeInfo::includeName, Definition::isReference(), DotInclDepGraph::isTrivial(), SIntDict< MemberGroup >::Iterator, langToString(), IncludeInfo::local, MemberListType_declarationLists, FileDef::name(), stripFromPath(), writeInnerClasses(), writeInnerNamespaces(), DotInclDepGraph::writeXML(), writeXMLCodeBlock(), writeXMLDocBlock(), writeXMLHeader(), and writeXMLString().
Referenced by generateXML().
|
static |
Definition at line 1645 of file xmlgen.cpp.
References Definition::briefDescription(), Definition::briefFile(), Definition::briefLine(), Config_getString, convertToXML(), Definition::docFile(), Definition::docLine(), Definition::documentation(), endl(), err(), generateXMLSection(), GroupDef::getClasses(), GroupDef::getFiles(), GroupDef::getMemberGroupSDict(), GroupDef::getMemberLists(), GroupDef::getNamespaces(), GroupDef::getOutputFileBase(), GroupDef::getPages(), GroupDef::getSubGroups(), GroupDef::groupTitle(), Definition::isReference(), SIntDict< MemberGroup >::Iterator, MemberListType_declarationLists, Definition::name(), writeInnerClasses(), writeInnerFiles(), writeInnerGroups(), writeInnerNamespaces(), writeInnerPages(), writeXMLDocBlock(), and writeXMLHeader().
Referenced by generateXML().
|
static |
Definition at line 526 of file xmlgen.cpp.
References FileDef::absFilePath(), MemberDef::anchor(), MemberDef::argsString(), MemberDef::argumentList(), Argument::array, Argument::attrib, MemberDef::bitfieldString(), MemberDef::briefDescription(), Definition::briefFile(), Definition::briefLine(), ArgumentList::constSpecifier, convertToXML(), MemberDef::declArgumentList(), MemberDef::definition(), DefinitionIntf::definitionType(), Argument::defval, Definition::docFile(), Definition::docLine(), Argument::docs, MemberDef::documentation(), endl(), MemberDef::enumFieldList(), MemberDef::excpString(), Definition::getBodyDef(), MemberDef::getClassDef(), Definition::getDefColumn(), Definition::getDefFileName(), Definition::getDefLine(), Definition::getEndBodyLine(), MemberDef::getGroupDef(), MemberDef::getNamespaceDef(), Definition::getOuterScope(), GroupDef::getOutputFileBase(), MemberDef::getReadAccessor(), Definition::getReferencedByMembers(), Definition::getReferencesMembers(), Definition::getStartBodyLine(), MemberDef::getWriteAccessor(), Argument::hasDocumentation(), MemberDef::hasMultiLineInitializer(), MemberDef::hasOneLineInitializer(), Definition::inbodyDocumentation(), Definition::inbodyLine(), MemberDef::initializer(), MemberDef::isAddable(), MemberDef::isAssign(), MemberDef::isAttribute(), MemberDef::isBound(), MemberDef::isConstrained(), MemberDef::isCopy(), MemberDef::isExplicit(), MemberDef::isFinal(), MemberDef::isGettable(), Definition::isHidden(), MemberDef::isInitonly(), MemberDef::isInline(), MemberDef::isMaybeAmbiguous(), MemberDef::isMaybeDefault(), MemberDef::isMaybeVoid(), MemberDef::isMutable(), MemberDef::isNew(), MemberDef::isOptional(), MemberDef::isPrivateGettable(), MemberDef::isPrivateSettable(), MemberDef::isProtectedGettable(), MemberDef::isProtectedSettable(), MemberDef::isRaisable(), MemberDef::isReadable(), MemberDef::isReadonly(), MemberDef::isRemovable(), MemberDef::isRequired(), MemberDef::isRetain(), MemberDef::isSealed(), MemberDef::isSettable(), MemberDef::isStatic(), MemberDef::isStrong(), MemberDef::isTransient(), MemberDef::isUNOProperty(), MemberDef::isWeak(), MemberDef::isWritable(), SDict< MemberDef >::Iterator, linkifyText(), memberOutputFileBase(), MemberDef::memberType(), MemberType_DCOP, MemberType_Define, MemberType_Enumeration, MemberType_EnumValue, MemberType_Event, MemberType_Friend, MemberType_Function, MemberType_Interface, MemberType_Property, MemberType_Service, MemberType_Signal, MemberType_Slot, MemberType_Typedef, MemberType_Variable, Argument::name, Definition::name(), Normal, Package, Private, Protected, MemberDef::protection(), Public, Pure, MemberDef::reimplementedBy(), MemberDef::reimplements(), stripFromPath(), stripQualifiers(), Argument::type, DefinitionIntf::TypeGroup, MemberDef::typeString(), Virtual, MemberDef::virtualness(), ArgumentList::volatileSpecifier, writeMemberReference(), writeMemberTemplateLists(), writeXMLDocBlock(), and writeXMLString().
Referenced by generateXMLSection().
|
static |
Definition at line 1429 of file xmlgen.cpp.
References Definition::briefDescription(), Definition::briefFile(), Definition::briefLine(), Config_getString, convertToXML(), Definition::docFile(), Definition::docLine(), Definition::documentation(), endl(), err(), generateXMLSection(), NamespaceDef::getClassSDict(), Definition::getDefColumn(), Definition::getDefFileName(), Definition::getDefLine(), Definition::getLanguage(), NamespaceDef::getMemberGroupSDict(), NamespaceDef::getMemberLists(), NamespaceDef::getNamespaceSDict(), NamespaceDef::getOutputFileBase(), Definition::isHidden(), Definition::isReference(), SIntDict< MemberGroup >::Iterator, langToString(), MemberListType_declarationLists, Definition::name(), stripFromPath(), writeInnerClasses(), writeInnerNamespaces(), writeXMLDocBlock(), writeXMLHeader(), and writeXMLString().
Referenced by generateXML().
|
static |
Definition at line 1759 of file xmlgen.cpp.
References Config_getString, convertCharEntitiesToUTF8(), convertToXML(), Definition::docFile(), Definition::docLine(), Definition::documentation(), endl(), err(), filterTitle(), SDict< T >::find(), PageDef::getGroupDef(), PageDef::getOutputFileBase(), PageDef::getSubPages(), Definition::isReference(), Doxygen::mainPage, Definition::name(), Doxygen::sectionDict, PageDef::title(), SectionInfo::title, writeInnerPages(), writeXMLDocBlock(), and writeXMLHeader().
Referenced by generateXML().
|
static |
Definition at line 1023 of file xmlgen.cpp.
References convertToXML(), DefinitionIntf::definitionType(), Definition::docFile(), Definition::docLine(), endl(), generateXMLForMember(), MemberDef::getNamespaceDef(), DefinitionIntf::TypeFile, and writeXMLDocBlock().
Referenced by generateXMLForClass(), generateXMLForFile(), generateXMLForGroup(), and generateXMLForNamespace().
|
static |
Definition at line 515 of file xmlgen.cpp.
References MemberDef::getOutputFileBase().
Referenced by generateXMLForMember(), and writeListOfAllMembers().
|
static |
Definition at line 493 of file xmlgen.cpp.
Referenced by generateXMLForMember().
|
static |
Definition at line 154 of file xmlgen.cpp.
References Config_getString, and err().
Referenced by generateXML().
|
static |
Definition at line 1113 of file xmlgen.cpp.
References classOutputFileBase(), convertToXML(), endl(), Definition::isHidden(), SDict< ClassDef >::Iterator, Definition::name(), Package, Private, Protected, ClassDef::protection(), and Public.
Referenced by generateXMLForClass(), generateXMLForFile(), generateXMLForGroup(), and generateXMLForNamespace().
|
static |
Definition at line 1202 of file xmlgen.cpp.
References convertToXML(), DirDef::displayName(), endl(), and DirDef::getOutputFileBase().
Referenced by generateXMLForDir().
|
static |
Definition at line 1155 of file xmlgen.cpp.
References convertToXML(), endl(), FileDef::getOutputFileBase(), and FileDef::name().
Referenced by generateXMLForDir(), and generateXMLForGroup().
|
static |
Definition at line 1187 of file xmlgen.cpp.
References convertToXML(), endl(), GroupDef::getOutputFileBase(), and GroupDef::groupTitle().
Referenced by generateXMLForGroup().
|
static |
Definition at line 1138 of file xmlgen.cpp.
References convertToXML(), endl(), NamespaceDef::getOutputFileBase(), Definition::isHidden(), SDict< NamespaceDef >::Iterator, and Definition::name().
Referenced by generateXMLForFile(), generateXMLForGroup(), and generateXMLForNamespace().
|
static |
Definition at line 1169 of file xmlgen.cpp.
References convertToXML(), endl(), PageDef::getGroupDef(), PageDef::getOutputFileBase(), SDict< PageDef >::Iterator, Definition::name(), and PageDef::title().
Referenced by generateXMLForGroup(), and generateXMLForPage().
|
static |
Definition at line 1065 of file xmlgen.cpp.
References MemberInfo::ambiguityResolutionScope, MemberDef::anchor(), convertToXML(), endl(), SDict< MemberNameInfo >::Iterator, MemberInfo::memberDef, ClassDef::memberNameInfoSDict(), memberOutputFileBase(), Definition::name(), Normal, Package, Private, MemberInfo::prot, Protected, Public, Pure, Virtual, and MemberDef::virtualness().
Referenced by generateXMLForClass().
|
static |
Definition at line 470 of file xmlgen.cpp.
References MemberDef::anchor(), convertToXML(), endl(), Definition::getBodyDef(), Definition::getEndBodyLine(), Definition::getLanguage(), getLanguageSpecificSeparator(), MemberDef::getOutputFileBase(), FileDef::getOutputFileBase(), MemberDef::getScopeString(), Definition::getStartBodyLine(), and Definition::name().
Referenced by generateXMLForMember().
|
static |
Definition at line 409 of file xmlgen.cpp.
References MemberDef::getClassDef(), MemberDef::getFileDef(), MemberDef::templateArguments(), and writeTemplateArgumentList().
Referenced by generateXMLForMember().
|
static |
Definition at line 364 of file xmlgen.cpp.
References Argument::defval, endl(), linkifyText(), Argument::name, Argument::type, and Argument::typeConstraint.
Referenced by writeMemberTemplateLists(), and writeTemplateList().
|
static |
Definition at line 418 of file xmlgen.cpp.
References ClassDef::templateArguments(), and writeTemplateArgumentList().
Referenced by generateXMLForClass().
void writeXMLCodeBlock | ( | FTextStream & | t, |
FileDef * | fd | ||
) |
Definition at line 447 of file xmlgen.cpp.
References FileDef::absFilePath(), Config_getBool, fileToString(), XMLCodeGenerator::finish(), Definition::getDefFileExtension(), getLanguageFromFileName(), ParserManager::getParser(), ParserInterface::parseCode(), Doxygen::parserManager, and ParserInterface::resetCodeParserState().
Referenced by generateXMLForFile().
|
inline |
Definition at line 114 of file xmlgen.cpp.
References Config_getInt, and writeUtf8Char().
Referenced by XMLCodeGenerator::codify().
|
static |
Definition at line 423 of file xmlgen.cpp.
References DocNode::accept(), and validatingParseDoc().
Referenced by generateXMLForClass(), generateXMLForDir(), generateXMLForFile(), generateXMLForGroup(), generateXMLForMember(), generateXMLForNamespace(), generateXMLForPage(), and generateXMLSection().
|
static |
Definition at line 146 of file xmlgen.cpp.
References endl(), and versionString.
Referenced by generateXMLForClass(), generateXMLForDir(), generateXMLForFile(), generateXMLForGroup(), generateXMLForNamespace(), and generateXMLForPage().
void writeXMLLink | ( | FTextStream & | t, |
const char * | extRef, | ||
const char * | compoundId, | ||
const char * | anchorId, | ||
const char * | text, | ||
const char * | tooltip | ||
) |
Definition at line 186 of file xmlgen.cpp.
References convertToXML(), and writeXMLString().
Referenced by XMLCodeGenerator::writeCodeLink(), and TextGeneratorXMLImpl::writeLink().
|
inline |
Definition at line 109 of file xmlgen.cpp.
References convertToXML().
Referenced by generateXMLForClass(), generateXMLForFile(), generateXMLForMember(), generateXMLForNamespace(), TextGeneratorXMLImpl::writeString(), and writeXMLLink().
|
static |
Definition at line 106 of file xmlgen.cpp.