Merge lp:~thomas-voss/xorg-gtest/Doxygen into lp:~chasedouglas/xorg-gtest/fixes

Proposed by Thomas Voß
Status: Superseded
Proposed branch: lp:~thomas-voss/xorg-gtest/Doxygen
Merge into: lp:~chasedouglas/xorg-gtest/fixes
Diff against target: 2125 lines (+1964/-15)
9 files modified
Makefile.am (+2/-0)
configure.ac (+2/-0)
doc/Doxyfile (+1720/-0)
doc/Makefile.am (+49/-0)
include/xorg/gtest/environment.h (+51/-7)
include/xorg/gtest/process.h (+89/-3)
include/xorg/gtest/test.h (+29/-4)
src/process.cpp (+21/-0)
src/test.cpp (+1/-1)
To merge this branch: bzr merge lp:~thomas-voss/xorg-gtest/Doxygen
Reviewer Review Type Date Requested Status
Chase Douglas Pending
Review via email: mp+85088@code.launchpad.net

This proposal has been superseded by a proposal from 2011-12-12.

Description of the change

Added doxygen documentation and adjusted file headers.

To post a comment you must log in.
Revision history for this message
Chase Douglas (chasedouglas) wrote :

It's a good start, but it's missing quite a bit:

* There's no Doxyfile or additions to the Makefiles to create and install the documentation

* Each object should have a description of what it is, at least enough so people familiar enough with gtest can figure it out. For example, Environment (the class) should have a brief line stating that it is a global gtest environment, and then a full description of what the class does.

I think some of these issues will become apparent when Doxygen is run and you view the generated documentation. I don't think the documentation here would be enough for people to understand how to use it without looking at the headers.

Other items:

* Environment::SetUp and TearDown documentation should make it clear that the functions should only be called by subclasses of Environment. We don't want people to think they need to call the functions themselves, even if they should know that already :).

* The variadic Process::Start documentation is missing documentation for the variadic arguments. Its documentation is also indented too far.

* Test::SetUp used to assert, but I pushed a fix so it would throw an exception instead. gtest catches exceptions so they are handled as failures, so this should not change the default functionality. However, throwing an exception is consistent with other routines and allows the user to catch it themselves. In summary, the documentation needs to be fixed to state exception throwing instead of failure asserting.

* Test::TearDown documentation says: "Closes the display if not NULL." What could be NULL? I think it just needs to say "Closes the display connection."

* I think the "brief" command clutters the documentation in the sources. I would rather use the Doxygen option that assumes the first paragraph of a comment is the brief section, and the rest is the detailed section.

* I prefer not using abbreviations for words. Non-native speakers may not be able to understand "feat." or "c'tor".

* Documenting a constructor as "Constructor" is a bit repetitive :). A better brief description would be something like "Constructs an object to provide a global X server dummy environment". This may repeat other documentation elsewhere, but that's ok.

Thanks!

lp:~thomas-voss/xorg-gtest/Doxygen updated
29. By Thomas Voß

Added: Additional doxygen documentation and adjusted build setup to include docs.

30. By Thomas Voß

Fixed whitespace issue.

Revision history for this message
Thomas Voß (thomas-voss) wrote :

> It's a good start, but it's missing quite a bit:
>
> * There's no Doxyfile or additions to the Makefiles to create and install the
> documentation
>

Done.

> * Each object should have a description of what it is, at least enough so
> people familiar enough with gtest can figure it out. For example, Environment
> (the class) should have a brief line stating that it is a global gtest
> environment, and then a full description of what the class does.
>

Done.

> I think some of these issues will become apparent when Doxygen is run and you
> view the generated documentation. I don't think the documentation here would
> be enough for people to understand how to use it without looking at the
> headers.
>
> Other items:
>
> * Environment::SetUp and TearDown documentation should make it clear that the
> functions should only be called by subclasses of Environment. We don't want
> people to think they need to call the functions themselves, even if they
> should know that already :).
>

Done. But I think we should change the methods' visibility to protected then.

> * The variadic Process::Start documentation is missing documentation for the
> variadic arguments. Its documentation is also indented too far.
>

Worked on this point.

> * Test::SetUp used to assert, but I pushed a fix so it would throw an
> exception instead. gtest catches exceptions so they are handled as failures,
> so this should not change the default functionality. However, throwing an
> exception is consistent with other routines and allows the user to catch it
> themselves. In summary, the documentation needs to be fixed to state exception
> throwing instead of failure asserting.
>

Fixed.

> * Test::TearDown documentation says: "Closes the display if not NULL." What
> could be NULL? I think it just needs to say "Closes the display connection."
>

Done.

> * I think the "brief" command clutters the documentation in the sources. I
> would rather use the Doxygen option that assumes the first paragraph of a
> comment is the brief section, and the rest is the detailed section.
>

Done.

> * I prefer not using abbreviations for words. Non-native speakers may not be
> able to understand "feat." or "c'tor".
>

Done.

> * Documenting a constructor as "Constructor" is a bit repetitive :). A better
> brief description would be something like "Constructs an object to provide a
> global X server dummy environment". This may repeat other documentation
> elsewhere, but that's ok.
>

Done.

> Thanks!

lp:~thomas-voss/xorg-gtest/Doxygen updated
31. By Thomas Voß

Referenced manpage of execvp in documentation.

32. By Thomas Voß

Prevent from linking Test in Google Test. Set HIDE_SCOPE_NAMES to NO.

33. By Thomas Voß

Adjusted documentation according to review. Switched to std::string for environment query/adjustment in Process.

34. By Thomas Voß

Modified Process::Terminate and Process::Kill to reset process identifier. Adjusted documentation.

35. By Thomas Voß

Fixed typo in test.h.

36. By Thomas Voß

Adjusted signature of Process::GetEnv. Adjusted documentation.

37. By Thomas Voß

Introduced examples. Added virtual d'tors to xorg::testing::Environment and xorg::testing::Test.

