Chameleon

Chameleon Svn Source Tree

Root/branches/xZenu/src/util/doxygen/src/doxygen.h

Source at commit 1322 created 12 years 8 months ago.
By meklort, Add doxygen to utils folder
1/******************************************************************************
2 *
3 * $Id: doxygen.h,v 1.39 2001/03/19 19:27:40 root Exp $
4 *
5 *
6 * Copyright (C) 1997-2011 by Dimitri van Heesch.
7 *
8 * Permission to use, copy, modify, and distribute this software and its
9 * documentation under the terms of the GNU General Public License is hereby
10 * granted. No representations are made about the suitability of this software
11 * for any purpose. It is provided "as is" without express or implied warranty.
12 * See the GNU General Public License for more details.
13 *
14 * Documents produced by Doxygen are derivative works derived from the
15 * input used in their production; they are not affected by this license.
16 *
17 */
18
19#ifndef DOXYGEN_H
20#define DOXYGEN_H
21
22#include "qtbc.h"
23#include <qdatetime.h>
24#include <qcache.h>
25#include "ftextstream.h"
26#include "groupdef.h"
27#include "filedef.h"
28#include "classdef.h"
29#include "memberdef.h"
30#include "classlist.h"
31#include "membername.h"
32#include "filename.h"
33#include "namespacedef.h"
34#include "formula.h"
35#include "section.h"
36#include "membergroup.h"
37#include "reflist.h"
38#include "dirdef.h"
39#include "index.h"
40#include "docsets.h"
41
42class PageSList;
43class PageSDict;
44class PageDef;
45class SearchIndex;
46class ParserManager;
47class ObjCache;
48class Store;
49class QFileInfo;
50class BufStr;
51
52typedef QList<QCString> StringList;
53typedef QDict<FileDef> FileDict;
54typedef QDict<GroupDef> GroupDict;
55
56class StringDict : public QDict<QCString>
57{
58 public:
59 StringDict(uint size=17) : QDict<QCString>(size) {}
60 virtual ~StringDict() {}
61};
62
63struct LookupInfo
64{
65 LookupInfo() : classDef(0), typeDef(0) {}
66 LookupInfo(ClassDef *cd,MemberDef *td,QCString ts,QCString rt)
67 : classDef(cd), typeDef(td), templSpec(ts),resolvedType(rt) {}
68 ClassDef *classDef;
69 MemberDef *typeDef;
70 QCString templSpec;
71 QCString resolvedType;
72};
73
74extern QCString g_spaces;
75
76/*! \brief This class serves as a namespace for global variables used by doxygen.
77 *
78 * All fields in this class are public and static, so they can be used directly.
79 */
80class Doxygen
81{
82 public:
83 static ClassSDict *classSDict;
84 static ClassSDict *hiddenClasses;
85 static PageSDict *exampleSDict;
86 static PageSDict *pageSDict;
87 static PageDef *mainPage;
88 static bool insideMainPage;
89 static FileNameDict *includeNameDict;
90 static FileNameDict *exampleNameDict;
91 static FileNameDict *inputNameDict;
92 static FileNameList *inputNameList;
93 static FileNameDict *imageNameDict;
94 static FileNameDict *dotFileNameDict;
95 static FileNameDict *mscFileNameDict;
96 static QStrList tagfileList;
97 static MemberNameSDict *memberNameSDict;
98 static MemberNameSDict *functionNameSDict;
99 static FTextStream tagFile;
100 static SectionDict sectionDict;
101 static StringDict namespaceAliasDict;
102 static GroupSDict *groupSDict;
103 static NamespaceSDict *namespaceSDict;
104 static FormulaList formulaList;
105 static FormulaDict formulaDict;
106 static FormulaDict formulaNameDict;
107 static StringDict tagDestinationDict;
108 static StringDict aliasDict;
109 static QIntDict<MemberGroupInfo> memGrpInfoDict;
110 static QDict<void> expandAsDefinedDict;
111 static NamespaceDef *globalScope;
112 static QDict<RefList> *xrefLists; // array of xref lists: todo, test, bug, deprecated ...
113 static QCString htmlFileExtension;
114 static bool parseSourcesNeeded;
115 static QTime runningTime;
116 static SearchIndex *searchIndex;
117 static QDict<DefinitionIntf> *symbolMap;
118 static bool outputToWizard;
119 static QDict<int> *htmlDirMap;
120 static QCache<LookupInfo> lookupCache;
121 static DirSDict *directories;
122 static SDict<DirRelation> dirRelations;
123 static ParserManager *parserManager;
124 static bool suppressDocWarnings;
125 static ObjCache *symbolCache;
126 static Store *symbolStorage;
127 static QCString objDBFileName;
128 static QCString entryDBFileName;
129 static bool gatherDefines;
130 static bool userComments;
131 static IndexList indexList;
132 static int subpageNestingLevel;
133 static QCString spaces;
134};
135
136void initDoxygen();
137void readConfiguration(int argc, char **argv);
138void checkConfiguration();
139void adjustConfiguration();
140void searchInputFiles(StringList &inputFiles);
141void parseInput();
142void generateOutput();
143void readAliases();
144void readFormulaRepository();
145int readFileOrDirectory(const char *s,
146 FileNameList *fnList,
147 FileNameDict *fnDict,
148 StringDict *exclDict,
149 QStrList *patList,
150 QStrList *exclPatList,
151 StringList *resultList,
152 StringDict *resultDict,
153 bool recursive,
154 bool errorIfNotExist=TRUE,
155 QDict<void> *killDict = 0
156 );
157int readDir(QFileInfo *fi,
158 FileNameList *fnList,
159 FileNameDict *fnDict,
160 StringDict *exclDict,
161 QStrList *patList,
162 QStrList *exclPatList,
163 StringList *resultList,
164 StringDict *resultDict,
165 bool errorIfNotExist,
166 bool recursive,
167 QDict<void> *killDict
168 );
169void copyAndFilterFile(const char *fileName,BufStr &dest);
170
171#define NEWMATCH
172
173#endif
174

Archive Download this file

Revision: 1322