|
Packit |
1c1d7e |
/******************************************************************************
|
|
Packit |
1c1d7e |
*
|
|
Packit |
1c1d7e |
* Copyright (C) 1997-2015 by Dimitri van Heesch.
|
|
Packit |
1c1d7e |
*
|
|
Packit |
1c1d7e |
* Permission to use, copy, modify, and distribute this software and its
|
|
Packit |
1c1d7e |
* documentation under the terms of the GNU General Public License is hereby
|
|
Packit |
1c1d7e |
* granted. No representations are made about the suitability of this software
|
|
Packit |
1c1d7e |
* for any purpose. It is provided "as is" without express or implied warranty.
|
|
Packit |
1c1d7e |
* See the GNU General Public License for more details.
|
|
Packit |
1c1d7e |
*
|
|
Packit |
1c1d7e |
* Documents produced by Doxygen are derivative works derived from the
|
|
Packit |
1c1d7e |
* input used in their production; they are not affected by this license.
|
|
Packit |
1c1d7e |
*
|
|
Packit |
1c1d7e |
*/
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
#ifndef DOXYGEN_H
|
|
Packit |
1c1d7e |
#define DOXYGEN_H
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
#include <qdatetime.h>
|
|
Packit |
1c1d7e |
#include <qcache.h>
|
|
Packit |
1c1d7e |
#include <qstrlist.h>
|
|
Packit |
1c1d7e |
#include <qdict.h>
|
|
Packit |
1c1d7e |
#include <qintdict.h>
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
#include "ftextstream.h"
|
|
Packit |
1c1d7e |
#include "sortdict.h"
|
|
Packit |
1c1d7e |
#include "membergroup.h"
|
|
Packit |
1c1d7e |
#include "dirdef.h"
|
|
Packit |
1c1d7e |
#include "memberlist.h"
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
class RefList;
|
|
Packit |
1c1d7e |
class PageSList;
|
|
Packit |
1c1d7e |
class PageSDict;
|
|
Packit |
1c1d7e |
class PageDef;
|
|
Packit |
1c1d7e |
class SearchIndexIntf;
|
|
Packit |
1c1d7e |
class ParserManager;
|
|
Packit |
1c1d7e |
class ObjCache;
|
|
Packit |
1c1d7e |
class Store;
|
|
Packit |
1c1d7e |
class QFileInfo;
|
|
Packit |
1c1d7e |
class BufStr;
|
|
Packit |
1c1d7e |
class CiteDict;
|
|
Packit |
1c1d7e |
class MemberDef;
|
|
Packit |
1c1d7e |
class GroupDef;
|
|
Packit |
1c1d7e |
class GroupSDict;
|
|
Packit |
1c1d7e |
class FileDef;
|
|
Packit |
1c1d7e |
class ClassDef;
|
|
Packit |
1c1d7e |
class ClassSDict;
|
|
Packit |
1c1d7e |
class GenericsSDict;
|
|
Packit |
1c1d7e |
class MemberNameSDict;
|
|
Packit |
1c1d7e |
class FileNameDict;
|
|
Packit |
1c1d7e |
class FileNameList;
|
|
Packit |
1c1d7e |
class NamespaceSDict;
|
|
Packit |
1c1d7e |
class NamespaceDef;
|
|
Packit |
1c1d7e |
class DefinitionIntf;
|
|
Packit |
1c1d7e |
class DirSDict;
|
|
Packit |
1c1d7e |
class DirRelation;
|
|
Packit |
1c1d7e |
class IndexList;
|
|
Packit |
1c1d7e |
class FormulaList;
|
|
Packit |
1c1d7e |
class FormulaDict;
|
|
Packit |
1c1d7e |
class FormulaNameDict;
|
|
Packit |
1c1d7e |
class SectionDict;
|
|
Packit |
1c1d7e |
struct MemberGroupInfo;
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
typedef QList<QCString> StringList;
|
|
Packit |
1c1d7e |
typedef QListIterator<QCString> StringListIterator;
|
|
Packit |
1c1d7e |
//typedef QDict<FileDef> FileDict;
|
|
Packit |
1c1d7e |
//typedef QDict<GroupDef> GroupDict;
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
class StringDict : public QDict<QCString>
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
public:
|
|
Packit |
1c1d7e |
StringDict(uint size=17) : QDict<QCString>(size) {}
|
|
Packit |
1c1d7e |
virtual ~StringDict() {}
|
|
Packit |
1c1d7e |
};
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
struct LookupInfo
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
LookupInfo() : classDef(0), typeDef(0) {}
|
|
Packit |
1c1d7e |
LookupInfo(ClassDef *cd,MemberDef *td,QCString ts,QCString rt)
|
|
Packit |
1c1d7e |
: classDef(cd), typeDef(td), templSpec(ts),resolvedType(rt) {}
|
|
Packit |
1c1d7e |
ClassDef *classDef;
|
|
Packit |
1c1d7e |
MemberDef *typeDef;
|
|
Packit |
1c1d7e |
QCString templSpec;
|
|
Packit |
1c1d7e |
QCString resolvedType;
|
|
Packit |
1c1d7e |
};
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
extern QCString g_spaces;
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
/*! \brief This class serves as a namespace for global variables used by doxygen.
|
|
Packit |
1c1d7e |
*
|
|
Packit |
1c1d7e |
* All fields in this class are public and static, so they can be used directly.
|
|
Packit |
1c1d7e |
*/
|
|
Packit |
1c1d7e |
class Doxygen
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
public:
|
|
Packit |
1c1d7e |
static ClassSDict *classSDict;
|
|
Packit |
1c1d7e |
static ClassSDict *hiddenClasses;
|
|
Packit |
1c1d7e |
static PageSDict *exampleSDict;
|
|
Packit |
1c1d7e |
static PageSDict *pageSDict;
|
|
Packit |
1c1d7e |
static PageDef *mainPage;
|
|
Packit |
1c1d7e |
static bool insideMainPage;
|
|
Packit |
1c1d7e |
static FileNameDict *includeNameDict;
|
|
Packit |
1c1d7e |
static FileNameDict *exampleNameDict;
|
|
Packit |
1c1d7e |
static QDict<void> inputPaths;
|
|
Packit |
1c1d7e |
static FileNameDict *inputNameDict;
|
|
Packit |
1c1d7e |
static FileNameList *inputNameList;
|
|
Packit |
1c1d7e |
static FileNameDict *imageNameDict;
|
|
Packit |
1c1d7e |
static FileNameDict *dotFileNameDict;
|
|
Packit |
1c1d7e |
static FileNameDict *mscFileNameDict;
|
|
Packit |
1c1d7e |
static FileNameDict *diaFileNameDict;
|
|
Packit |
1c1d7e |
static QStrList tagfileList;
|
|
Packit |
1c1d7e |
static MemberNameSDict *memberNameSDict;
|
|
Packit |
1c1d7e |
static MemberNameSDict *functionNameSDict;
|
|
Packit |
1c1d7e |
static SectionDict *sectionDict;
|
|
Packit |
1c1d7e |
static StringDict namespaceAliasDict;
|
|
Packit |
1c1d7e |
static GroupSDict *groupSDict;
|
|
Packit |
1c1d7e |
static NamespaceSDict *namespaceSDict;
|
|
Packit |
1c1d7e |
static FormulaList *formulaList;
|
|
Packit |
1c1d7e |
static FormulaDict *formulaDict;
|
|
Packit |
1c1d7e |
static FormulaDict *formulaNameDict;
|
|
Packit |
1c1d7e |
static StringDict tagDestinationDict;
|
|
Packit |
1c1d7e |
static StringDict aliasDict;
|
|
Packit |
1c1d7e |
static QIntDict<MemberGroupInfo> memGrpInfoDict;
|
|
Packit |
1c1d7e |
static QDict<void> expandAsDefinedDict;
|
|
Packit |
1c1d7e |
static NamespaceDef *globalScope;
|
|
Packit |
1c1d7e |
static QDict<RefList> *xrefLists; // array of xref lists: todo, test, bug, deprecated ...
|
|
Packit |
1c1d7e |
static QCString htmlFileExtension;
|
|
Packit |
1c1d7e |
static bool parseSourcesNeeded;
|
|
Packit |
1c1d7e |
static QTime runningTime;
|
|
Packit |
1c1d7e |
static SearchIndexIntf *searchIndex;
|
|
Packit |
1c1d7e |
static QDict<DefinitionIntf> *symbolMap;
|
|
Packit |
1c1d7e |
static QDict<Definition> *clangUsrMap;
|
|
Packit |
1c1d7e |
static bool outputToWizard;
|
|
Packit |
1c1d7e |
static QDict<int> *htmlDirMap;
|
|
Packit |
1c1d7e |
static QCache<LookupInfo> *lookupCache;
|
|
Packit |
1c1d7e |
static DirSDict *directories;
|
|
Packit |
1c1d7e |
static SDict<DirRelation> dirRelations;
|
|
Packit |
1c1d7e |
static ParserManager *parserManager;
|
|
Packit |
1c1d7e |
static bool suppressDocWarnings;
|
|
Packit |
1c1d7e |
static Store *symbolStorage;
|
|
Packit |
1c1d7e |
static QCString objDBFileName;
|
|
Packit |
1c1d7e |
static QCString entryDBFileName;
|
|
Packit |
1c1d7e |
static CiteDict *citeDict;
|
|
Packit |
1c1d7e |
static bool gatherDefines;
|
|
Packit |
1c1d7e |
static bool userComments;
|
|
Packit |
1c1d7e |
static IndexList *indexList;
|
|
Packit |
1c1d7e |
static int subpageNestingLevel;
|
|
Packit |
1c1d7e |
static QCString spaces;
|
|
Packit |
1c1d7e |
static bool generatingXmlOutput;
|
|
Packit |
1c1d7e |
static bool markdownSupport;
|
|
Packit |
1c1d7e |
static GenericsSDict *genericsDict;
|
|
Packit |
1c1d7e |
};
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void initDoxygen();
|
|
Packit |
1c1d7e |
void readConfiguration(int argc, char **argv);
|
|
Packit |
1c1d7e |
void checkConfiguration();
|
|
Packit |
1c1d7e |
void adjustConfiguration();
|
|
Packit |
1c1d7e |
void searchInputFiles(StringList &inputFiles);
|
|
Packit |
1c1d7e |
void parseInput();
|
|
Packit |
1c1d7e |
void generateOutput();
|
|
Packit |
1c1d7e |
void readAliases();
|
|
Packit |
1c1d7e |
void readFormulaRepository();
|
|
Packit |
1c1d7e |
void cleanUpDoxygen();
|
|
Packit |
1c1d7e |
int readFileOrDirectory(const char *s,
|
|
Packit |
1c1d7e |
FileNameList *fnList,
|
|
Packit |
1c1d7e |
FileNameDict *fnDict,
|
|
Packit |
1c1d7e |
StringDict *exclDict,
|
|
Packit |
1c1d7e |
QStrList *patList,
|
|
Packit |
1c1d7e |
QStrList *exclPatList,
|
|
Packit |
1c1d7e |
StringList *resultList,
|
|
Packit |
1c1d7e |
StringDict *resultDict,
|
|
Packit |
1c1d7e |
bool recursive,
|
|
Packit |
1c1d7e |
bool errorIfNotExist=TRUE,
|
|
Packit |
1c1d7e |
QDict<void> *killDict = 0,
|
|
Packit |
1c1d7e |
QDict<void> *paths = 0
|
|
Packit |
1c1d7e |
);
|
|
Packit |
1c1d7e |
int readDir(QFileInfo *fi,
|
|
Packit |
1c1d7e |
FileNameList *fnList,
|
|
Packit |
1c1d7e |
FileNameDict *fnDict,
|
|
Packit |
1c1d7e |
StringDict *exclDict,
|
|
Packit |
1c1d7e |
QStrList *patList,
|
|
Packit |
1c1d7e |
QStrList *exclPatList,
|
|
Packit |
1c1d7e |
StringList *resultList,
|
|
Packit |
1c1d7e |
StringDict *resultDict,
|
|
Packit |
1c1d7e |
bool errorIfNotExist,
|
|
Packit |
1c1d7e |
bool recursive,
|
|
Packit |
1c1d7e |
QDict<void> *killDict
|
|
Packit |
1c1d7e |
);
|
|
Packit |
1c1d7e |
void copyAndFilterFile(const char *fileName,BufStr &dest);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
#endif
|