My Project
Main Page
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
doxygen.h
Go to the documentation of this file.
1
/******************************************************************************
2
*
3
* Copyright (C) 1997-2015 by Dimitri van Heesch.
4
*
5
* Permission to use, copy, modify, and distribute this software and its
6
* documentation under the terms of the GNU General Public License is hereby
7
* granted. No representations are made about the suitability of this software
8
* for any purpose. It is provided "as is" without express or implied warranty.
9
* See the GNU General Public License for more details.
10
*
11
* Documents produced by Doxygen are derivative works derived from the
12
* input used in their production; they are not affected by this license.
13
*
14
*/
15
16
#ifndef DOXYGEN_H
17
#define DOXYGEN_H
18
19
#include <qdatetime.h>
20
#include <qcache.h>
21
#include <qstrlist.h>
22
#include <qdict.h>
23
#include <qintdict.h>
24
25
#include "
ftextstream.h
"
26
#include "
sortdict.h
"
27
#include "
membergroup.h
"
28
#include "
dirdef.h
"
29
#include "
memberlist.h
"
30
31
class
RefList
;
32
class
PageSList;
33
class
PageSDict
;
34
class
PageDef
;
35
class
SearchIndexIntf
;
36
class
ParserManager
;
37
class
ObjCache
;
38
class
Store
;
39
class
QFileInfo;
40
class
BufStr
;
41
class
CiteDict
;
42
class
MemberDef
;
43
class
GroupDef
;
44
class
GroupSDict
;
45
class
FileDef
;
46
class
ClassDef
;
47
class
ClassSDict
;
48
class
GenericsSDict
;
49
class
MemberNameSDict
;
50
class
FileNameDict
;
51
class
FileNameList
;
52
class
NamespaceSDict
;
53
class
NamespaceDef
;
54
class
DefinitionIntf
;
55
class
DirSDict
;
56
class
DirRelation
;
57
class
IndexList
;
58
class
FormulaList
;
59
class
FormulaDict
;
60
class
FormulaNameDict;
61
class
SectionDict
;
62
struct
MemberGroupInfo
;
63
64
typedef
QList<QCString>
StringList
;
65
typedef
QListIterator<QCString>
StringListIterator
;
66
//typedef QDict<FileDef> FileDict;
67
//typedef QDict<GroupDef> GroupDict;
68
69
class
StringDict
:
public
QDict<QCString>
70
{
71
public
:
72
StringDict
(uint size=17) : QDict<QCString>(size) {}
73
virtual
~StringDict
() {}
74
};
75
76
struct
LookupInfo
77
{
78
LookupInfo
() :
classDef
(0),
typeDef
(0) {}
79
LookupInfo
(
ClassDef
*cd,
MemberDef
*td,QCString ts,QCString rt)
80
:
classDef
(cd),
typeDef
(td),
templSpec
(ts),
resolvedType
(rt) {}
81
ClassDef
*
classDef
;
82
MemberDef
*
typeDef
;
83
QCString
templSpec
;
84
QCString
resolvedType
;
85
};
86
87
extern
QCString
g_spaces
;
88
93
class
Doxygen
94
{
95
public
:
96
static
ClassSDict
*
classSDict
;
97
static
ClassSDict
*
hiddenClasses
;
98
static
PageSDict
*
exampleSDict
;
99
static
PageSDict
*
pageSDict
;
100
static
PageDef
*
mainPage
;
101
static
bool
insideMainPage
;
102
static
FileNameDict
*
includeNameDict
;
103
static
FileNameDict
*
exampleNameDict
;
104
static
QDict<void>
inputPaths
;
105
static
FileNameDict
*
inputNameDict
;
106
static
FileNameList
*
inputNameList
;
107
static
FileNameDict
*
imageNameDict
;
108
static
FileNameDict
*
dotFileNameDict
;
109
static
FileNameDict
*
mscFileNameDict
;
110
static
FileNameDict
*
diaFileNameDict
;
111
static
QStrList
tagfileList
;
112
static
MemberNameSDict
*
memberNameSDict
;
113
static
MemberNameSDict
*
functionNameSDict
;
114
static
SectionDict
*
sectionDict
;
115
static
StringDict
namespaceAliasDict
;
116
static
GroupSDict
*
groupSDict
;
117
static
NamespaceSDict
*
namespaceSDict
;
118
static
FormulaList
*
formulaList
;
119
static
FormulaDict
*
formulaDict
;
120
static
FormulaDict
*
formulaNameDict
;
121
static
StringDict
tagDestinationDict
;
122
static
StringDict
aliasDict
;
123
static
QIntDict<MemberGroupInfo>
memGrpInfoDict
;
124
static
QDict<void>
expandAsDefinedDict
;
125
static
NamespaceDef
*
globalScope
;
126
static
QDict<RefList> *
xrefLists
;
// array of xref lists: todo, test, bug, deprecated ...
127
static
QCString
htmlFileExtension
;
128
static
bool
parseSourcesNeeded
;
129
static
QTime
runningTime
;
130
static
SearchIndexIntf
*
searchIndex
;
131
static
QDict<DefinitionIntf> *
symbolMap
;
132
static
QDict<Definition> *
clangUsrMap
;
133
static
bool
outputToWizard
;
134
static
QDict<int> *
htmlDirMap
;
135
static
QCache<LookupInfo> *
lookupCache
;
136
static
DirSDict
*
directories
;
137
static
SDict<DirRelation>
dirRelations
;
138
static
ParserManager
*
parserManager
;
139
static
bool
suppressDocWarnings
;
140
static
Store
*
symbolStorage
;
141
static
QCString
objDBFileName
;
142
static
QCString
entryDBFileName
;
143
static
CiteDict
*
citeDict
;
144
static
bool
gatherDefines
;
145
static
bool
userComments
;
146
static
IndexList
*
indexList
;
147
static
int
subpageNestingLevel
;
148
static
QCString
spaces
;
149
static
bool
generatingXmlOutput
;
150
static
bool
markdownSupport
;
151
static
GenericsSDict
*
genericsDict
;
152
};
153
154
void
initDoxygen
();
155
void
readConfiguration
(
int
argc,
char
**argv);
156
void
checkConfiguration
();
157
void
adjustConfiguration
();
158
void
searchInputFiles
(
StringList
&inputFiles);
159
void
parseInput
();
160
void
generateOutput
();
161
void
readAliases
();
162
void
readFormulaRepository
();
163
void
cleanUpDoxygen
();
164
int
readFileOrDirectory
(
const
char
*s,
165
FileNameList
*fnList,
166
FileNameDict
*fnDict,
167
StringDict
*exclDict,
168
QStrList *patList,
169
QStrList *exclPatList,
170
StringList
*resultList,
171
StringDict
*resultDict,
172
bool
recursive,
173
bool
errorIfNotExist=TRUE,
174
QDict<void> *killDict = 0,
175
QDict<void> *paths = 0
176
);
177
int
readDir
(QFileInfo *fi,
178
FileNameList
*fnList,
179
FileNameDict
*fnDict,
180
StringDict
*exclDict,
181
QStrList *patList,
182
QStrList *exclPatList,
183
StringList
*resultList,
184
StringDict
*resultDict,
185
bool
errorIfNotExist,
186
bool
recursive,
187
QDict<void> *killDict
188
);
189
void
copyAndFilterFile
(
const
char
*fileName,
BufStr
&dest);
190
191
#endif