diff -r 932c358ece3e -r d8fccb2cd802 Orb/Doxygen/src/doxygen.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Orb/Doxygen/src/doxygen.h Fri Apr 23 20:47:58 2010 +0100 @@ -0,0 +1,172 @@ +/****************************************************************************** + * + * + * + * + * Copyright (C) 1997-2008 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. + * + */ + +#ifndef DOXYGEN_H +#define DOXYGEN_H + +#include "qtbc.h" +#include +#include +#include +#include "groupdef.h" +#include "filedef.h" +#include "classdef.h" +#include "memberdef.h" +#include "classlist.h" +#include "membername.h" +#include "filename.h" +#include "namespacedef.h" +#include "formula.h" +#include "section.h" +#include "membergroup.h" +#include "reflist.h" +#include "dirdef.h" +#include "index.h" +#include "docsets.h" + +class PageSList; +class PageSDict; +class PageDef; +class SearchIndex; +class ParserManager; +class ObjCache; +class Store; +class QFileInfo; +class BufStr; + +typedef QList StringList; +typedef QDict FileDict; +typedef QDict GroupDict; + +class StringDict : public QDict +{ + public: + StringDict(uint size=17) : QDict(size) {} + virtual ~StringDict() {} +}; + +struct LookupInfo +{ + LookupInfo() : classDef(0), typeDef(0) {} + LookupInfo(ClassDef *cd,MemberDef *td,QCString ts,QCString rt) + : classDef(cd), typeDef(td), templSpec(ts),resolvedType(rt) {} + ClassDef *classDef; + MemberDef *typeDef; + QCString templSpec; + QCString resolvedType; +}; + +extern QCString g_spaces; + +/*! \brief This class serves as a namespace for global variables used by doxygen. + * + * All fields in this class are public and static, so they can be used directly. + */ +class Doxygen +{ + public: + static ClassSDict *classSDict; + static ClassSDict *hiddenClasses; + static PageSDict *exampleSDict; + static PageSDict *pageSDict; + static PageDef *mainPage; + static bool insideMainPage; + static FileNameDict *includeNameDict; + static FileNameDict *exampleNameDict; + static FileNameDict *inputNameDict; + static FileNameList *inputNameList; + static FileNameDict *imageNameDict; + static FileNameDict *dotFileNameDict; + static QStrList tagfileList; + static MemberNameSDict *memberNameSDict; + static MemberNameSDict *functionNameSDict; + static QTextStream tagFile; + static SectionDict sectionDict; + static StringDict namespaceAliasDict; + static GroupSDict *groupSDict; + static NamespaceSDict *namespaceSDict; + static FormulaList formulaList; + static FormulaDict formulaDict; + static FormulaDict formulaNameDict; + static StringDict tagDestinationDict; + static StringDict aliasDict; + static QIntDict memGrpInfoDict; + static QDict expandAsDefinedDict; + static NamespaceDef *globalScope; + static QDict *xrefLists; // array of xref lists: todo, test, bug, deprecated ... + static QCString htmlFileExtension; + static bool parseSourcesNeeded; + static QTime runningTime; + static SearchIndex *searchIndex; + static QDict *symbolMap; + static bool outputToWizard; + static QDict *htmlDirMap; + static QCache lookupCache; + static DirSDict *directories; + static SDict dirRelations; + static ParserManager *parserManager; + static bool suppressDocWarnings; + static ObjCache *symbolCache; + static Store *symbolStorage; + static QCString objDBFileName; + static QCString entryDBFileName; + static bool gatherDefines; + static bool userComments; + static IndexList indexList; + static int subpageNestingLevel; + static QCString spaces; +}; + +void initDoxygen(); +void readConfiguration(int argc, char **argv); +void checkConfiguration(); +void adjustConfiguration(); +void searchInputFiles(StringList &inputFiles); +void parseInput(); +void generateOutput(); +void readAliases(); +void readFormulaRepository(); +int readFileOrDirectory(const char *s, + FileNameList *fnList, + FileNameDict *fnDict, + StringDict *exclDict, + QStrList *patList, + QStrList *exclPatList, + StringList *resultList, + StringDict *resultDict, + bool recursive, + bool errorIfNotExist=TRUE, + QDict *killDict = 0 + ); +int readDir(QFileInfo *fi, + FileNameList *fnList, + FileNameDict *fnDict, + StringDict *exclDict, + QStrList *patList, + QStrList *exclPatList, + StringList *resultList, + StringDict *resultDict, + bool errorIfNotExist, + bool recursive, + QDict *killDict + ); +void copyAndFilterFile(const char *fileName,BufStr &dest); + +#define NEWMATCH + +#endif