Unmerged revisions

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'Makefile.am'
--- Makefile.am 2011-12-07 22:46:28 +0000
+++ Makefile.am 2011-12-12 08:48:26 +0000
@@ -1,3 +1,5 @@
1SUBDIRS = doc
2
1lib_LTLIBRARIES = libxorg-gtest.la libxorg-gtest_main.la3lib_LTLIBRARIES = libxorg-gtest.la libxorg-gtest_main.la
24
3libxorg_gtest_la_SOURCES = \5libxorg_gtest_la_SOURCES = \
46
=== modified file 'configure.ac'
--- configure.ac 2011-12-06 00:25:36 +0000
+++ configure.ac 2011-12-12 08:48:26 +0000
@@ -43,4 +43,6 @@
43 43
44AC_SUBST(AM_CPPFLAGS, "-Wall -Werror")44AC_SUBST(AM_CPPFLAGS, "-Wall -Werror")
4545
46AC_CONFIG_FILES([doc/Makefile])
47
46AC_OUTPUT48AC_OUTPUT
4749
=== added directory 'doc'
=== added file 'doc/Doxyfile'
--- doc/Doxyfile 1970-01-01 00:00:00 +0000
+++ doc/Doxyfile 2011-12-12 08:48:26 +0000
@@ -0,0 +1,1720 @@
1# Doxyfile 1.7.3
2
3# This file describes the settings to be used by the documentation system
4# doxygen (www.doxygen.org) for a project
5#
6# All text after a hash (#) is considered a comment and will be ignored
7# The format is:
8# TAG = value [value, ...]
9# For lists items can also be appended using:
10# TAG += value [value, ...]
11# Values that contain spaces should be placed between quotes (" ")
12
13#---------------------------------------------------------------------------
14# Project related configuration options
15#---------------------------------------------------------------------------
16
17# This tag specifies the encoding used for all characters in the config file
18# that follow. The default is UTF-8 which is also the encoding used for all
19# text before the first occurrence of this tag. Doxygen uses libiconv (or the
20# iconv built into libc) for the transcoding. See
21# http://www.gnu.org/software/libiconv for the list of possible encodings.
22
23DOXYFILE_ENCODING = UTF-8
24
25# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
26# by quotes) that should identify the project.
27
28PROJECT_NAME = xorg-gtest
29
30# The PROJECT_NUMBER tag can be used to enter a project or revision number.
31# This could be handy for archiving the generated documentation or
32# if some version control system is used.
33
34PROJECT_NUMBER = 0.1
35
36# Using the PROJECT_BRIEF tag one can provide an optional one line description
37# for a project that appears at the top of each page and should give viewer
38# a quick idea about the purpose of the project. Keep the description short.
39
40PROJECT_BRIEF = "Xorg testing extension to Google Test"
41
42# With the PROJECT_LOGO tag one can specify an logo or icon that is
43# included in the documentation. The maximum height of the logo should not
44# exceed 55 pixels and the maximum width should not exceed 200 pixels.
45# Doxygen will copy the logo to the output directory.
46
47PROJECT_LOGO =
48
49# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
50# base path where the generated documentation will be put.
51# If a relative path is entered, it will be relative to the location
52# where doxygen was started. If left blank the current directory will be used.
53
54OUTPUT_DIRECTORY = api
55
56# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create
57# 4096 sub-directories (in 2 levels) under the output directory of each output
58# format and will distribute the generated files over these directories.
59# Enabling this option can be useful when feeding doxygen a huge amount of
60# source files, where putting all generated files in the same directory would
61# otherwise cause performance problems for the file system.
62
63CREATE_SUBDIRS = NO
64
65# The OUTPUT_LANGUAGE tag is used to specify the language in which all
66# documentation generated by doxygen is written. Doxygen will use this
67# information to generate all constant output in the proper language.
68# The default language is English, other supported languages are:
69# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional,
70# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German,
71# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English
72# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian,
73# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrillic, Slovak,
74# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese.
75
76OUTPUT_LANGUAGE = English
77
78# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
79# include brief member descriptions after the members that are listed in
80# the file and class documentation (similar to JavaDoc).
81# Set to NO to disable this.
82
83BRIEF_MEMBER_DESC = YES
84
85# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
86# the brief description of a member or function before the detailed description.
87# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
88# brief descriptions will be completely suppressed.
89
90REPEAT_BRIEF = YES
91
92# This tag implements a quasi-intelligent brief description abbreviator
93# that is used to form the text in various listings. Each string
94# in this list, if found as the leading text of the brief description, will be
95# stripped from the text and the result after processing the whole list, is
96# used as the annotated text. Otherwise, the brief description is used as-is.
97# If left blank, the following values are used ("$name" is automatically
98# replaced with the name of the entity): "The $name class" "The $name widget"
99# "The $name file" "is" "provides" "specifies" "contains"
100# "represents" "a" "an" "the"
101
102ABBREVIATE_BRIEF = "The $name class" \
103 "The $name widget" \
104 "The $name file" \
105 is \
106 provides \
107 specifies \
108 contains \
109 represents \
110 a \
111 an \
112 the
113
114# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
115# Doxygen will generate a detailed section even if there is only a brief
116# description.
117
118ALWAYS_DETAILED_SEC = YES
119
120# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
121# inherited members of a class in the documentation of that class as if those
122# members were ordinary class members. Constructors, destructors and assignment
123# operators of the base classes will not be shown.
124
125INLINE_INHERITED_MEMB = NO
126
127# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
128# path before files name in the file list and in the header files. If set
129# to NO the shortest path that makes the file name unique will be used.
130
131FULL_PATH_NAMES = YES
132
133# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
134# can be used to strip a user-defined part of the path. Stripping is
135# only done if one of the specified strings matches the left-hand part of
136# the path. The tag can be used to show relative paths in the file list.
137# If left blank the directory from which doxygen is run is used as the
138# path to strip.
139
140STRIP_FROM_PATH =
141
142# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of
143# the path mentioned in the documentation of a class, which tells
144# the reader which header file to include in order to use a class.
145# If left blank only the name of the header file containing the class
146# definition is used. Otherwise one should specify the include paths that
147# are normally passed to the compiler using the -I flag.
148
149STRIP_FROM_INC_PATH =
150
151# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
152# (but less readable) file names. This can be useful if your file system
153# doesn't support long names like on DOS, Mac, or CD-ROM.
154
155SHORT_NAMES = NO
156
157# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
158# will interpret the first line (until the first dot) of a JavaDoc-style
159# comment as the brief description. If set to NO, the JavaDoc
160# comments will behave just like regular Qt-style comments
161# (thus requiring an explicit @brief command for a brief description.)
162
163JAVADOC_AUTOBRIEF = YES
164
165# If the QT_AUTOBRIEF tag is set to YES then Doxygen will
166# interpret the first line (until the first dot) of a Qt-style
167# comment as the brief description. If set to NO, the comments
168# will behave just like regular Qt-style comments (thus requiring
169# an explicit \brief command for a brief description.)
170
171QT_AUTOBRIEF = NO
172
173# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen
174# treat a multi-line C++ special comment block (i.e. a block of //! or ///
175# comments) as a brief description. This used to be the default behaviour.
176# The new default is to treat a multi-line C++ comment block as a detailed
177# description. Set this tag to YES if you prefer the old behaviour instead.
178
179MULTILINE_CPP_IS_BRIEF = NO
180
181# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
182# member inherits the documentation from any documented member that it
183# re-implements.
184
185INHERIT_DOCS = YES
186
187# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce
188# a new page for each member. If set to NO, the documentation of a member will
189# be part of the file/class/namespace that contains it.
190
191SEPARATE_MEMBER_PAGES = NO
192
193# The TAB_SIZE tag can be used to set the number of spaces in a tab.
194# Doxygen uses this value to replace tabs by spaces in code fragments.
195
196TAB_SIZE = 8
197
198# This tag can be used to specify a number of aliases that acts
199# as commands in the documentation. An alias has the form "name=value".
200# For example adding "sideeffect=\par Side Effects:\n" will allow you to
201# put the command \sideeffect (or @sideeffect) in the documentation, which
202# will result in a user-defined paragraph with heading "Side Effects:".
203# You can put \n's in the value part of an alias to insert newlines.
204
205ALIASES =
206
207# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C
208# sources only. Doxygen will then generate output that is more tailored for C.
209# For instance, some of the names that are used will be different. The list
210# of all members will be omitted, etc.
211
212OPTIMIZE_OUTPUT_FOR_C = NO
213
214# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java
215# sources only. Doxygen will then generate output that is more tailored for
216# Java. For instance, namespaces will be presented as packages, qualified
217# scopes will look different, etc.
218
219OPTIMIZE_OUTPUT_JAVA = NO
220
221# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran
222# sources only. Doxygen will then generate output that is more tailored for
223# Fortran.
224
225OPTIMIZE_FOR_FORTRAN = NO
226
227# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL
228# sources. Doxygen will then generate output that is tailored for
229# VHDL.
230
231OPTIMIZE_OUTPUT_VHDL = NO
232
233# Doxygen selects the parser to use depending on the extension of the files it
234# parses. With this tag you can assign which parser to use for a given extension.
235# Doxygen has a built-in mapping, but you can override or extend it using this
236# tag. The format is ext=language, where ext is a file extension, and language
237# is one of the parsers supported by doxygen: IDL, Java, Javascript, CSharp, C,
238# C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, C++. For instance to make
239# doxygen treat .inc files as Fortran files (default is PHP), and .f files as C
240# (default is Fortran), use: inc=Fortran f=C. Note that for custom extensions
241# you also need to set FILE_PATTERNS otherwise the files are not read by doxygen.
242
243EXTENSION_MAPPING =
244
245# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
246# to include (a tag file for) the STL sources as input, then you should
247# set this tag to YES in order to let doxygen match functions declarations and
248# definitions whose arguments contain STL classes (e.g. func(std::string); v.s.
249# func(std::string) {}). This also makes the inheritance and collaboration
250# diagrams that involve STL classes more complete and accurate.
251
252BUILTIN_STL_SUPPORT = NO
253
254# If you use Microsoft's C++/CLI language, you should set this option to YES to
255# enable parsing support.
256
257CPP_CLI_SUPPORT = NO
258
259# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only.
260# Doxygen will parse them like normal C++ but will assume all classes use public
261# instead of private inheritance when no explicit protection keyword is present.
262
263SIP_SUPPORT = NO
264
265# For Microsoft's IDL there are propget and propput attributes to indicate getter
266# and setter methods for a property. Setting this option to YES (the default)
267# will make doxygen replace the get and set methods by a property in the
268# documentation. This will only work if the methods are indeed getting or
269# setting a simple type. If this is not the case, or you want to show the
270# methods anyway, you should set this option to NO.
271
272IDL_PROPERTY_SUPPORT = YES
273
274# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
275# tag is set to YES, then doxygen will reuse the documentation of the first
276# member in the group (if any) for the other members of the group. By default
277# all members of a group must be documented explicitly.
278
279DISTRIBUTE_GROUP_DOC = NO
280
281# Set the SUBGROUPING tag to YES (the default) to allow class member groups of
282# the same type (for instance a group of public functions) to be put as a
283# subgroup of that type (e.g. under the Public Functions section). Set it to
284# NO to prevent subgrouping. Alternatively, this can be done per class using
285# the \nosubgrouping command.
286
287SUBGROUPING = YES
288
289# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum
290# is documented as struct, union, or enum with the name of the typedef. So
291# typedef struct TypeS {} TypeT, will appear in the documentation as a struct
292# with name TypeT. When disabled the typedef will appear as a member of a file,
293# namespace, or class. And the struct will be named TypeS. This can typically
294# be useful for C code in case the coding convention dictates that all compound
295# types are typedef'ed and only the typedef is referenced, never the tag name.
296
297TYPEDEF_HIDES_STRUCT = NO
298
299# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to
300# determine which symbols to keep in memory and which to flush to disk.
301# When the cache is full, less often used symbols will be written to disk.
302# For small to medium size projects (<1000 input files) the default value is
303# probably good enough. For larger projects a too small cache size can cause
304# doxygen to be busy swapping symbols to and from disk most of the time
305# causing a significant performance penalty.
306# If the system has enough physical memory increasing the cache will improve the
307# performance by keeping more symbols in memory. Note that the value works on
308# a logarithmic scale so increasing the size by one will roughly double the
309# memory usage. The cache size is given by this formula:
310# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0,
311# corresponding to a cache size of 2^16 = 65536 symbols
312
313SYMBOL_CACHE_SIZE = 0
314
315#---------------------------------------------------------------------------
316# Build related configuration options
317#---------------------------------------------------------------------------
318
319# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
320# documentation are documented, even if no documentation was available.
321# Private class members and static file members will be hidden unless
322# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
323
324EXTRACT_ALL = NO
325
326# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
327# will be included in the documentation.
328
329EXTRACT_PRIVATE = NO
330
331# If the EXTRACT_STATIC tag is set to YES all static members of a file
332# will be included in the documentation.
333
334EXTRACT_STATIC = NO
335
336# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
337# defined locally in source files will be included in the documentation.
338# If set to NO only classes defined in header files are included.
339
340EXTRACT_LOCAL_CLASSES = YES
341
342# This flag is only useful for Objective-C code. When set to YES local
343# methods, which are defined in the implementation section but not in
344# the interface are included in the documentation.
345# If set to NO (the default) only methods in the interface are included.
346
347EXTRACT_LOCAL_METHODS = NO
348
349# If this flag is set to YES, the members of anonymous namespaces will be
350# extracted and appear in the documentation as a namespace called
351# 'anonymous_namespace{file}', where file will be replaced with the base
352# name of the file that contains the anonymous namespace. By default
353# anonymous namespaces are hidden.
354
355EXTRACT_ANON_NSPACES = NO
356
357# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
358# undocumented members of documented classes, files or namespaces.
359# If set to NO (the default) these members will be included in the
360# various overviews, but no documentation section is generated.
361# This option has no effect if EXTRACT_ALL is enabled.
362
363HIDE_UNDOC_MEMBERS = NO
364
365# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
366# undocumented classes that are normally visible in the class hierarchy.
367# If set to NO (the default) these classes will be included in the various
368# overviews. This option has no effect if EXTRACT_ALL is enabled.
369
370HIDE_UNDOC_CLASSES = NO
371
372# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all
373# friend (class|struct|union) declarations.
374# If set to NO (the default) these declarations will be included in the
375# documentation.
376
377HIDE_FRIEND_COMPOUNDS = NO
378
379# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any
380# documentation blocks found inside the body of a function.
381# If set to NO (the default) these blocks will be appended to the
382# function's detailed documentation block.
383
384HIDE_IN_BODY_DOCS = NO
385
386# The INTERNAL_DOCS tag determines if documentation
387# that is typed after a \internal command is included. If the tag is set
388# to NO (the default) then the documentation will be excluded.
389# Set it to YES to include the internal documentation.
390
391INTERNAL_DOCS = NO
392
393# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
394# file names in lower-case letters. If set to YES upper-case letters are also
395# allowed. This is useful if you have classes or files whose names only differ
396# in case and if your file system supports case sensitive file names. Windows
397# and Mac users are advised to set this option to NO.
398
399CASE_SENSE_NAMES = NO
400
401# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
402# will show members with their full class and namespace scopes in the
403# documentation. If set to YES the scope will be hidden.
404
405HIDE_SCOPE_NAMES = YES
406
407# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
408# will put a list of the files that are included by a file in the documentation
409# of that file.
410
411SHOW_INCLUDE_FILES = YES
412
413# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen
414# will list include files with double quotes in the documentation
415# rather than with sharp brackets.
416
417FORCE_LOCAL_INCLUDES = NO
418
419# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
420# is inserted in the documentation for inline members.
421
422INLINE_INFO = YES
423
424# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
425# will sort the (detailed) documentation of file and class members
426# alphabetically by member name. If set to NO the members will appear in
427# declaration order.
428
429SORT_MEMBER_DOCS = YES
430
431# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the
432# brief documentation of file, namespace and class members alphabetically
433# by member name. If set to NO (the default) the members will appear in
434# declaration order.
435
436SORT_BRIEF_DOCS = NO
437
438# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen
439# will sort the (brief and detailed) documentation of class members so that
440# constructors and destructors are listed first. If set to NO (the default)
441# the constructors will appear in the respective orders defined by
442# SORT_MEMBER_DOCS and SORT_BRIEF_DOCS.
443# This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO
444# and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO.
445
446SORT_MEMBERS_CTORS_1ST = NO
447
448# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the
449# hierarchy of group names into alphabetical order. If set to NO (the default)
450# the group names will appear in their defined order.
451
452SORT_GROUP_NAMES = NO
453
454# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be
455# sorted by fully-qualified names, including namespaces. If set to
456# NO (the default), the class list will be sorted only by class name,
457# not including the namespace part.
458# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
459# Note: This option applies only to the class list, not to the
460# alphabetical list.
461
462SORT_BY_SCOPE_NAME = NO
463
464# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to
465# do proper type resolution of all parameters of a function it will reject a
466# match between the prototype and the implementation of a member function even
467# if there is only one candidate or it is obvious which candidate to choose
468# by doing a simple string match. By disabling STRICT_PROTO_MATCHING doxygen
469# will still accept a match between prototype and implementation in such cases.
470
471STRICT_PROTO_MATCHING = NO
472
473# The GENERATE_TODOLIST tag can be used to enable (YES) or
474# disable (NO) the todo list. This list is created by putting \todo
475# commands in the documentation.
476
477GENERATE_TODOLIST = YES
478
479# The GENERATE_TESTLIST tag can be used to enable (YES) or
480# disable (NO) the test list. This list is created by putting \test
481# commands in the documentation.
482
483GENERATE_TESTLIST = YES
484
485# The GENERATE_BUGLIST tag can be used to enable (YES) or
486# disable (NO) the bug list. This list is created by putting \bug
487# commands in the documentation.
488
489GENERATE_BUGLIST = YES
490
491# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or
492# disable (NO) the deprecated list. This list is created by putting
493# \deprecated commands in the documentation.
494
495GENERATE_DEPRECATEDLIST= YES
496
497# The ENABLED_SECTIONS tag can be used to enable conditional
498# documentation sections, marked by \if sectionname ... \endif.
499
500ENABLED_SECTIONS =
501
502# The MAX_INITIALIZER_LINES tag determines the maximum number of lines
503# the initial value of a variable or macro consists of for it to appear in
504# the documentation. If the initializer consists of more lines than specified
505# here it will be hidden. Use a value of 0 to hide initializers completely.
506# The appearance of the initializer of individual variables and macros in the
507# documentation can be controlled using \showinitializer or \hideinitializer
508# command in the documentation regardless of this setting.
509
510MAX_INITIALIZER_LINES = 0
511
512# Set the SHOW_USED_FILES tag to NO to disable the list of files generated
513# at the bottom of the documentation of classes and structs. If set to YES the
514# list will mention the files that were used to generate the documentation.
515
516SHOW_USED_FILES = YES
517
518# If the sources in your project are distributed over multiple directories
519# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy
520# in the documentation. The default is NO.
521
522SHOW_DIRECTORIES = NO
523
524# Set the SHOW_FILES tag to NO to disable the generation of the Files page.
525# This will remove the Files entry from the Quick Index and from the
526# Folder Tree View (if specified). The default is YES.
527
528SHOW_FILES = YES
529
530# Set the SHOW_NAMESPACES tag to NO to disable the generation of the
531# Namespaces page. This will remove the Namespaces entry from the Quick Index
532# and from the Folder Tree View (if specified). The default is YES.
533
534SHOW_NAMESPACES = YES
535
536# The FILE_VERSION_FILTER tag can be used to specify a program or script that
537# doxygen should invoke to get the current version for each file (typically from
538# the version control system). Doxygen will invoke the program by executing (via
539# popen()) the command <command> <input-file>, where <command> is the value of
540# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file
541# provided by doxygen. Whatever the program writes to standard output
542# is used as the file version. See the manual for examples.
543
544FILE_VERSION_FILTER =
545
546# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed
547# by doxygen. The layout file controls the global structure of the generated
548# output files in an output format independent way. The create the layout file
549# that represents doxygen's defaults, run doxygen with the -l option.
550# You can optionally specify a file name after the option, if omitted
551# DoxygenLayout.xml will be used as the name of the layout file.
552
553LAYOUT_FILE =
554
555#---------------------------------------------------------------------------
556# configuration options related to warning and progress messages
557#---------------------------------------------------------------------------
558
559# The QUIET tag can be used to turn on/off the messages that are generated
560# by doxygen. Possible values are YES and NO. If left blank NO is used.
561
562QUIET = NO
563
564# The WARNINGS tag can be used to turn on/off the warning messages that are
565# generated by doxygen. Possible values are YES and NO. If left blank
566# NO is used.
567
568WARNINGS = YES
569
570# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
571# for undocumented members. If EXTRACT_ALL is set to YES then this flag will
572# automatically be disabled.
573
574WARN_IF_UNDOCUMENTED = YES
575
576# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for
577# potential errors in the documentation, such as not documenting some
578# parameters in a documented function, or documenting parameters that
579# don't exist or using markup commands wrongly.
580
581WARN_IF_DOC_ERROR = YES
582
583# The WARN_NO_PARAMDOC option can be enabled to get warnings for
584# functions that are documented, but have no documentation for their parameters
585# or return value. If set to NO (the default) doxygen will only warn about
586# wrong or incomplete parameter documentation, but not about the absence of
587# documentation.
588
589WARN_NO_PARAMDOC = NO
590
591# The WARN_FORMAT tag determines the format of the warning messages that
592# doxygen can produce. The string should contain the $file, $line, and $text
593# tags, which will be replaced by the file and line number from which the
594# warning originated and the warning text. Optionally the format may contain
595# $version, which will be replaced by the version of the file (if it could
596# be obtained via FILE_VERSION_FILTER)
597
598WARN_FORMAT = "$file:$line: $text"
599
600# The WARN_LOGFILE tag can be used to specify a file to which warning
601# and error messages should be written. If left blank the output is written
602# to stderr.
603
604WARN_LOGFILE =
605
606#---------------------------------------------------------------------------
607# configuration options related to the input files
608#---------------------------------------------------------------------------
609
610# The INPUT tag can be used to specify the files and/or directories that contain
611# documented source files. You may enter file names like "myfile.cpp" or
612# directories like "/usr/src/myproject". Separate the files or directories
613# with spaces.
614
615INPUT = ../include \
616 .
617
618# This tag can be used to specify the character encoding of the source files
619# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
620# also the default input encoding. Doxygen uses libiconv (or the iconv built
621# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for
622# the list of possible encodings.
623
624INPUT_ENCODING = UTF-8
625
626# If the value of the INPUT tag contains directories, you can use the
627# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
628# and *.h) to filter out the source-files in the directories. If left
629# blank the following patterns are tested:
630# *.c *.cc *.cxx *.cpp *.c++ *.d *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh
631# *.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.dox *.py
632# *.f90 *.f *.for *.vhd *.vhdl
633
634FILE_PATTERNS = *.c \
635 *.cc \
636 *.cxx \
637 *.cpp \
638 *.c++ \
639 *.d \
640 *.java \
641 *.ii \
642 *.ixx \
643 *.ipp \
644 *.i++ \
645 *.inl \
646 *.h \
647 *.hh \
648 *.hxx \
649 *.hpp \
650 *.h++ \
651 *.idl \
652 *.odl \
653 *.cs \
654 *.php \
655 *.php3 \
656 *.inc \
657 *.m \
658 *.mm \
659 *.dox \
660 *.py \
661 *.f90 \
662 *.f \
663 *.vhd \
664 *.vhdl \
665 *.dox
666
667# The RECURSIVE tag can be used to turn specify whether or not subdirectories
668# should be searched for input files as well. Possible values are YES and NO.
669# If left blank NO is used.
670
671RECURSIVE = YES
672
673# The EXCLUDE tag can be used to specify files and/or directories that should
674# excluded from the INPUT source files. This way you can easily exclude a
675# subdirectory from a directory tree whose root is specified with the INPUT tag.
676
677EXCLUDE =
678
679# The EXCLUDE_SYMLINKS tag can be used select whether or not files or
680# directories that are symbolic links (a Unix file system feature) are excluded
681# from the input.
682
683EXCLUDE_SYMLINKS = NO
684
685# If the value of the INPUT tag contains directories, you can use the
686# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
687# certain files from those directories. Note that the wildcards are matched
688# against the file with absolute path, so to exclude all test directories
689# for example use the pattern */test/*
690
691EXCLUDE_PATTERNS =
692
693# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
694# (namespaces, classes, functions, etc.) that should be excluded from the
695# output. The symbol name can be a fully qualified name, a word, or if the
696# wildcard * is used, a substring. Examples: ANamespace, AClass,
697# AClass::ANamespace, ANamespace::*Test
698
699EXCLUDE_SYMBOLS =
700
701# The EXAMPLE_PATH tag can be used to specify one or more files or
702# directories that contain example code fragments that are included (see
703# the \include command).
704
705EXAMPLE_PATH = ../examples
706
707# If the value of the EXAMPLE_PATH tag contains directories, you can use the
708# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
709# and *.h) to filter out the source-files in the directories. If left
710# blank all files are included.
711
712EXAMPLE_PATTERNS = *
713
714# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
715# searched for input files to be used with the \include or \dontinclude
716# commands irrespective of the value of the RECURSIVE tag.
717# Possible values are YES and NO. If left blank NO is used.
718
719EXAMPLE_RECURSIVE = NO
720
721# The IMAGE_PATH tag can be used to specify one or more files or
722# directories that contain image that are included in the documentation (see
723# the \image command).
724
725IMAGE_PATH =
726
727# The INPUT_FILTER tag can be used to specify a program that doxygen should
728# invoke to filter for each input file. Doxygen will invoke the filter program
729# by executing (via popen()) the command <filter> <input-file>, where <filter>
730# is the value of the INPUT_FILTER tag, and <input-file> is the name of an
731# input file. Doxygen will then use the output that the filter program writes
732# to standard output. If FILTER_PATTERNS is specified, this tag will be
733# ignored.
734
735INPUT_FILTER =
736
737# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
738# basis. Doxygen will compare the file name with each pattern and apply the
739# filter if there is a match. The filters are a list of the form:
740# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further
741# info on how filters are used. If FILTER_PATTERNS is empty or if
742# non of the patterns match the file name, INPUT_FILTER is applied.
743
744FILTER_PATTERNS =
745
746# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
747# INPUT_FILTER) will be used to filter the input files when producing source
748# files to browse (i.e. when SOURCE_BROWSER is set to YES).
749
750FILTER_SOURCE_FILES = NO
751
752# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file
753# pattern. A pattern will override the setting for FILTER_PATTERN (if any)
754# and it is also possible to disable source filtering for a specific pattern
755# using *.ext= (so without naming a filter). This option only has effect when
756# FILTER_SOURCE_FILES is enabled.
757
758FILTER_SOURCE_PATTERNS =
759
760#---------------------------------------------------------------------------
761# configuration options related to source browsing
762#---------------------------------------------------------------------------
763
764# If the SOURCE_BROWSER tag is set to YES then a list of source files will
765# be generated. Documented entities will be cross-referenced with these sources.
766# Note: To get rid of all source code in the generated output, make sure also
767# VERBATIM_HEADERS is set to NO.
768
769SOURCE_BROWSER = NO
770
771# Setting the INLINE_SOURCES tag to YES will include the body
772# of functions and classes directly in the documentation.
773
774INLINE_SOURCES = NO
775
776# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
777# doxygen to hide any special comment blocks from generated source code
778# fragments. Normal C and C++ comments will always remain visible.
779
780STRIP_CODE_COMMENTS = YES
781
782# If the REFERENCED_BY_RELATION tag is set to YES
783# then for each documented function all documented
784# functions referencing it will be listed.
785
786REFERENCED_BY_RELATION = NO
787
788# If the REFERENCES_RELATION tag is set to YES
789# then for each documented function all documented entities
790# called/used by that function will be listed.
791
792REFERENCES_RELATION = NO
793
794# If the REFERENCES_LINK_SOURCE tag is set to YES (the default)
795# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from
796# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will
797# link to the source code. Otherwise they will link to the documentation.
798
799REFERENCES_LINK_SOURCE = YES
800
801# If the USE_HTAGS tag is set to YES then the references to source code
802# will point to the HTML generated by the htags(1) tool instead of doxygen
803# built-in source browser. The htags tool is part of GNU's global source
804# tagging system (see http://www.gnu.org/software/global/global.html). You
805# will need version 4.8.6 or higher.
806
807USE_HTAGS = NO
808
809# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
810# will generate a verbatim copy of the header file for each class for
811# which an include is specified. Set to NO to disable this.
812
813VERBATIM_HEADERS = NO
814
815#---------------------------------------------------------------------------
816# configuration options related to the alphabetical class index
817#---------------------------------------------------------------------------
818
819# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
820# of all compounds will be generated. Enable this if the project
821# contains a lot of classes, structs, unions or interfaces.
822
823ALPHABETICAL_INDEX = YES
824
825# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
826# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
827# in which this list will be split (can be a number in the range [1..20])
828
829COLS_IN_ALPHA_INDEX = 5
830
831# In case all classes in a project start with a common prefix, all
832# classes will be put under the same header in the alphabetical index.
833# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
834# should be ignored while generating the index headers.
835
836IGNORE_PREFIX =
837
838#---------------------------------------------------------------------------
839# configuration options related to the HTML output
840#---------------------------------------------------------------------------
841
842# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
843# generate HTML output.
844
845GENERATE_HTML = YES
846
847# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
848# If a relative path is entered the value of OUTPUT_DIRECTORY will be
849# put in front of it. If left blank `html' will be used as the default path.
850
851HTML_OUTPUT = html
852
853# The HTML_FILE_EXTENSION tag can be used to specify the file extension for
854# each generated HTML page (for example: .htm,.php,.asp). If it is left blank
855# doxygen will generate files with .html extension.
856
857HTML_FILE_EXTENSION = .html
858
859# The HTML_HEADER tag can be used to specify a personal HTML header for
860# each generated HTML page. If it is left blank doxygen will generate a
861# standard header.
862
863HTML_HEADER =
864
865# The HTML_FOOTER tag can be used to specify a personal HTML footer for
866# each generated HTML page. If it is left blank doxygen will generate a
867# standard footer.
868
869HTML_FOOTER =
870
871# The HTML_STYLESHEET tag can be used to specify a user-defined cascading
872# style sheet that is used by each HTML page. It can be used to
873# fine-tune the look of the HTML output. If the tag is left blank doxygen
874# will generate a default style sheet. Note that doxygen will try to copy
875# the style sheet file to the HTML output directory, so don't put your own
876# stylesheet in the HTML output directory as well, or it will be erased!
877
878HTML_STYLESHEET =
879
880# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output.
881# Doxygen will adjust the colors in the stylesheet and background images
882# according to this color. Hue is specified as an angle on a colorwheel,
883# see http://en.wikipedia.org/wiki/Hue for more information.
884# For instance the value 0 represents red, 60 is yellow, 120 is green,
885# 180 is cyan, 240 is blue, 300 purple, and 360 is red again.
886# The allowed range is 0 to 359.
887
888HTML_COLORSTYLE_HUE = 220
889
890# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of
891# the colors in the HTML output. For a value of 0 the output will use
892# grayscales only. A value of 255 will produce the most vivid colors.
893
894HTML_COLORSTYLE_SAT = 100
895
896# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to
897# the luminance component of the colors in the HTML output. Values below
898# 100 gradually make the output lighter, whereas values above 100 make
899# the output darker. The value divided by 100 is the actual gamma applied,
900# so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2,
901# and 100 does not change the gamma.
902
903HTML_COLORSTYLE_GAMMA = 80
904
905# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML
906# page will contain the date and time when the page was generated. Setting
907# this to NO can help when comparing the output of multiple runs.
908
909HTML_TIMESTAMP = YES
910
911# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
912# files or namespaces will be aligned in HTML using tables. If set to
913# NO a bullet list will be used.
914
915HTML_ALIGN_MEMBERS = YES
916
917# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
918# documentation will contain sections that can be hidden and shown after the
919# page has loaded. For this to work a browser that supports
920# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox
921# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari).
922
923HTML_DYNAMIC_SECTIONS = NO
924
925# If the GENERATE_DOCSET tag is set to YES, additional index files
926# will be generated that can be used as input for Apple's Xcode 3
927# integrated development environment, introduced with OSX 10.5 (Leopard).
928# To create a documentation set, doxygen will generate a Makefile in the
929# HTML output directory. Running make will produce the docset in that
930# directory and running "make install" will install the docset in
931# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find
932# it at startup.
933# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html
934# for more information.
935
936GENERATE_DOCSET = NO
937
938# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the
939# feed. A documentation feed provides an umbrella under which multiple
940# documentation sets from a single provider (such as a company or product suite)
941# can be grouped.
942
943DOCSET_FEEDNAME = "Doxygen generated docs"
944
945# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that
946# should uniquely identify the documentation set bundle. This should be a
947# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen
948# will append .docset to the name.
949
950DOCSET_BUNDLE_ID = org.doxygen.Project
951
952# When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely identify
953# the documentation publisher. This should be a reverse domain-name style
954# string, e.g. com.mycompany.MyDocSet.documentation.
955
956DOCSET_PUBLISHER_ID = org.doxygen.Publisher
957
958# The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher.
959
960DOCSET_PUBLISHER_NAME = Publisher
961
962# If the GENERATE_HTMLHELP tag is set to YES, additional index files
963# will be generated that can be used as input for tools like the
964# Microsoft HTML help workshop to generate a compiled HTML help file (.chm)
965# of the generated HTML documentation.
966
967GENERATE_HTMLHELP = NO
968
969# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can
970# be used to specify the file name of the resulting .chm file. You
971# can add a path in front of the file if the result should not be
972# written to the html output directory.
973
974CHM_FILE =
975
976# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can
977# be used to specify the location (absolute path including file name) of
978# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run
979# the HTML help compiler on the generated index.hhp.
980
981HHC_LOCATION =
982
983# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag
984# controls if a separate .chi index file is generated (YES) or that
985# it should be included in the master .chm file (NO).
986
987GENERATE_CHI = NO
988
989# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING
990# is used to encode HtmlHelp index (hhk), content (hhc) and project file
991# content.
992
993CHM_INDEX_ENCODING =
994
995# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag
996# controls whether a binary table of contents is generated (YES) or a
997# normal table of contents (NO) in the .chm file.
998
999BINARY_TOC = NO
1000
1001# The TOC_EXPAND flag can be set to YES to add extra items for group members
1002# to the contents of the HTML help documentation and to the tree view.
1003
1004TOC_EXPAND = NO
1005
1006# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and
1007# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated
1008# that can be used as input for Qt's qhelpgenerator to generate a
1009# Qt Compressed Help (.qch) of the generated HTML documentation.
1010
1011GENERATE_QHP = NO
1012
1013# If the QHG_LOCATION tag is specified, the QCH_FILE tag can
1014# be used to specify the file name of the resulting .qch file.
1015# The path specified is relative to the HTML output folder.
1016
1017QCH_FILE =
1018
1019# The QHP_NAMESPACE tag specifies the namespace to use when generating
1020# Qt Help Project output. For more information please see
1021# http://doc.trolltech.com/qthelpproject.html#namespace
1022
1023QHP_NAMESPACE = org.doxygen.Project
1024
1025# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating
1026# Qt Help Project output. For more information please see
1027# http://doc.trolltech.com/qthelpproject.html#virtual-folders
1028
1029QHP_VIRTUAL_FOLDER = doc
1030
1031# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to
1032# add. For more information please see
1033# http://doc.trolltech.com/qthelpproject.html#custom-filters
1034
1035QHP_CUST_FILTER_NAME =
1036
1037# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the
1038# custom filter to add. For more information please see
1039# <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters">
1040# Qt Help Project / Custom Filters</a>.
1041
1042QHP_CUST_FILTER_ATTRS =
1043
1044# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this
1045# project's
1046# filter section matches.
1047# <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes">
1048# Qt Help Project / Filter Attributes</a>.
1049
1050QHP_SECT_FILTER_ATTRS =
1051
1052# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can
1053# be used to specify the location of Qt's qhelpgenerator.
1054# If non-empty doxygen will try to run qhelpgenerator on the generated
1055# .qhp file.
1056
1057QHG_LOCATION =
1058
1059# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files
1060# will be generated, which together with the HTML files, form an Eclipse help
1061# plugin. To install this plugin and make it available under the help contents
1062# menu in Eclipse, the contents of the directory containing the HTML and XML
1063# files needs to be copied into the plugins directory of eclipse. The name of
1064# the directory within the plugins directory should be the same as
1065# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before
1066# the help appears.
1067
1068GENERATE_ECLIPSEHELP = NO
1069
1070# A unique identifier for the eclipse help plugin. When installing the plugin
1071# the directory name containing the HTML and XML files should also have
1072# this name.
1073
1074ECLIPSE_DOC_ID = org.doxygen.Project
1075
1076# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
1077# top of each HTML page. The value NO (the default) enables the index and
1078# the value YES disables it.
1079
1080DISABLE_INDEX = NO
1081
1082# This tag can be used to set the number of enum values (range [0,1..20])
1083# that doxygen will group on one line in the generated HTML documentation.
1084# Note that a value of 0 will completely suppress the enum values from
1085# appearing in the overview section.
1086
1087ENUM_VALUES_PER_LINE = 4
1088
1089# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
1090# structure should be generated to display hierarchical information.
1091# If the tag value is set to YES, a side panel will be generated
1092# containing a tree-like index structure (just like the one that
1093# is generated for HTML Help). For this to work a browser that supports
1094# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser).
1095# Windows users are probably better off using the HTML help feature.
1096
1097GENERATE_TREEVIEW = YES
1098
1099# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories,
1100# and Class Hierarchy pages using a tree view instead of an ordered list.
1101
1102USE_INLINE_TREES = NO
1103
1104# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
1105# used to set the initial width (in pixels) of the frame in which the tree
1106# is shown.
1107
1108TREEVIEW_WIDTH = 250
1109
1110# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open
1111# links to external symbols imported via tag files in a separate window.
1112
1113EXT_LINKS_IN_WINDOW = NO
1114
1115# Use this tag to change the font size of Latex formulas included
1116# as images in the HTML documentation. The default is 10. Note that
1117# when you change the font size after a successful doxygen run you need
1118# to manually remove any form_*.png images from the HTML output directory
1119# to force them to be regenerated.
1120
1121FORMULA_FONTSIZE = 10
1122
1123# Use the FORMULA_TRANPARENT tag to determine whether or not the images
1124# generated for formulas are transparent PNGs. Transparent PNGs are
1125# not supported properly for IE 6.0, but are supported on all modern browsers.
1126# Note that when changing this option you need to delete any form_*.png files
1127# in the HTML output before the changes have effect.
1128
1129FORMULA_TRANSPARENT = YES
1130
1131# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax
1132# (see http://www.mathjax.org) which uses client side Javascript for the
1133# rendering instead of using prerendered bitmaps. Use this if you do not
1134# have LaTeX installed or if you want to formulas look prettier in the HTML
1135# output. When enabled you also need to install MathJax separately and
1136# configure the path to it using the MATHJAX_RELPATH option.
1137
1138USE_MATHJAX = NO
1139
1140# When MathJax is enabled you need to specify the location relative to the
1141# HTML output directory using the MATHJAX_RELPATH option. The destination
1142# directory should contain the MathJax.js script. For instance, if the mathjax
1143# directory is located at the same level as the HTML output directory, then
1144# MATHJAX_RELPATH should be ../mathjax. The default value points to the
1145# mathjax.org site, so you can quickly see the result without installing
1146# MathJax, but it is strongly recommended to install a local copy of MathJax
1147# before deployment.
1148
1149MATHJAX_RELPATH = http://www.mathjax.org/mathjax
1150
1151# When the SEARCHENGINE tag is enabled doxygen will generate a search box
1152# for the HTML output. The underlying search engine uses javascript
1153# and DHTML and should work on any modern browser. Note that when using
1154# HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets
1155# (GENERATE_DOCSET) there is already a search function so this one should
1156# typically be disabled. For large projects the javascript based search engine
1157# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution.
1158
1159SEARCHENGINE = YES
1160
1161# When the SERVER_BASED_SEARCH tag is enabled the search engine will be
1162# implemented using a PHP enabled web server instead of at the web client
1163# using Javascript. Doxygen will generate the search PHP script and index
1164# file to put on the web server. The advantage of the server
1165# based approach is that it scales better to large projects and allows
1166# full text search. The disadvantages are that it is more difficult to setup
1167# and does not have live searching capabilities.
1168
1169SERVER_BASED_SEARCH = NO
1170
1171#---------------------------------------------------------------------------
1172# configuration options related to the LaTeX output
1173#---------------------------------------------------------------------------
1174
1175# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
1176# generate Latex output.
1177
1178GENERATE_LATEX = YES
1179
1180# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
1181# If a relative path is entered the value of OUTPUT_DIRECTORY will be
1182# put in front of it. If left blank `latex' will be used as the default path.
1183
1184LATEX_OUTPUT = latex
1185
1186# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
1187# invoked. If left blank `latex' will be used as the default command name.
1188# Note that when enabling USE_PDFLATEX this option is only used for
1189# generating bitmaps for formulas in the HTML output, but not in the
1190# Makefile that is written to the output directory.
1191
1192LATEX_CMD_NAME = latex
1193
1194# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to
1195# generate index for LaTeX. If left blank `makeindex' will be used as the
1196# default command name.
1197
1198MAKEINDEX_CMD_NAME = makeindex
1199
1200# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
1201# LaTeX documents. This may be useful for small projects and may help to
1202# save some trees in general.
1203
1204COMPACT_LATEX = YES
1205
1206# The PAPER_TYPE tag can be used to set the paper type that is used
1207# by the printer. Possible values are: a4, letter, legal and
1208# executive. If left blank a4wide will be used.
1209
1210PAPER_TYPE = letter
1211
1212# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
1213# packages that should be included in the LaTeX output.
1214
1215EXTRA_PACKAGES =
1216
1217# The LATEX_HEADER tag can be used to specify a personal LaTeX header for
1218# the generated latex document. The header should contain everything until
1219# the first chapter. If it is left blank doxygen will generate a
1220# standard header. Notice: only use this tag if you know what you are doing!
1221
1222LATEX_HEADER =
1223
1224# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
1225# is prepared for conversion to pdf (using ps2pdf). The pdf file will
1226# contain links (just like the HTML output) instead of page references
1227# This makes the output suitable for online browsing using a pdf viewer.
1228
1229PDF_HYPERLINKS = YES
1230
1231# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of
1232# plain latex in the generated Makefile. Set this option to YES to get a
1233# higher quality PDF documentation.
1234
1235USE_PDFLATEX = YES
1236
1237# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
1238# command to the generated LaTeX files. This will instruct LaTeX to keep
1239# running if errors occur, instead of asking the user for help.
1240# This option is also used when generating formulas in HTML.
1241
1242LATEX_BATCHMODE = NO
1243
1244# If LATEX_HIDE_INDICES is set to YES then doxygen will not
1245# include the index chapters (such as File Index, Compound Index, etc.)
1246# in the output.
1247
1248LATEX_HIDE_INDICES = NO
1249
1250# If LATEX_SOURCE_CODE is set to YES then doxygen will include
1251# source code with syntax highlighting in the LaTeX output.
1252# Note that which sources are shown also depends on other settings
1253# such as SOURCE_BROWSER.
1254
1255LATEX_SOURCE_CODE = NO
1256
1257#---------------------------------------------------------------------------
1258# configuration options related to the RTF output
1259#---------------------------------------------------------------------------
1260
1261# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output
1262# The RTF output is optimized for Word 97 and may not look very pretty with
1263# other RTF readers or editors.
1264
1265GENERATE_RTF = NO
1266
1267# The RTF_OUTPUT tag is used to specify where the RTF docs will be put.
1268# If a relative path is entered the value of OUTPUT_DIRECTORY will be
1269# put in front of it. If left blank `rtf' will be used as the default path.
1270
1271RTF_OUTPUT = rtf
1272
1273# If the COMPACT_RTF tag is set to YES Doxygen generates more compact
1274# RTF documents. This may be useful for small projects and may help to
1275# save some trees in general.
1276
1277COMPACT_RTF = NO
1278
1279# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated
1280# will contain hyperlink fields. The RTF file will
1281# contain links (just like the HTML output) instead of page references.
1282# This makes the output suitable for online browsing using WORD or other
1283# programs which support those fields.
1284# Note: wordpad (write) and others do not support links.
1285
1286RTF_HYPERLINKS = NO
1287
1288# Load stylesheet definitions from file. Syntax is similar to doxygen's
1289# config file, i.e. a series of assignments. You only have to provide
1290# replacements, missing definitions are set to their default value.
1291
1292RTF_STYLESHEET_FILE =
1293
1294# Set optional variables used in the generation of an rtf document.
1295# Syntax is similar to doxygen's config file.
1296
1297RTF_EXTENSIONS_FILE =
1298
1299#---------------------------------------------------------------------------
1300# configuration options related to the man page output
1301#---------------------------------------------------------------------------
1302
1303# If the GENERATE_MAN tag is set to YES (the default) Doxygen will
1304# generate man pages
1305
1306GENERATE_MAN = YES
1307
1308# The MAN_OUTPUT tag is used to specify where the man pages will be put.
1309# If a relative path is entered the value of OUTPUT_DIRECTORY will be
1310# put in front of it. If left blank `man' will be used as the default path.
1311
1312MAN_OUTPUT = man
1313
1314# The MAN_EXTENSION tag determines the extension that is added to
1315# the generated man pages (default is the subroutine's section .3)
1316
1317MAN_EXTENSION = .3
1318
1319# If the MAN_LINKS tag is set to YES and Doxygen generates man output,
1320# then it will generate one additional man file for each entity
1321# documented in the real man page(s). These additional files
1322# only source the real man page, but without them the man command
1323# would be unable to find the correct page. The default is NO.
1324
1325MAN_LINKS = NO
1326
1327#---------------------------------------------------------------------------
1328# configuration options related to the XML output
1329#---------------------------------------------------------------------------
1330
1331# If the GENERATE_XML tag is set to YES Doxygen will
1332# generate an XML file that captures the structure of
1333# the code including all documentation.
1334
1335GENERATE_XML = NO
1336
1337# The XML_OUTPUT tag is used to specify where the XML pages will be put.
1338# If a relative path is entered the value of OUTPUT_DIRECTORY will be
1339# put in front of it. If left blank `xml' will be used as the default path.
1340
1341XML_OUTPUT = xml
1342
1343# The XML_SCHEMA tag can be used to specify an XML schema,
1344# which can be used by a validating XML parser to check the
1345# syntax of the XML files.
1346
1347XML_SCHEMA =
1348
1349# The XML_DTD tag can be used to specify an XML DTD,
1350# which can be used by a validating XML parser to check the
1351# syntax of the XML files.
1352
1353XML_DTD =
1354
1355# If the XML_PROGRAMLISTING tag is set to YES Doxygen will
1356# dump the program listings (including syntax highlighting
1357# and cross-referencing information) to the XML output. Note that
1358# enabling this will significantly increase the size of the XML output.
1359
1360XML_PROGRAMLISTING = YES
1361
1362#---------------------------------------------------------------------------
1363# configuration options for the AutoGen Definitions output
1364#---------------------------------------------------------------------------
1365
1366# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will
1367# generate an AutoGen Definitions (see autogen.sf.net) file
1368# that captures the structure of the code including all
1369# documentation. Note that this feature is still experimental
1370# and incomplete at the moment.
1371
1372GENERATE_AUTOGEN_DEF = NO
1373
1374#---------------------------------------------------------------------------
1375# configuration options related to the Perl module output
1376#---------------------------------------------------------------------------
1377
1378# If the GENERATE_PERLMOD tag is set to YES Doxygen will
1379# generate a Perl module file that captures the structure of
1380# the code including all documentation. Note that this
1381# feature is still experimental and incomplete at the
1382# moment.
1383
1384GENERATE_PERLMOD = NO
1385
1386# If the PERLMOD_LATEX tag is set to YES Doxygen will generate
1387# the necessary Makefile rules, Perl scripts and LaTeX code to be able
1388# to generate PDF and DVI output from the Perl module output.
1389
1390PERLMOD_LATEX = NO
1391
1392# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be
1393# nicely formatted so it can be parsed by a human reader. This is useful
1394# if you want to understand what is going on. On the other hand, if this
1395# tag is set to NO the size of the Perl module output will be much smaller
1396# and Perl will parse it just the same.
1397
1398PERLMOD_PRETTY = YES
1399
1400# The names of the make variables in the generated doxyrules.make file
1401# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX.
1402# This is useful so different doxyrules.make files included by the same
1403# Makefile don't overwrite each other's variables.
1404
1405PERLMOD_MAKEVAR_PREFIX =
1406
1407#---------------------------------------------------------------------------
1408# Configuration options related to the preprocessor
1409#---------------------------------------------------------------------------
1410
1411# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will
1412# evaluate all C-preprocessor directives found in the sources and include
1413# files.
1414
1415ENABLE_PREPROCESSING = YES
1416
1417# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
1418# names in the source code. If set to NO (the default) only conditional
1419# compilation will be performed. Macro expansion can be done in a controlled
1420# way by setting EXPAND_ONLY_PREDEF to YES.
1421
1422MACRO_EXPANSION = YES
1423
1424# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
1425# then the macro expansion is limited to the macros specified with the
1426# PREDEFINED and EXPAND_AS_DEFINED tags.
1427
1428EXPAND_ONLY_PREDEF = YES
1429
1430# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
1431# in the INCLUDE_PATH (see below) will be search if a #include is found.
1432
1433SEARCH_INCLUDES = YES
1434
1435# The INCLUDE_PATH tag can be used to specify one or more directories that
1436# contain include files that are not input files but should be processed by
1437# the preprocessor.
1438
1439INCLUDE_PATH = ../include
1440
1441# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
1442# patterns (like *.h and *.hpp) to filter out the header-files in the
1443# directories. If left blank, the patterns specified with FILE_PATTERNS will
1444# be used.
1445
1446INCLUDE_FILE_PATTERNS =
1447
1448# The PREDEFINED tag can be used to specify one or more macro names that
1449# are defined before the preprocessor is started (similar to the -D option of
1450# gcc). The argument of the tag is a list of macros of the form: name
1451# or name=definition (no spaces). If the definition and the = are
1452# omitted =1 is assumed. To prevent a macro definition from being
1453# undefined via #undef or recursively expanded use the := operator
1454# instead of the = operator.
1455
1456PREDEFINED =
1457
1458# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
1459# this tag can be used to specify a list of macro names that should be expanded.
1460# The macro definition that is found in the sources will be used.
1461# Use the PREDEFINED tag if you want to use a different macro definition that
1462# overrules the definition found in the source code.
1463
1464EXPAND_AS_DEFINED =
1465
1466# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then
1467# doxygen's preprocessor will remove all references to function-like macros
1468# that are alone on a line, have an all uppercase name, and do not end with a
1469# semicolon, because these will confuse the parser if not removed.
1470
1471SKIP_FUNCTION_MACROS = YES
1472
1473#---------------------------------------------------------------------------
1474# Configuration::additions related to external references
1475#---------------------------------------------------------------------------
1476
1477# The TAGFILES option can be used to specify one or more tagfiles.
1478# Optionally an initial location of the external documentation
1479# can be added for each tagfile. The format of a tag file without
1480# this location is as follows:
1481# TAGFILES = file1 file2 ...
1482# Adding location for the tag files is done as follows:
1483# TAGFILES = file1=loc1 "file2 = loc2" ...
1484# where "loc1" and "loc2" can be relative or absolute paths or
1485# URLs. If a location is present for each tag, the installdox tool
1486# does not have to be run to correct the links.
1487# Note that each tag file must have a unique name
1488# (where the name does NOT include the path)
1489# If a tag file is not located in the directory in which doxygen
1490# is run, you must also specify the path to the tagfile here.
1491
1492TAGFILES =
1493
1494# When a file name is specified after GENERATE_TAGFILE, doxygen will create
1495# a tag file that is based on the input files it reads.
1496
1497GENERATE_TAGFILE =
1498
1499# If the ALLEXTERNALS tag is set to YES all external classes will be listed
1500# in the class index. If set to NO only the inherited external classes
1501# will be listed.
1502
1503ALLEXTERNALS = NO
1504
1505# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed
1506# in the modules index. If set to NO, only the current project's groups will
1507# be listed.
1508
1509EXTERNAL_GROUPS = YES
1510
1511# The PERL_PATH should be the absolute path and name of the perl script
1512# interpreter (i.e. the result of `which perl').
1513
1514PERL_PATH = /usr/bin/perl
1515
1516#---------------------------------------------------------------------------
1517# Configuration options related to the dot tool
1518#---------------------------------------------------------------------------
1519
1520# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
1521# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base
1522# or super classes. Setting the tag to NO turns the diagrams off. Note that
1523# this option also works with HAVE_DOT disabled, but it is recommended to
1524# install and use dot, since it yields more powerful graphs.
1525
1526CLASS_DIAGRAMS = YES
1527
1528# You can define message sequence charts within doxygen comments using the \msc
1529# command. Doxygen will then run the mscgen tool (see
1530# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the
1531# documentation. The MSCGEN_PATH tag allows you to specify the directory where
1532# the mscgen tool resides. If left empty the tool is assumed to be found in the
1533# default search path.
1534
1535MSCGEN_PATH =
1536
1537# If set to YES, the inheritance and collaboration graphs will hide
1538# inheritance and usage relations if the target is undocumented
1539# or is not a class.
1540
1541HIDE_UNDOC_RELATIONS = YES
1542
1543# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
1544# available from the path. This tool is part of Graphviz, a graph visualization
1545# toolkit from AT&T and Lucent Bell Labs. The other options in this section
1546# have no effect if this option is set to NO (the default)
1547
1548HAVE_DOT = NO
1549
1550# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is
1551# allowed to run in parallel. When set to 0 (the default) doxygen will
1552# base this on the number of processors available in the system. You can set it
1553# explicitly to a value larger than 0 to get control over the balance
1554# between CPU load and processing speed.
1555
1556DOT_NUM_THREADS = 0
1557
1558# By default doxygen will write a font called Helvetica to the output
1559# directory and reference it in all dot files that doxygen generates.
1560# When you want a differently looking font you can specify the font name
1561# using DOT_FONTNAME. You need to make sure dot is able to find the font,
1562# which can be done by putting it in a standard location or by setting the
1563# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory
1564# containing the font.
1565
1566DOT_FONTNAME = FreeSans.ttf
1567
1568# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs.
1569# The default size is 10pt.
1570
1571DOT_FONTSIZE = 10
1572
1573# By default doxygen will tell dot to use the output directory to look for the
1574# FreeSans.ttf font (which doxygen will put there itself). If you specify a
1575# different font using DOT_FONTNAME you can set the path where dot
1576# can find it using this tag.
1577
1578DOT_FONTPATH =
1579
1580# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
1581# will generate a graph for each documented class showing the direct and
1582# indirect inheritance relations. Setting this tag to YES will force the
1583# the CLASS_DIAGRAMS tag to NO.
1584
1585CLASS_GRAPH = YES
1586
1587# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen
1588# will generate a graph for each documented class showing the direct and
1589# indirect implementation dependencies (inheritance, containment, and
1590# class references variables) of the class with other documented classes.
1591
1592COLLABORATION_GRAPH = YES
1593
1594# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen
1595# will generate a graph for groups, showing the direct groups dependencies
1596
1597GROUP_GRAPHS = YES
1598
1599# If the UML_LOOK tag is set to YES doxygen will generate inheritance and
1600# collaboration diagrams in a style similar to the OMG's Unified Modeling
1601# Language.
1602
1603UML_LOOK = YES
1604
1605# If set to YES, the inheritance and collaboration graphs will show the
1606# relations between templates and their instances.
1607
1608TEMPLATE_RELATIONS = NO
1609
1610# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT
1611# tags are set to YES then doxygen will generate a graph for each documented
1612# file showing the direct and indirect include dependencies of the file with
1613# other documented files.
1614
1615INCLUDE_GRAPH = YES
1616
1617# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and
1618# HAVE_DOT tags are set to YES then doxygen will generate a graph for each
1619# documented header file showing the documented files that directly or
1620# indirectly include this file.
1621
1622INCLUDED_BY_GRAPH = YES
1623
1624# If the CALL_GRAPH and HAVE_DOT options are set to YES then
1625# doxygen will generate a call dependency graph for every global function
1626# or class method. Note that enabling this option will significantly increase
1627# the time of a run. So in most cases it will be better to enable call graphs
1628# for selected functions only using the \callgraph command.
1629
1630CALL_GRAPH = NO
1631
1632# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then
1633# doxygen will generate a caller dependency graph for every global function
1634# or class method. Note that enabling this option will significantly increase
1635# the time of a run. So in most cases it will be better to enable caller
1636# graphs for selected functions only using the \callergraph command.
1637
1638CALLER_GRAPH = NO
1639
1640# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
1641# will generate a graphical hierarchy of all classes instead of a textual one.
1642
1643GRAPHICAL_HIERARCHY = YES
1644
1645# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES
1646# then doxygen will show the dependencies a directory has on other directories
1647# in a graphical way. The dependency relations are determined by the #include
1648# relations between the files in the directories.
1649
1650DIRECTORY_GRAPH = YES
1651
1652# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
1653# generated by dot. Possible values are png, svg, gif or svg.
1654# If left blank png will be used.
1655
1656DOT_IMAGE_FORMAT = png
1657
1658# The tag DOT_PATH can be used to specify the path where the dot tool can be
1659# found. If left blank, it is assumed the dot tool can be found in the path.
1660
1661DOT_PATH =
1662
1663# The DOTFILE_DIRS tag can be used to specify one or more directories that
1664# contain dot files that are included in the documentation (see the
1665# \dotfile command).
1666
1667DOTFILE_DIRS =
1668
1669# The MSCFILE_DIRS tag can be used to specify one or more directories that
1670# contain msc files that are included in the documentation (see the
1671# \mscfile command).
1672
1673MSCFILE_DIRS =
1674
1675# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of
1676# nodes that will be shown in the graph. If the number of nodes in a graph
1677# becomes larger than this value, doxygen will truncate the graph, which is
1678# visualized by representing a node as a red box. Note that doxygen if the
1679# number of direct children of the root node in a graph is already larger than
1680# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note
1681# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
1682
1683DOT_GRAPH_MAX_NODES = 50
1684
1685# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the
1686# graphs generated by dot. A depth value of 3 means that only nodes reachable
1687# from the root by following a path via at most 3 edges will be shown. Nodes
1688# that lay further from the root node will be omitted. Note that setting this
1689# option to 1 or 2 may greatly reduce the computation time needed for large
1690# code bases. Also note that the size of a graph can be further restricted by
1691# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.
1692
1693MAX_DOT_GRAPH_DEPTH = 0
1694
1695# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent
1696# background. This is disabled by default, because dot on Windows does not
1697# seem to support this out of the box. Warning: Depending on the platform used,
1698# enabling this option may lead to badly anti-aliased labels on the edges of
1699# a graph (i.e. they become hard to read).
1700
1701DOT_TRANSPARENT = NO
1702
1703# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output
1704# files in one run (i.e. multiple -o and -T options on the command line). This
1705# makes dot run faster, but since only newer versions of dot (>1.8.10)
1706# support this, this feature is disabled by default.
1707
1708DOT_MULTI_TARGETS = NO
1709
1710# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will
1711# generate a legend page explaining the meaning of the various boxes and
1712# arrows in the dot generated graphs.
1713
1714GENERATE_LEGEND = YES
1715
1716# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will
1717# remove the intermediate dot files that are used to generate
1718# the various graphs.
1719
1720DOT_CLEANUP = YES
01721
=== added file 'doc/Makefile.am'
--- doc/Makefile.am 1970-01-01 00:00:00 +0000
+++ doc/Makefile.am 2011-12-12 08:48:26 +0000
@@ -0,0 +1,49 @@
1##
2## Makefile for the doc subdirectory of xorg-gtest
3##
4## Copyright (C) 2011 Canonical Ltd.
5##
6## Process this file with automake to produce Makefile.in.
7##
8## This file is part of the libgeis project. This library is free
9## software; you can redistribute it and/or modify it under the
10## terms of the GNU General Public License as published by the
11## Free Software Foundation; either version 3, or (at your option)
12## any later version.
13##
14## This library is distributed in the hope that it will be useful,
15## but WITHOUT ANY WARRANTY; without even the implied warranty of
16## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17## GNU General Public License for more details.
18##
19## You should have received a copy of the GNU General Public License along
20## with this library; see the file COPYING3. If not see
21## <http://www.gnu.org/licenses/>.
22##
23
24dist_doc_DATA = \
25 Doxyfile
26
27# dist_man_MANS = geistest.1
28
29doc-html: doc-html-doxygen
30
31doc-man: doc-man-doxygen
32
33doc-pdf: doc-pdf-doxygen
34
35doc-html-doxygen:
36 doxygen
37
38doc-man-doxygen:
39 doxygen
40
41doc-pdf-doxygen:
42 doxygen
43
44install-data-local: api/html
45 $(INSTALL) -d $(DESTDIR)$(docdir)
46 cp -a api/html $(DESTDIR)$(docdir)
47
48clean-local:
49 -rm -rf *.pdf *.html api
050
=== modified file 'include/xorg/gtest/environment.h'
--- include/xorg/gtest/environment.h 2011-12-08 21:59:34 +0000
+++ include/xorg/gtest/environment.h 2011-12-12 08:48:26 +0000
@@ -1,6 +1,6 @@
1/*****************************************************************************1/*****************************************************************************
2 *2 *
3 * utouch-frame - Touch Frame Library3 * X testing environment - Google Test environment feat. dummy x server
4 *4 *
5 * Copyright (C) 2011 Canonical Ltd.5 * Copyright (C) 2011 Canonical Ltd.
6 *6 *
@@ -30,24 +30,68 @@
30namespace testing {30namespace testing {
3131
32/**32/**
33 * @brief Dummy Xorg Google Test environment.33 * \mainpage X.org Google Test Framework
34 *34 *
35 * Starts up a dummy Xorg server for testing purposes on35 * Xorg-gtest makes it easy to write test cases
36 * display :133. Either associate the environment manually36 * for a dummy headless X.org server. It can also run tests
37 * with the overall testing framework or link to libxorg-gtest_main.37 * using a running X11 server.
38 *
39 */
40
41/**
42 * @class Environment environment.h xorg/gtest/environment.h
43 *
44 * Global Google test environment providing a dummy X server.
45 *
46 * Starts up a dummy X server for testing purposes.
47 * Either associate the environment manually
48 * with the overall testing framework like
49 * @code
50 * std::string xorg_conf_path("conf/dummy.conf");
51 * int xorg_display = 133;
52 * std::string server("Xorg");
53 *
54 * xorg::testing::Environment* environment = new xorg::testing::Environment(
55 * xorg_conf_path,
56 * server,
57 * xorg_display);
58 * testing::AddGlobalTestEnvironment(environment);
59 * @endcode
60 * or link to libxorg-gtest_main.
38 */61 */
39class Environment : public ::testing::Environment {62class Environment : public ::testing::Environment {
40 public:63 public:
64 /**
65 * Constructs an object to provide a global X server dummy environment.
66 * @param path_to_conf Path to xserver configuration.
67 * @param path_to_server Path to xserver executable.
68 * @param display Display port of dummy xserver instance.
69 */
41 Environment(const std::string& path_to_conf,70 Environment(const std::string& path_to_conf,
42 const std::string& path_to_server = "Xorg", int display = 133);71 const std::string& path_to_server = "Xorg", int display = 133);
4372
73 /**
74 * Starts the dummy X server.
75 *
76 * Reimplemented from ::testing::Environment. Must not be called directly.
77 *
78 * @throws std::runtime_error if a dummy X server cannot be started.
79 */
44 virtual void SetUp();80 virtual void SetUp();
81
82 /**
83 * Stops the dummy X server.
84 *
85 * Reimplemented from ::testing::Environment. Must not be called directly.
86 *
87 */
45 virtual void TearDown();88 virtual void TearDown();
89
46 private:90 private:
47 struct Private;91 struct Private;
48 std::auto_ptr<Private> d_;92 std::auto_ptr<Private> d_;
4993
50 /* Disable copy c'tor & assignment op. */94 /* Disable copy constructor & assignment operator */
51 Environment(const Environment&);95 Environment(const Environment&);
52 Environment& operator=(const Environment&);96 Environment& operator=(const Environment&);
53};97};
5498
=== modified file 'include/xorg/gtest/process.h'
--- include/xorg/gtest/process.h 2011-12-08 22:02:26 +0000
+++ include/xorg/gtest/process.h 2011-12-12 08:48:26 +0000
@@ -1,6 +1,6 @@
1/*****************************************************************************1/*****************************************************************************
2 *2 *
3 * utouch-frame - Touch Frame Library3 * X testing environment - Google Test environment featuring dummy x server
4 *4 *
5 * Copyright (C) 2011 Canonical Ltd.5 * Copyright (C) 2011 Canonical Ltd.
6 *6 *
@@ -29,31 +29,117 @@
29namespace xorg {29namespace xorg {
30namespace testing {30namespace testing {
3131
32/**
33 * @class Process test.h xorg/gtest/process.h
34 *
35 * Class that abstracts child process creation and termination.
36 *
37 * This class allows for forking, running and terminating child processes.
38 * In addition, manipulation of the child process' environment is supported.
39 * For example, starting an X server instance on display port 133 as a child
40 * process can be realized with the following code snippet:
41 * @code
42 * Process xorgServer;
43 * try {
44 * xorgServer.Start("Xorg", "Xorg", ":133");
45 * } catch (const std::runtime_error&e) {
46 * std::cerr << "Problem starting the X server: " << e.what() << std::endl;
47 * }
48 * ...
49 * if (!xorgServer.Terminate()) {
50 * std::cerr << "Problem terminating server ... killing now ..." << std::endl;
51 * if (!xorgServer.Kill())
52 * std::cerr << "Problem killing server" << std::endl;
53 * }
54 * @endcode
55 */
32class Process {56class Process {
33 public:57 public:
58 /**
59 * Creates a child-process that is in a terminated state.
60 */
34 Process();61 Process();
3562
63 /**
64 * Starts a program as a child process.
65 *
66 * See 'man execvp' for further information on the variadic argument list.
67 *
68 * @param program The program to start.
69 * @param args Variadic list of arguments passed to the program.
70 *
71 * @throws std::runtime_error on failure.
72 */
36 void Start(const std::string& program, va_list args);73 void Start(const std::string& program, va_list args);
74
75 /**
76 * Starts a program as a child process.
77 *
78 * Takes a variadic list of arguments passed to the program.
79 * See 'man execvp' for further information on the variadic argument list.
80 *
81 * @param program The program to start.
82 *
83 * @throws std::runtime_error on failure.
84 */
37 void Start(const std::string& program, ...);85 void Start(const std::string& program, ...);
3886
87 /**
88 * Terminates (SIGTERM) this child process.
89 *
90 * @throws std::runtime_error if child tries to terminate itself.
91 *
92 * @returns true if termination succeeded, false otherwise.
93 *
94 */
39 bool Terminate();95 bool Terminate();
96
97 /**
98 * Kills (SIGKILL) this child process.
99 *
100 * @throws std::runtime_error if child tries to kill itself.
101 *
102 * @returns true if kill succeeded, false otherwise.
103 */
40 bool Kill();104 bool Kill();
41105
106 /**
107 * Adjusts the environment of the child process.
108 *
109 * @param name Name of the environment variable, must not be NULL.
110 * @param value Value of the environment variable, must not be NULL.
111 * @param overwrite Whether to overwrite the value of existing env variables.
112 *
113 * @throws std::runtime_error if adjusting the environment does not succeed.
114 */
42 void SetEnv(const char* name, const char* value, bool overwrite);115 void SetEnv(const char* name, const char* value, bool overwrite);
116
117 /**
118 * Queries the environment of the child process.
119 *
120 * @param name The name of the environment variable, must not be NULL.
121 *
122 * @returns The value of the environment variable, or NULL.
123 */
43 const char * GetEnv(const char* name);124 const char * GetEnv(const char* name);
44125
126 /**
127 * Accesses the pid of the child process.
128 *
129 * @returns The pid of the child process.
130 */
45 pid_t Pid() const;131 pid_t Pid() const;
46132
47 private:133 private:
48 struct Private;134 struct Private;
49 std::auto_ptr<Private> d_;135 std::auto_ptr<Private> d_;
50136
51 /* Disable copy c'tor, assignment operator */137 /* Disable copy constructor, assignment operator */
52 Process(const Process&);138 Process(const Process&);
53 Process& operator=(const Process&);139 Process& operator=(const Process&);
54};140};
55141
142} // testing
56} // xorg143} // xorg
57} // testing
58144
59#endif // XORG_GTEST_PROCESS_H145#endif // XORG_GTEST_PROCESS_H
60146
=== modified file 'include/xorg/gtest/test.h'
--- include/xorg/gtest/test.h 2011-12-08 22:20:53 +0000
+++ include/xorg/gtest/test.h 2011-12-12 08:48:26 +0000
@@ -1,6 +1,6 @@
1/*****************************************************************************1/*****************************************************************************
2 *2 *
3 * utouch-frame - Touch Frame Library3 * X testing environment - Google Test environment feat. dummy x server
4 *4 *
5 * Copyright (C) 2011 Canonical Ltd.5 * Copyright (C) 2011 Canonical Ltd.
6 *6 *
@@ -27,24 +27,49 @@
27#include <gtest/gtest.h>27#include <gtest/gtest.h>
28#include <X11/Xlib.h>28#include <X11/Xlib.h>
2929
30#include "utouch/frame.h"
31
32namespace xorg {30namespace xorg {
33namespace testing {31namespace testing {
3432
33/**
34 * @class Test test.h xorg/gtest/test.h
35 *
36 * Google test fixture checking for running XServer.
37 *
38 * Checks whether an X server is running and establishes
39 * a connection to the instance by opening up a display. Rely
40 * on Google test's TEST_F macro to use this fixture for your
41 * own tests or sublcass it and override the SetUp and TearDown
42 * methods.
43 */
35class Test : public ::testing::Test {44class Test : public ::testing::Test {
36 public:45 public:
46
37 Test();47 Test();
3848
49 /**
50 * Tries to connect to an X server instance.
51 *
52 * Fails if no X server is running.
53 * Reimplemented from ::testing::Test, must not be called directly.
54 *
55 * @throws std::runtime_error if no X server is running.
56 */
39 virtual void SetUp();57 virtual void SetUp();
58
59 /**
60 * Closes the display.
61 *
62 * Reimplemented from ::testing::Test, must not be called directly.
63 */
40 virtual void TearDown();64 virtual void TearDown();
4165
42 protected:66 protected:
67 /** @cond Implementation */
43 ::Display* Display() const;68 ::Display* Display() const;
4469
45 struct Private;70 struct Private;
46 std::auto_ptr<Private> d_;71 std::auto_ptr<Private> d_;
4772 /** @endcond Implementation */
48 private:73 private:
49 /* Disable copy c'tor, assignment operator */74 /* Disable copy c'tor, assignment operator */
50 Test(const Test&);75 Test(const Test&);
5176
=== modified file 'src/process.cpp'
--- src/process.cpp 2011-12-08 23:07:53 +0000
+++ src/process.cpp 2011-12-12 08:48:26 +0000
@@ -1,3 +1,24 @@
1/*****************************************************************************
2 *
3 * X testing environment - Google Test environment feat. dummy x server
4 *
5 * Copyright (C) 2011 Canonical Ltd.
6 *
7 * This program is free software: you can redistribute it and/or modify it
8 * under the terms of the GNU General Public License as published by the
9 * Free Software Foundation, either version 3 of the License, or (at your
10 * option) any later version.
11 *
12 * This program is distributed in the hope that it will be useful, but
13 * WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License along
18 * with this program. If not, see <http://www.gnu.org/licenses/>.
19 *
20 ****************************************************************************/
21
1#include "xorg/gtest/process.h"22#include "xorg/gtest/process.h"
223
3#include <sys/types.h>24#include <sys/types.h>
425
=== modified file 'src/test.cpp'
--- src/test.cpp 2011-12-09 21:03:46 +0000
+++ src/test.cpp 2011-12-12 08:48:26 +0000
@@ -1,6 +1,6 @@
1/*****************************************************************************1/*****************************************************************************
2 *2 *
3 * utouch-frame - Touch Frame Library3 * X testing environment - Google Test environment feat. dummy x server
4 *4 *
5 * Copyright (C) 2011 Canonical Ltd.5 * Copyright (C) 2011 Canonical Ltd.
6 *6 *

Subscribers

People subscribed via source and target branches

to all changes: