doxygen  1.8.18
About: Doxygen is a source code documentation generator tool for C++, C, Objective-C, C#, PHP, Java, Python, IDL (diverse flavors), Fortran, VHDL, Tcl, and to some extent D. Different output formats are supported.
  Fossies Dox: doxygen-1.8.18.src.tar.gz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

xmlgen.cpp File Reference
#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 "dotclassgraph.h"
#include "dotincldepgraph.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"
+ Include dependency graph for xmlgen.cpp:

Go to the source code of this file.


class  XmlSectionMapper
 Helper class mapping MemberList::ListType to a string representing. More...
class  TextGeneratorXMLImpl
 Implements TextGeneratorIntf for an XML stream. More...


#define XML_DB(x)   do {} while(0)
 Copyright (C) 1997-2015 by Dimitri van Heesch. More...


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 (FTextStream &t, const ArgumentList &al, const Definition *scope, const FileDef *fileScope, int indent)
static void writeMemberTemplateLists (const MemberDef *md, FTextStream &t)
static void writeTemplateList (const ClassDef *cd, FTextStream &t)
static void writeXMLDocBlock (FTextStream &t, const QCString &fileName, int lineNr, const Definition *scope, const MemberDef *md, const QCString &text)
void writeXMLCodeBlock (FTextStream &t, FileDef *fd)
static void writeMemberReference (FTextStream &t, const Definition *def, const MemberDef *rmd, const char *tagName)
static void stripQualifiers (QCString &typeStr)
static QCString classOutputFileBase (const ClassDef *cd)
static QCString memberOutputFileBase (const MemberDef *md)
static void generateXMLForMember (const MemberDef *md, FTextStream &ti, FTextStream &t, const Definition *def)
static bool memberVisible (const Definition *d, const MemberDef *md)
static void generateXMLSection (const Definition *d, FTextStream &ti, FTextStream &t, MemberList *ml, const char *kind, const char *header=0, const char *documentation=0)
static void writeListOfAllMembers (const 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 (const ClassDef *cd, FTextStream &ti)
static void generateXMLForNamespace (const NamespaceDef *nd, FTextStream &ti)
static void generateXMLForFile (FileDef *fd, FTextStream &ti)
static void generateXMLForGroup (const GroupDef *gd, FTextStream &ti)
static void generateXMLForDir (DirDef *dd, FTextStream &ti)
static void generateXMLForPage (PageDef *pd, FTextStream &ti, bool isExample)
void generateXML ()


static XmlSectionMapper g_xmlSectionMapper

Macro Definition Documentation


#define XML_DB (   x)    do {} while(0)

Copyright (C) 1997-2015 by Dimitri van Heesch.

Permission to use, copy, modify, and distribute this software and its documentation under the terms of the GNU General Public License is hereby granted. No representations are made about the suitability of this software for any purpose. It is provided "as is" without express or implied warranty. See the GNU General Public License for more details.

Documents produced by Doxygen are derivative works derived from the input used in their production; they are not affected by this license.

Definition at line 55 of file xmlgen.cpp.

Function Documentation

◆ classOutputFileBase()

static QCString classOutputFileBase ( const ClassDef cd)

Definition at line 477 of file xmlgen.cpp.

References ClassDef::getOutputFileBase().

Referenced by generateXMLForClass(), and writeInnerClasses().

◆ generateXML()

◆ generateXMLForClass()

static void generateXMLForClass ( const ClassDef cd,
FTextStream ti 

Definition at line 1227 of file xmlgen.cpp.

References FileDef::absFilePath(), ASSERT, ClassDef::baseClasses(), Definition::briefDescription(), Definition::briefFile(), Definition::briefLine(), BaseClassDef::classDef, classOutputFileBase(), Collaboration, ClassDef::compoundTypeString(), Config_getString, convertToXML(), QListIterator< type >::current(), QCString::data(), ClassDef::displayName(), Definition::docFile(), Definition::docLine(), FileDef::docName(), MemberGroup::documentation(), Definition::documentation(), endl(), err(), IncludeInfo::fileDef, QIntDict< type >::find(), g_xmlSectionMapper, generateXMLSection(), Definition::getBodyDef(), ClassDef::getClassSDict(), Definition::getDefColumn(), Definition::getDefFileName(), Definition::getDefLine(), Definition::getEndBodyLine(), Definition::getLanguage(), ClassDef::getMemberGroupSDict(), ClassDef::getMemberLists(), FileDef::getOutputFileBase(), Definition::getStartBodyLine(), MemberGroup::header(), ClassDef::includeInfo(), IncludeInfo::includeName, Inheritance, insertTemplateSpecifierInScope(), IO_WriteOnly, ClassDef::isAbstract(), Definition::isAnonymous(), Definition::isArtificial(), QCString::isEmpty(), ClassDef::isFinal(), Definition::isHidden(), ClassDef::isLinkable(), ClassDef::isReference(), Definition::isReference(), ClassDef::isSealed(), DotClassGraph::isTrivial(), SIntDict< MemberGroup >::Iterator, langToString(), MemberList::listType(), IncludeInfo::local, MemberListType_detailedLists, MemberGroup::members(), msg(), Definition::name(), Normal, QFile::open(), Package, Private, BaseClassDef::prot, Protected, ClassDef::protection(), Public, Pure, stripFromPath(), ClassDef::subClasses(), ClassDef::templateMaster(), BaseClassDef::templSpecifiers, QListIterator< type >::toFirst(), BaseClassDef::virt, Virtual, writeInnerClasses(), writeListOfAllMembers(), writeTemplateList(), DotClassGraph::writeXML(), writeXMLDocBlock(), writeXMLHeader(), and writeXMLString().

Referenced by generateXML().

◆ generateXMLForDir()

◆ generateXMLForFile()

◆ generateXMLForGroup()

◆ generateXMLForMember()

static void generateXMLForMember ( const MemberDef md,
FTextStream ti,
FTextStream t,
const Definition def 

Definition at line 497 of file xmlgen.cpp.

References FileDef::absFilePath(), MemberDef::anchor(), MemberDef::argsString(), MemberDef::argumentList(), ASSERT, QCString::at(), MemberDef::bitfieldString(), MemberDef::briefDescription(), Definition::briefFile(), Definition::briefLine(), ArgumentList::constSpecifier, convertToXML(), QListIterator< type >::current(), MemberDef::declArgumentList(), MemberDef::definition(), DefinitionIntf::definitionType(), Definition::docFile(), Definition::docLine(), Argument::docs, MemberDef::documentation(), endl(), MemberDef::enumBaseType(), MemberDef::enumFieldList(), MemberDef::excpString(), FALSE, Definition::getBodyDef(), MemberDef::getClassDef(), MemberDef::getDeclColumn(), MemberDef::getDeclFileName(), MemberDef::getDeclLine(), 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(), ArgumentList::hasParameters(), Definition::inbodyDocumentation(), Definition::inbodyLine(), MemberDef::initializer(), MemberDef::isAddable(), MemberDef::isAssign(), MemberDef::isAttribute(), MemberDef::isBound(), MemberDef::isConstExpr(), MemberDef::isConstrained(), MemberDef::isCopy(), QCString::isEmpty(), MemberDef::isExplicit(), MemberDef::isFinal(), MemberDef::isGettable(), Definition::isHidden(), MemberDef::isInitonly(), MemberDef::isInline(), MemberDef::isMaybeAmbiguous(), MemberDef::isMaybeDefault(), MemberDef::isMaybeVoid(), MemberDef::isMutable(), MemberDef::isNew(), MemberDef::isNoExcept(), 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_Dictionary, MemberType_Enumeration, MemberType_EnumValue, MemberType_Event, MemberType_Friend, MemberType_Function, MemberType_Interface, MemberType_Property, MemberType_Sequence, MemberType_Service, MemberType_Signal, MemberType_Slot, MemberType_Typedef, MemberType_Variable, QCString::mid(), Argument::name, Definition::name(), Normal, Package, Private, Protected, MemberDef::protection(), Public, Pure, ArgumentList::refQualifier, RefQualifierLValue, RefQualifierNone, MemberDef::reimplementedBy(), MemberDef::reimplements(), stripFromPath(), stripQualifiers(), QListIterator< type >::toFirst(), TRUE, DefinitionIntf::TypeGroup, MemberDef::typeString(), Virtual, MemberDef::virtualness(), ArgumentList::volatileSpecifier, writeMemberReference(), writeMemberTemplateLists(), writeXMLDocBlock(), and writeXMLString().

Referenced by generateXMLSection().

◆ generateXMLForNamespace()

◆ generateXMLForPage()

◆ generateXMLSection()

static void generateXMLSection ( const Definition d,
FTextStream ti,
FTextStream t,
MemberList ml,
const char *  kind,
const char *  header = 0,
const char *  documentation = 0 

◆ memberOutputFileBase()

static QCString memberOutputFileBase ( const MemberDef md)

Definition at line 486 of file xmlgen.cpp.

References MemberDef::getOutputFileBase().

Referenced by generateXMLForMember(), and writeListOfAllMembers().

◆ memberVisible()

static bool memberVisible ( const Definition d,
const MemberDef md 

◆ stripQualifiers()

static void stripQualifiers ( QCString typeStr)

Definition at line 464 of file xmlgen.cpp.

References FALSE, QCString::stripPrefix(), and TRUE.

Referenced by generateXMLForMember().

◆ writeCombineScript()

static void writeCombineScript ( )

Definition at line 160 of file xmlgen.cpp.

References Config_getString, QCString::data(), err(), IO_WriteOnly, and QFile::open().

Referenced by generateXML().

◆ writeInnerClasses()

◆ writeInnerDirs()

static void writeInnerDirs ( const DirList dl,
FTextStream t 

◆ writeInnerFiles()

static void writeInnerFiles ( const FileList fl,
FTextStream t 

◆ writeInnerGroups()

static void writeInnerGroups ( const GroupList gl,
FTextStream t 

◆ writeInnerNamespaces()

◆ writeInnerPages()

static void writeInnerPages ( const PageSDict pl,
FTextStream t 

◆ writeListOfAllMembers()

◆ writeMemberReference()

◆ writeMemberTemplateLists()

static void writeMemberTemplateLists ( const MemberDef md,
FTextStream t 

◆ writeTemplateArgumentList()

static void writeTemplateArgumentList ( FTextStream t,
const ArgumentList al,
const Definition scope,
const FileDef fileScope,
int  indent 

◆ writeTemplateList()

static void writeTemplateList ( const ClassDef cd,
FTextStream t 

Definition at line 389 of file xmlgen.cpp.

References ClassDef::templateArguments(), and writeTemplateArgumentList().

Referenced by generateXMLForClass().

◆ writeXMLCodeBlock()

◆ writeXMLCodeString()

void writeXMLCodeString ( FTextStream t,
const char *  s,
int &  col 

Definition at line 118 of file xmlgen.cpp.

References Config_getInt, and writeUtf8Char().

Referenced by XMLCodeGenerator::codify().

◆ writeXMLDocBlock()

static void writeXMLDocBlock ( FTextStream t,
const QCString fileName,
int  lineNr,
const Definition scope,
const MemberDef md,
const QCString text 

◆ writeXMLHeader()

static void writeXMLHeader ( FTextStream t)

◆ writeXMLLink()

void writeXMLLink ( FTextStream t,
const char *  extRef,
const char *  compoundId,
const char *  anchorId,
const char *  text,
const char *  tooltip 

◆ writeXMLString()

void writeXMLString ( FTextStream t,
const char *  s 

Variable Documentation

◆ g_xmlSectionMapper

XmlSectionMapper g_xmlSectionMapper