Added doxygen-compatible comments
authorMarkus Kauppila <markus.kauppila@gmail.com>
Mon, 30 May 2011 11:53:59 +0300
changeset 56715b0e288921eb
parent 5670 bdaa6299e107
child 5672 d2df9dbce0ea
Added doxygen-compatible comments
test/test-automation/DoxyFile
test/test-automation/runner.c
test/test-automation/tests/SDL_test.c
test/test-automation/tests/SDL_test.h
test/test-automation/tests/test.c
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/test/test-automation/DoxyFile	Mon May 30 11:53:59 2011 +0300
     1.3 @@ -0,0 +1,1473 @@
     1.4 +# Doxyfile 1.5.7.1
     1.5 +
     1.6 +# This file describes the settings to be used by the documentation system
     1.7 +# doxygen (www.doxygen.org) for a project
     1.8 +#
     1.9 +# All text after a hash (#) is considered a comment and will be ignored
    1.10 +# The format is:
    1.11 +#       TAG = value [value, ...]
    1.12 +# For lists items can also be appended using:
    1.13 +#       TAG += value [value, ...]
    1.14 +# Values that contain spaces should be placed between quotes (" ")
    1.15 +
    1.16 +#---------------------------------------------------------------------------
    1.17 +# Project related configuration options
    1.18 +#---------------------------------------------------------------------------
    1.19 +
    1.20 +# This tag specifies the encoding used for all characters in the config file 
    1.21 +# that follow. The default is UTF-8 which is also the encoding used for all 
    1.22 +# text before the first occurrence of this tag. Doxygen uses libiconv (or the 
    1.23 +# iconv built into libc) for the transcoding. See 
    1.24 +# http://www.gnu.org/software/libiconv for the list of possible encodings.
    1.25 +
    1.26 +DOXYFILE_ENCODING      = UTF-8
    1.27 +
    1.28 +# The PROJECT_NAME tag is a single word (or a sequence of words surrounded 
    1.29 +# by quotes) that should identify the project.
    1.30 +
    1.31 +PROJECT_NAME           =  Test Runner
    1.32 +
    1.33 +# The PROJECT_NUMBER tag can be used to enter a project or revision number. 
    1.34 +# This could be handy for archiving the generated documentation or 
    1.35 +# if some version control system is used.
    1.36 +
    1.37 +PROJECT_NUMBER         = 
    1.38 +
    1.39 +# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) 
    1.40 +# base path where the generated documentation will be put. 
    1.41 +# If a relative path is entered, it will be relative to the location 
    1.42 +# where doxygen was started. If left blank the current directory will be used.
    1.43 +
    1.44 +OUTPUT_DIRECTORY       = docs/
    1.45 +
    1.46 +# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create 
    1.47 +# 4096 sub-directories (in 2 levels) under the output directory of each output 
    1.48 +# format and will distribute the generated files over these directories. 
    1.49 +# Enabling this option can be useful when feeding doxygen a huge amount of 
    1.50 +# source files, where putting all generated files in the same directory would 
    1.51 +# otherwise cause performance problems for the file system.
    1.52 +
    1.53 +CREATE_SUBDIRS         = NO
    1.54 +
    1.55 +# The OUTPUT_LANGUAGE tag is used to specify the language in which all 
    1.56 +# documentation generated by doxygen is written. Doxygen will use this 
    1.57 +# information to generate all constant output in the proper language. 
    1.58 +# The default language is English, other supported languages are: 
    1.59 +# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, 
    1.60 +# Croatian, Czech, Danish, Dutch, Farsi, Finnish, French, German, Greek, 
    1.61 +# Hungarian, Italian, Japanese, Japanese-en (Japanese with English messages), 
    1.62 +# Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, Polish, 
    1.63 +# Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak, Slovene, 
    1.64 +# Spanish, Swedish, and Ukrainian.
    1.65 +
    1.66 +OUTPUT_LANGUAGE        = English
    1.67 +
    1.68 +# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will 
    1.69 +# include brief member descriptions after the members that are listed in 
    1.70 +# the file and class documentation (similar to JavaDoc). 
    1.71 +# Set to NO to disable this.
    1.72 +
    1.73 +BRIEF_MEMBER_DESC      = YES
    1.74 +
    1.75 +# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend 
    1.76 +# the brief description of a member or function before the detailed description. 
    1.77 +# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the 
    1.78 +# brief descriptions will be completely suppressed.
    1.79 +
    1.80 +REPEAT_BRIEF           = YES
    1.81 +
    1.82 +# This tag implements a quasi-intelligent brief description abbreviator 
    1.83 +# that is used to form the text in various listings. Each string 
    1.84 +# in this list, if found as the leading text of the brief description, will be 
    1.85 +# stripped from the text and the result after processing the whole list, is 
    1.86 +# used as the annotated text. Otherwise, the brief description is used as-is. 
    1.87 +# If left blank, the following values are used ("$name" is automatically 
    1.88 +# replaced with the name of the entity): "The $name class" "The $name widget" 
    1.89 +# "The $name file" "is" "provides" "specifies" "contains" 
    1.90 +# "represents" "a" "an" "the"
    1.91 +
    1.92 +ABBREVIATE_BRIEF       = 
    1.93 +
    1.94 +# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then 
    1.95 +# Doxygen will generate a detailed section even if there is only a brief 
    1.96 +# description.
    1.97 +
    1.98 +ALWAYS_DETAILED_SEC    = NO
    1.99 +
   1.100 +# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all 
   1.101 +# inherited members of a class in the documentation of that class as if those 
   1.102 +# members were ordinary class members. Constructors, destructors and assignment 
   1.103 +# operators of the base classes will not be shown.
   1.104 +
   1.105 +INLINE_INHERITED_MEMB  = NO
   1.106 +
   1.107 +# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full 
   1.108 +# path before files name in the file list and in the header files. If set 
   1.109 +# to NO the shortest path that makes the file name unique will be used.
   1.110 +
   1.111 +FULL_PATH_NAMES        = YES
   1.112 +
   1.113 +# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag 
   1.114 +# can be used to strip a user-defined part of the path. Stripping is 
   1.115 +# only done if one of the specified strings matches the left-hand part of 
   1.116 +# the path. The tag can be used to show relative paths in the file list. 
   1.117 +# If left blank the directory from which doxygen is run is used as the 
   1.118 +# path to strip.
   1.119 +
   1.120 +STRIP_FROM_PATH        = 
   1.121 +
   1.122 +# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of 
   1.123 +# the path mentioned in the documentation of a class, which tells 
   1.124 +# the reader which header file to include in order to use a class. 
   1.125 +# If left blank only the name of the header file containing the class 
   1.126 +# definition is used. Otherwise one should specify the include paths that 
   1.127 +# are normally passed to the compiler using the -I flag.
   1.128 +
   1.129 +STRIP_FROM_INC_PATH    = 
   1.130 +
   1.131 +# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter 
   1.132 +# (but less readable) file names. This can be useful is your file systems 
   1.133 +# doesn't support long names like on DOS, Mac, or CD-ROM.
   1.134 +
   1.135 +SHORT_NAMES            = NO
   1.136 +
   1.137 +# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen 
   1.138 +# will interpret the first line (until the first dot) of a JavaDoc-style 
   1.139 +# comment as the brief description. If set to NO, the JavaDoc 
   1.140 +# comments will behave just like regular Qt-style comments 
   1.141 +# (thus requiring an explicit @brief command for a brief description.)
   1.142 +
   1.143 +JAVADOC_AUTOBRIEF      = NO
   1.144 +
   1.145 +# If the QT_AUTOBRIEF tag is set to YES then Doxygen will 
   1.146 +# interpret the first line (until the first dot) of a Qt-style 
   1.147 +# comment as the brief description. If set to NO, the comments 
   1.148 +# will behave just like regular Qt-style comments (thus requiring 
   1.149 +# an explicit \brief command for a brief description.)
   1.150 +
   1.151 +QT_AUTOBRIEF           = YES 
   1.152 +
   1.153 +# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen 
   1.154 +# treat a multi-line C++ special comment block (i.e. a block of //! or /// 
   1.155 +# comments) as a brief description. This used to be the default behaviour. 
   1.156 +# The new default is to treat a multi-line C++ comment block as a detailed 
   1.157 +# description. Set this tag to YES if you prefer the old behaviour instead.
   1.158 +
   1.159 +MULTILINE_CPP_IS_BRIEF = NO
   1.160 +
   1.161 +# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented 
   1.162 +# member inherits the documentation from any documented member that it 
   1.163 +# re-implements.
   1.164 +
   1.165 +INHERIT_DOCS           = YES
   1.166 +
   1.167 +# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce 
   1.168 +# a new page for each member. If set to NO, the documentation of a member will 
   1.169 +# be part of the file/class/namespace that contains it.
   1.170 +
   1.171 +SEPARATE_MEMBER_PAGES  = NO
   1.172 +
   1.173 +# The TAB_SIZE tag can be used to set the number of spaces in a tab. 
   1.174 +# Doxygen uses this value to replace tabs by spaces in code fragments.
   1.175 +
   1.176 +TAB_SIZE               = 4
   1.177 +
   1.178 +# This tag can be used to specify a number of aliases that acts 
   1.179 +# as commands in the documentation. An alias has the form "name=value". 
   1.180 +# For example adding "sideeffect=\par Side Effects:\n" will allow you to 
   1.181 +# put the command \sideeffect (or @sideeffect) in the documentation, which 
   1.182 +# will result in a user-defined paragraph with heading "Side Effects:". 
   1.183 +# You can put \n's in the value part of an alias to insert newlines.
   1.184 +
   1.185 +ALIASES                = 
   1.186 +
   1.187 +# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C 
   1.188 +# sources only. Doxygen will then generate output that is more tailored for C. 
   1.189 +# For instance, some of the names that are used will be different. The list 
   1.190 +# of all members will be omitted, etc.
   1.191 +
   1.192 +OPTIMIZE_OUTPUT_FOR_C  = YES
   1.193 +
   1.194 +# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java 
   1.195 +# sources only. Doxygen will then generate output that is more tailored for 
   1.196 +# Java. For instance, namespaces will be presented as packages, qualified 
   1.197 +# scopes will look different, etc.
   1.198 +
   1.199 +OPTIMIZE_OUTPUT_JAVA   = NO
   1.200 +
   1.201 +# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran 
   1.202 +# sources only. Doxygen will then generate output that is more tailored for 
   1.203 +# Fortran.
   1.204 +
   1.205 +OPTIMIZE_FOR_FORTRAN   = NO
   1.206 +
   1.207 +# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL 
   1.208 +# sources. Doxygen will then generate output that is tailored for 
   1.209 +# VHDL.
   1.210 +
   1.211 +OPTIMIZE_OUTPUT_VHDL   = NO
   1.212 +
   1.213 +# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want 
   1.214 +# to include (a tag file for) the STL sources as input, then you should 
   1.215 +# set this tag to YES in order to let doxygen match functions declarations and 
   1.216 +# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. 
   1.217 +# func(std::string) {}). This also make the inheritance and collaboration 
   1.218 +# diagrams that involve STL classes more complete and accurate.
   1.219 +
   1.220 +BUILTIN_STL_SUPPORT    = NO
   1.221 +
   1.222 +# If you use Microsoft's C++/CLI language, you should set this option to YES to
   1.223 +# enable parsing support.
   1.224 +
   1.225 +CPP_CLI_SUPPORT        = NO
   1.226 +
   1.227 +# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. 
   1.228 +# Doxygen will parse them like normal C++ but will assume all classes use public 
   1.229 +# instead of private inheritance when no explicit protection keyword is present.
   1.230 +
   1.231 +SIP_SUPPORT            = NO
   1.232 +
   1.233 +# For Microsoft's IDL there are propget and propput attributes to indicate getter 
   1.234 +# and setter methods for a property. Setting this option to YES (the default) 
   1.235 +# will make doxygen to replace the get and set methods by a property in the 
   1.236 +# documentation. This will only work if the methods are indeed getting or 
   1.237 +# setting a simple type. If this is not the case, or you want to show the 
   1.238 +# methods anyway, you should set this option to NO.
   1.239 +
   1.240 +IDL_PROPERTY_SUPPORT   = YES
   1.241 +
   1.242 +# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC 
   1.243 +# tag is set to YES, then doxygen will reuse the documentation of the first 
   1.244 +# member in the group (if any) for the other members of the group. By default 
   1.245 +# all members of a group must be documented explicitly.
   1.246 +
   1.247 +DISTRIBUTE_GROUP_DOC   = NO
   1.248 +
   1.249 +# Set the SUBGROUPING tag to YES (the default) to allow class member groups of 
   1.250 +# the same type (for instance a group of public functions) to be put as a 
   1.251 +# subgroup of that type (e.g. under the Public Functions section). Set it to 
   1.252 +# NO to prevent subgrouping. Alternatively, this can be done per class using 
   1.253 +# the \nosubgrouping command.
   1.254 +
   1.255 +SUBGROUPING            = YES
   1.256 +
   1.257 +# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum 
   1.258 +# is documented as struct, union, or enum with the name of the typedef. So 
   1.259 +# typedef struct TypeS {} TypeT, will appear in the documentation as a struct 
   1.260 +# with name TypeT. When disabled the typedef will appear as a member of a file, 
   1.261 +# namespace, or class. And the struct will be named TypeS. This can typically 
   1.262 +# be useful for C code in case the coding convention dictates that all compound 
   1.263 +# types are typedef'ed and only the typedef is referenced, never the tag name.
   1.264 +
   1.265 +TYPEDEF_HIDES_STRUCT   = NO
   1.266 +
   1.267 +# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to 
   1.268 +# determine which symbols to keep in memory and which to flush to disk.
   1.269 +# When the cache is full, less often used symbols will be written to disk.
   1.270 +# For small to medium size projects (<1000 input files) the default value is 
   1.271 +# probably good enough. For larger projects a too small cache size can cause 
   1.272 +# doxygen to be busy swapping symbols to and from disk most of the time 
   1.273 +# causing a significant performance penality. 
   1.274 +# If the system has enough physical memory increasing the cache will improve the 
   1.275 +# performance by keeping more symbols in memory. Note that the value works on 
   1.276 +# a logarithmic scale so increasing the size by one will rougly double the 
   1.277 +# memory usage. The cache size is given by this formula: 
   1.278 +# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, 
   1.279 +# corresponding to a cache size of 2^16 = 65536 symbols
   1.280 +
   1.281 +SYMBOL_CACHE_SIZE      = 0
   1.282 +
   1.283 +#---------------------------------------------------------------------------
   1.284 +# Build related configuration options
   1.285 +#---------------------------------------------------------------------------
   1.286 +
   1.287 +# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in 
   1.288 +# documentation are documented, even if no documentation was available. 
   1.289 +# Private class members and static file members will be hidden unless 
   1.290 +# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
   1.291 +
   1.292 +EXTRACT_ALL            = YES
   1.293 +
   1.294 +# If the EXTRACT_PRIVATE tag is set to YES all private members of a class 
   1.295 +# will be included in the documentation.
   1.296 +
   1.297 +EXTRACT_PRIVATE        = NO
   1.298 +
   1.299 +# If the EXTRACT_STATIC tag is set to YES all static members of a file 
   1.300 +# will be included in the documentation.
   1.301 +
   1.302 +EXTRACT_STATIC         = NO
   1.303 +
   1.304 +# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) 
   1.305 +# defined locally in source files will be included in the documentation. 
   1.306 +# If set to NO only classes defined in header files are included.
   1.307 +
   1.308 +EXTRACT_LOCAL_CLASSES  = YES
   1.309 +
   1.310 +# This flag is only useful for Objective-C code. When set to YES local 
   1.311 +# methods, which are defined in the implementation section but not in 
   1.312 +# the interface are included in the documentation. 
   1.313 +# If set to NO (the default) only methods in the interface are included.
   1.314 +
   1.315 +EXTRACT_LOCAL_METHODS  = NO
   1.316 +
   1.317 +# If this flag is set to YES, the members of anonymous namespaces will be 
   1.318 +# extracted and appear in the documentation as a namespace called 
   1.319 +# 'anonymous_namespace{file}', where file will be replaced with the base 
   1.320 +# name of the file that contains the anonymous namespace. By default 
   1.321 +# anonymous namespace are hidden.
   1.322 +
   1.323 +EXTRACT_ANON_NSPACES   = NO
   1.324 +
   1.325 +# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all 
   1.326 +# undocumented members of documented classes, files or namespaces. 
   1.327 +# If set to NO (the default) these members will be included in the 
   1.328 +# various overviews, but no documentation section is generated. 
   1.329 +# This option has no effect if EXTRACT_ALL is enabled.
   1.330 +
   1.331 +HIDE_UNDOC_MEMBERS     = NO
   1.332 +
   1.333 +# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all 
   1.334 +# undocumented classes that are normally visible in the class hierarchy. 
   1.335 +# If set to NO (the default) these classes will be included in the various 
   1.336 +# overviews. This option has no effect if EXTRACT_ALL is enabled.
   1.337 +
   1.338 +HIDE_UNDOC_CLASSES     = NO
   1.339 +
   1.340 +# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all 
   1.341 +# friend (class|struct|union) declarations. 
   1.342 +# If set to NO (the default) these declarations will be included in the 
   1.343 +# documentation.
   1.344 +
   1.345 +HIDE_FRIEND_COMPOUNDS  = NO
   1.346 +
   1.347 +# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any 
   1.348 +# documentation blocks found inside the body of a function. 
   1.349 +# If set to NO (the default) these blocks will be appended to the 
   1.350 +# function's detailed documentation block.
   1.351 +
   1.352 +HIDE_IN_BODY_DOCS      = NO
   1.353 +
   1.354 +# The INTERNAL_DOCS tag determines if documentation 
   1.355 +# that is typed after a \internal command is included. If the tag is set 
   1.356 +# to NO (the default) then the documentation will be excluded. 
   1.357 +# Set it to YES to include the internal documentation.
   1.358 +
   1.359 +INTERNAL_DOCS          = NO
   1.360 +
   1.361 +# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate 
   1.362 +# file names in lower-case letters. If set to YES upper-case letters are also 
   1.363 +# allowed. This is useful if you have classes or files whose names only differ 
   1.364 +# in case and if your file system supports case sensitive file names. Windows 
   1.365 +# and Mac users are advised to set this option to NO.
   1.366 +
   1.367 +CASE_SENSE_NAMES       = NO
   1.368 +
   1.369 +# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen 
   1.370 +# will show members with their full class and namespace scopes in the 
   1.371 +# documentation. If set to YES the scope will be hidden.
   1.372 +
   1.373 +HIDE_SCOPE_NAMES       = NO
   1.374 +
   1.375 +# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen 
   1.376 +# will put a list of the files that are included by a file in the documentation 
   1.377 +# of that file.
   1.378 +
   1.379 +SHOW_INCLUDE_FILES     = YES
   1.380 +
   1.381 +# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] 
   1.382 +# is inserted in the documentation for inline members.
   1.383 +
   1.384 +INLINE_INFO            = YES
   1.385 +
   1.386 +# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen 
   1.387 +# will sort the (detailed) documentation of file and class members 
   1.388 +# alphabetically by member name. If set to NO the members will appear in 
   1.389 +# declaration order.
   1.390 +
   1.391 +SORT_MEMBER_DOCS       = YES
   1.392 +
   1.393 +# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the 
   1.394 +# brief documentation of file, namespace and class members alphabetically 
   1.395 +# by member name. If set to NO (the default) the members will appear in 
   1.396 +# declaration order.
   1.397 +
   1.398 +SORT_BRIEF_DOCS        = NO
   1.399 +
   1.400 +# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the 
   1.401 +# hierarchy of group names into alphabetical order. If set to NO (the default) 
   1.402 +# the group names will appear in their defined order.
   1.403 +
   1.404 +SORT_GROUP_NAMES       = NO
   1.405 +
   1.406 +# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be 
   1.407 +# sorted by fully-qualified names, including namespaces. If set to 
   1.408 +# NO (the default), the class list will be sorted only by class name, 
   1.409 +# not including the namespace part. 
   1.410 +# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
   1.411 +# Note: This option applies only to the class list, not to the 
   1.412 +# alphabetical list.
   1.413 +
   1.414 +SORT_BY_SCOPE_NAME     = NO
   1.415 +
   1.416 +# The GENERATE_TODOLIST tag can be used to enable (YES) or 
   1.417 +# disable (NO) the todo list. This list is created by putting \todo 
   1.418 +# commands in the documentation.
   1.419 +
   1.420 +GENERATE_TODOLIST      = YES
   1.421 +
   1.422 +# The GENERATE_TESTLIST tag can be used to enable (YES) or 
   1.423 +# disable (NO) the test list. This list is created by putting \test 
   1.424 +# commands in the documentation.
   1.425 +
   1.426 +GENERATE_TESTLIST      = YES
   1.427 +
   1.428 +# The GENERATE_BUGLIST tag can be used to enable (YES) or 
   1.429 +# disable (NO) the bug list. This list is created by putting \bug 
   1.430 +# commands in the documentation.
   1.431 +
   1.432 +GENERATE_BUGLIST       = YES
   1.433 +
   1.434 +# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or 
   1.435 +# disable (NO) the deprecated list. This list is created by putting 
   1.436 +# \deprecated commands in the documentation.
   1.437 +
   1.438 +GENERATE_DEPRECATEDLIST= YES
   1.439 +
   1.440 +# The ENABLED_SECTIONS tag can be used to enable conditional 
   1.441 +# documentation sections, marked by \if sectionname ... \endif.
   1.442 +
   1.443 +ENABLED_SECTIONS       = 
   1.444 +
   1.445 +# The MAX_INITIALIZER_LINES tag determines the maximum number of lines 
   1.446 +# the initial value of a variable or define consists of for it to appear in 
   1.447 +# the documentation. If the initializer consists of more lines than specified 
   1.448 +# here it will be hidden. Use a value of 0 to hide initializers completely. 
   1.449 +# The appearance of the initializer of individual variables and defines in the 
   1.450 +# documentation can be controlled using \showinitializer or \hideinitializer 
   1.451 +# command in the documentation regardless of this setting.
   1.452 +
   1.453 +MAX_INITIALIZER_LINES  = 30
   1.454 +
   1.455 +# Set the SHOW_USED_FILES tag to NO to disable the list of files generated 
   1.456 +# at the bottom of the documentation of classes and structs. If set to YES the 
   1.457 +# list will mention the files that were used to generate the documentation.
   1.458 +
   1.459 +SHOW_USED_FILES        = YES
   1.460 +
   1.461 +# If the sources in your project are distributed over multiple directories 
   1.462 +# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy 
   1.463 +# in the documentation. The default is NO.
   1.464 +
   1.465 +SHOW_DIRECTORIES       = NO
   1.466 +
   1.467 +# Set the SHOW_FILES tag to NO to disable the generation of the Files page.
   1.468 +# This will remove the Files entry from the Quick Index and from the 
   1.469 +# Folder Tree View (if specified). The default is YES.
   1.470 +
   1.471 +SHOW_FILES             = YES
   1.472 +
   1.473 +# Set the SHOW_NAMESPACES tag to NO to disable the generation of the 
   1.474 +# Namespaces page.  This will remove the Namespaces entry from the Quick Index
   1.475 +# and from the Folder Tree View (if specified). The default is YES.
   1.476 +
   1.477 +SHOW_NAMESPACES        = YES
   1.478 +
   1.479 +# The FILE_VERSION_FILTER tag can be used to specify a program or script that 
   1.480 +# doxygen should invoke to get the current version for each file (typically from 
   1.481 +# the version control system). Doxygen will invoke the program by executing (via 
   1.482 +# popen()) the command <command> <input-file>, where <command> is the value of 
   1.483 +# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file 
   1.484 +# provided by doxygen. Whatever the program writes to standard output 
   1.485 +# is used as the file version. See the manual for examples.
   1.486 +
   1.487 +FILE_VERSION_FILTER    = 
   1.488 +
   1.489 +# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed by 
   1.490 +# doxygen. The layout file controls the global structure of the generated output files 
   1.491 +# in an output format independent way. The create the layout file that represents 
   1.492 +# doxygen's defaults, run doxygen with the -l option. You can optionally specify a 
   1.493 +# file name after the option, if omitted DoxygenLayout.xml will be used as the name 
   1.494 +# of the layout file.
   1.495 +
   1.496 +LAYOUT_FILE            = 
   1.497 +
   1.498 +#---------------------------------------------------------------------------
   1.499 +# configuration options related to warning and progress messages
   1.500 +#---------------------------------------------------------------------------
   1.501 +
   1.502 +# The QUIET tag can be used to turn on/off the messages that are generated 
   1.503 +# by doxygen. Possible values are YES and NO. If left blank NO is used.
   1.504 +
   1.505 +QUIET                  = NO
   1.506 +
   1.507 +# The WARNINGS tag can be used to turn on/off the warning messages that are 
   1.508 +# generated by doxygen. Possible values are YES and NO. If left blank 
   1.509 +# NO is used.
   1.510 +
   1.511 +WARNINGS               = YES
   1.512 +
   1.513 +# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings 
   1.514 +# for undocumented members. If EXTRACT_ALL is set to YES then this flag will 
   1.515 +# automatically be disabled.
   1.516 +
   1.517 +WARN_IF_UNDOCUMENTED   = YES
   1.518 +
   1.519 +# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for 
   1.520 +# potential errors in the documentation, such as not documenting some 
   1.521 +# parameters in a documented function, or documenting parameters that 
   1.522 +# don't exist or using markup commands wrongly.
   1.523 +
   1.524 +WARN_IF_DOC_ERROR      = YES
   1.525 +
   1.526 +# This WARN_NO_PARAMDOC option can be abled to get warnings for 
   1.527 +# functions that are documented, but have no documentation for their parameters 
   1.528 +# or return value. If set to NO (the default) doxygen will only warn about 
   1.529 +# wrong or incomplete parameter documentation, but not about the absence of 
   1.530 +# documentation.
   1.531 +
   1.532 +WARN_NO_PARAMDOC       = NO
   1.533 +
   1.534 +# The WARN_FORMAT tag determines the format of the warning messages that 
   1.535 +# doxygen can produce. The string should contain the $file, $line, and $text 
   1.536 +# tags, which will be replaced by the file and line number from which the 
   1.537 +# warning originated and the warning text. Optionally the format may contain 
   1.538 +# $version, which will be replaced by the version of the file (if it could 
   1.539 +# be obtained via FILE_VERSION_FILTER)
   1.540 +
   1.541 +WARN_FORMAT            = "$file:$line: $text"
   1.542 +
   1.543 +# The WARN_LOGFILE tag can be used to specify a file to which warning 
   1.544 +# and error messages should be written. If left blank the output is written 
   1.545 +# to stderr.
   1.546 +
   1.547 +WARN_LOGFILE           = 
   1.548 +
   1.549 +#---------------------------------------------------------------------------
   1.550 +# configuration options related to the input files
   1.551 +#---------------------------------------------------------------------------
   1.552 +
   1.553 +# The INPUT tag can be used to specify the files and/or directories that contain 
   1.554 +# documented source files. You may enter file names like "myfile.cpp" or 
   1.555 +# directories like "/usr/src/myproject". Separate the files or directories 
   1.556 +# with spaces.
   1.557 +
   1.558 +INPUT                  = 
   1.559 +
   1.560 +# This tag can be used to specify the character encoding of the source files 
   1.561 +# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is 
   1.562 +# also the default input encoding. Doxygen uses libiconv (or the iconv built 
   1.563 +# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for 
   1.564 +# the list of possible encodings.
   1.565 +
   1.566 +INPUT_ENCODING         = UTF-8
   1.567 +
   1.568 +# If the value of the INPUT tag contains directories, you can use the 
   1.569 +# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp 
   1.570 +# and *.h) to filter out the source-files in the directories. If left 
   1.571 +# blank the following patterns are tested: 
   1.572 +# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx 
   1.573 +# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90
   1.574 +
   1.575 +FILE_PATTERNS          = *.c *.h
   1.576 +
   1.577 +# The RECURSIVE tag can be used to turn specify whether or not subdirectories 
   1.578 +# should be searched for input files as well. Possible values are YES and NO. 
   1.579 +# If left blank NO is used.
   1.580 +
   1.581 +RECURSIVE              = YES
   1.582 +
   1.583 +# The EXCLUDE tag can be used to specify files and/or directories that should 
   1.584 +# excluded from the INPUT source files. This way you can easily exclude a 
   1.585 +# subdirectory from a directory tree whose root is specified with the INPUT tag.
   1.586 +
   1.587 +EXCLUDE                = 
   1.588 +
   1.589 +# The EXCLUDE_SYMLINKS tag can be used select whether or not files or 
   1.590 +# directories that are symbolic links (a Unix filesystem feature) are excluded 
   1.591 +# from the input.
   1.592 +
   1.593 +EXCLUDE_SYMLINKS       = NO
   1.594 +
   1.595 +# If the value of the INPUT tag contains directories, you can use the 
   1.596 +# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude 
   1.597 +# certain files from those directories. Note that the wildcards are matched 
   1.598 +# against the file with absolute path, so to exclude all test directories 
   1.599 +# for example use the pattern */test/*
   1.600 +
   1.601 +EXCLUDE_PATTERNS       = 
   1.602 +
   1.603 +# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names 
   1.604 +# (namespaces, classes, functions, etc.) that should be excluded from the 
   1.605 +# output. The symbol name can be a fully qualified name, a word, or if the 
   1.606 +# wildcard * is used, a substring. Examples: ANamespace, AClass, 
   1.607 +# AClass::ANamespace, ANamespace::*Test
   1.608 +
   1.609 +EXCLUDE_SYMBOLS        = 
   1.610 +
   1.611 +# The EXAMPLE_PATH tag can be used to specify one or more files or 
   1.612 +# directories that contain example code fragments that are included (see 
   1.613 +# the \include command).
   1.614 +
   1.615 +EXAMPLE_PATH           = 
   1.616 +
   1.617 +# If the value of the EXAMPLE_PATH tag contains directories, you can use the 
   1.618 +# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp 
   1.619 +# and *.h) to filter out the source-files in the directories. If left 
   1.620 +# blank all files are included.
   1.621 +
   1.622 +EXAMPLE_PATTERNS       = 
   1.623 +
   1.624 +# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be 
   1.625 +# searched for input files to be used with the \include or \dontinclude 
   1.626 +# commands irrespective of the value of the RECURSIVE tag. 
   1.627 +# Possible values are YES and NO. If left blank NO is used.
   1.628 +
   1.629 +EXAMPLE_RECURSIVE      = NO
   1.630 +
   1.631 +# The IMAGE_PATH tag can be used to specify one or more files or 
   1.632 +# directories that contain image that are included in the documentation (see 
   1.633 +# the \image command).
   1.634 +
   1.635 +IMAGE_PATH             = 
   1.636 +
   1.637 +# The INPUT_FILTER tag can be used to specify a program that doxygen should 
   1.638 +# invoke to filter for each input file. Doxygen will invoke the filter program 
   1.639 +# by executing (via popen()) the command <filter> <input-file>, where <filter> 
   1.640 +# is the value of the INPUT_FILTER tag, and <input-file> is the name of an 
   1.641 +# input file. Doxygen will then use the output that the filter program writes 
   1.642 +# to standard output.  If FILTER_PATTERNS is specified, this tag will be 
   1.643 +# ignored.
   1.644 +
   1.645 +INPUT_FILTER           = 
   1.646 +
   1.647 +# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern 
   1.648 +# basis.  Doxygen will compare the file name with each pattern and apply the 
   1.649 +# filter if there is a match.  The filters are a list of the form: 
   1.650 +# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further 
   1.651 +# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER 
   1.652 +# is applied to all files.
   1.653 +
   1.654 +FILTER_PATTERNS        = 
   1.655 +
   1.656 +# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using 
   1.657 +# INPUT_FILTER) will be used to filter the input files when producing source 
   1.658 +# files to browse (i.e. when SOURCE_BROWSER is set to YES).
   1.659 +
   1.660 +FILTER_SOURCE_FILES    = NO
   1.661 +
   1.662 +#---------------------------------------------------------------------------
   1.663 +# configuration options related to source browsing
   1.664 +#---------------------------------------------------------------------------
   1.665 +
   1.666 +# If the SOURCE_BROWSER tag is set to YES then a list of source files will 
   1.667 +# be generated. Documented entities will be cross-referenced with these sources. 
   1.668 +# Note: To get rid of all source code in the generated output, make sure also 
   1.669 +# VERBATIM_HEADERS is set to NO.
   1.670 +
   1.671 +SOURCE_BROWSER         = YES
   1.672 +
   1.673 +# Setting the INLINE_SOURCES tag to YES will include the body 
   1.674 +# of functions and classes directly in the documentation.
   1.675 +
   1.676 +INLINE_SOURCES         = NO
   1.677 +
   1.678 +# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct 
   1.679 +# doxygen to hide any special comment blocks from generated source code 
   1.680 +# fragments. Normal C and C++ comments will always remain visible.
   1.681 +
   1.682 +STRIP_CODE_COMMENTS    = NO
   1.683 +
   1.684 +# If the REFERENCED_BY_RELATION tag is set to YES 
   1.685 +# then for each documented function all documented 
   1.686 +# functions referencing it will be listed.
   1.687 +
   1.688 +REFERENCED_BY_RELATION = NO
   1.689 +
   1.690 +# If the REFERENCES_RELATION tag is set to YES 
   1.691 +# then for each documented function all documented entities 
   1.692 +# called/used by that function will be listed.
   1.693 +
   1.694 +REFERENCES_RELATION    = NO
   1.695 +
   1.696 +# If the REFERENCES_LINK_SOURCE tag is set to YES (the default)
   1.697 +# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from
   1.698 +# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will
   1.699 +# link to the source code.  Otherwise they will link to the documentstion.
   1.700 +
   1.701 +REFERENCES_LINK_SOURCE = YES
   1.702 +
   1.703 +# If the USE_HTAGS tag is set to YES then the references to source code 
   1.704 +# will point to the HTML generated by the htags(1) tool instead of doxygen 
   1.705 +# built-in source browser. The htags tool is part of GNU's global source 
   1.706 +# tagging system (see http://www.gnu.org/software/global/global.html). You 
   1.707 +# will need version 4.8.6 or higher.
   1.708 +
   1.709 +USE_HTAGS              = NO
   1.710 +
   1.711 +# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen 
   1.712 +# will generate a verbatim copy of the header file for each class for 
   1.713 +# which an include is specified. Set to NO to disable this.
   1.714 +
   1.715 +VERBATIM_HEADERS       = YES
   1.716 +
   1.717 +#---------------------------------------------------------------------------
   1.718 +# configuration options related to the alphabetical class index
   1.719 +#---------------------------------------------------------------------------
   1.720 +
   1.721 +# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index 
   1.722 +# of all compounds will be generated. Enable this if the project 
   1.723 +# contains a lot of classes, structs, unions or interfaces.
   1.724 +
   1.725 +ALPHABETICAL_INDEX     = NO
   1.726 +
   1.727 +# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then 
   1.728 +# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns 
   1.729 +# in which this list will be split (can be a number in the range [1..20])
   1.730 +
   1.731 +COLS_IN_ALPHA_INDEX    = 5
   1.732 +
   1.733 +# In case all classes in a project start with a common prefix, all 
   1.734 +# classes will be put under the same header in the alphabetical index. 
   1.735 +# The IGNORE_PREFIX tag can be used to specify one or more prefixes that 
   1.736 +# should be ignored while generating the index headers.
   1.737 +
   1.738 +IGNORE_PREFIX          = 
   1.739 +
   1.740 +#---------------------------------------------------------------------------
   1.741 +# configuration options related to the HTML output
   1.742 +#---------------------------------------------------------------------------
   1.743 +
   1.744 +# If the GENERATE_HTML tag is set to YES (the default) Doxygen will 
   1.745 +# generate HTML output.
   1.746 +
   1.747 +GENERATE_HTML          = YES
   1.748 +
   1.749 +# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. 
   1.750 +# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
   1.751 +# put in front of it. If left blank `html' will be used as the default path.
   1.752 +
   1.753 +HTML_OUTPUT            = html
   1.754 +
   1.755 +# The HTML_FILE_EXTENSION tag can be used to specify the file extension for 
   1.756 +# each generated HTML page (for example: .htm,.php,.asp). If it is left blank 
   1.757 +# doxygen will generate files with .html extension.
   1.758 +
   1.759 +HTML_FILE_EXTENSION    = .html
   1.760 +
   1.761 +# The HTML_HEADER tag can be used to specify a personal HTML header for 
   1.762 +# each generated HTML page. If it is left blank doxygen will generate a 
   1.763 +# standard header.
   1.764 +
   1.765 +HTML_HEADER            = 
   1.766 +
   1.767 +# The HTML_FOOTER tag can be used to specify a personal HTML footer for 
   1.768 +# each generated HTML page. If it is left blank doxygen will generate a 
   1.769 +# standard footer.
   1.770 +
   1.771 +HTML_FOOTER            = 
   1.772 +
   1.773 +# The HTML_STYLESHEET tag can be used to specify a user-defined cascading 
   1.774 +# style sheet that is used by each HTML page. It can be used to 
   1.775 +# fine-tune the look of the HTML output. If the tag is left blank doxygen 
   1.776 +# will generate a default style sheet. Note that doxygen will try to copy 
   1.777 +# the style sheet file to the HTML output directory, so don't put your own 
   1.778 +# stylesheet in the HTML output directory as well, or it will be erased!
   1.779 +
   1.780 +HTML_STYLESHEET        = 
   1.781 +
   1.782 +# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, 
   1.783 +# files or namespaces will be aligned in HTML using tables. If set to 
   1.784 +# NO a bullet list will be used.
   1.785 +
   1.786 +HTML_ALIGN_MEMBERS     = YES
   1.787 +
   1.788 +# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML 
   1.789 +# documentation will contain sections that can be hidden and shown after the 
   1.790 +# page has loaded. For this to work a browser that supports 
   1.791 +# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox 
   1.792 +# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari).
   1.793 +
   1.794 +HTML_DYNAMIC_SECTIONS  = NO
   1.795 +
   1.796 +# If the GENERATE_DOCSET tag is set to YES, additional index files 
   1.797 +# will be generated that can be used as input for Apple's Xcode 3 
   1.798 +# integrated development environment, introduced with OSX 10.5 (Leopard). 
   1.799 +# To create a documentation set, doxygen will generate a Makefile in the 
   1.800 +# HTML output directory. Running make will produce the docset in that 
   1.801 +# directory and running "make install" will install the docset in 
   1.802 +# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find 
   1.803 +# it at startup. 
   1.804 +# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html for more information.
   1.805 +
   1.806 +GENERATE_DOCSET        = NO
   1.807 +
   1.808 +# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the 
   1.809 +# feed. A documentation feed provides an umbrella under which multiple 
   1.810 +# documentation sets from a single provider (such as a company or product suite) 
   1.811 +# can be grouped.
   1.812 +
   1.813 +DOCSET_FEEDNAME        = "Doxygen generated docs"
   1.814 +
   1.815 +# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that 
   1.816 +# should uniquely identify the documentation set bundle. This should be a 
   1.817 +# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen 
   1.818 +# will append .docset to the name.
   1.819 +
   1.820 +DOCSET_BUNDLE_ID       = org.doxygen.Project
   1.821 +
   1.822 +# If the GENERATE_HTMLHELP tag is set to YES, additional index files 
   1.823 +# will be generated that can be used as input for tools like the 
   1.824 +# Microsoft HTML help workshop to generate a compiled HTML help file (.chm) 
   1.825 +# of the generated HTML documentation.
   1.826 +
   1.827 +GENERATE_HTMLHELP      = NO
   1.828 +
   1.829 +# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can 
   1.830 +# be used to specify the file name of the resulting .chm file. You 
   1.831 +# can add a path in front of the file if the result should not be 
   1.832 +# written to the html output directory.
   1.833 +
   1.834 +CHM_FILE               = 
   1.835 +
   1.836 +# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can 
   1.837 +# be used to specify the location (absolute path including file name) of 
   1.838 +# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run 
   1.839 +# the HTML help compiler on the generated index.hhp.
   1.840 +
   1.841 +HHC_LOCATION           = 
   1.842 +
   1.843 +# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag 
   1.844 +# controls if a separate .chi index file is generated (YES) or that 
   1.845 +# it should be included in the master .chm file (NO).
   1.846 +
   1.847 +GENERATE_CHI           = NO
   1.848 +
   1.849 +# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING
   1.850 +# is used to encode HtmlHelp index (hhk), content (hhc) and project file
   1.851 +# content.
   1.852 +
   1.853 +CHM_INDEX_ENCODING     = 
   1.854 +
   1.855 +# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag 
   1.856 +# controls whether a binary table of contents is generated (YES) or a 
   1.857 +# normal table of contents (NO) in the .chm file.
   1.858 +
   1.859 +BINARY_TOC             = YES
   1.860 +
   1.861 +# The TOC_EXPAND flag can be set to YES to add extra items for group members 
   1.862 +# to the contents of the HTML help documentation and to the tree view.
   1.863 +
   1.864 +TOC_EXPAND             = YES
   1.865 +
   1.866 +# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and QHP_VIRTUAL_FOLDER 
   1.867 +# are set, an additional index file will be generated that can be used as input for 
   1.868 +# Qt's qhelpgenerator to generate a Qt Compressed Help (.qch) of the generated 
   1.869 +# HTML documentation.
   1.870 +
   1.871 +GENERATE_QHP           = NO
   1.872 +
   1.873 +# If the QHG_LOCATION tag is specified, the QCH_FILE tag can 
   1.874 +# be used to specify the file name of the resulting .qch file. 
   1.875 +# The path specified is relative to the HTML output folder.
   1.876 +
   1.877 +QCH_FILE               = 
   1.878 +
   1.879 +# The QHP_NAMESPACE tag specifies the namespace to use when generating 
   1.880 +# Qt Help Project output. For more information please see 
   1.881 +# <a href="http://doc.trolltech.com/qthelpproject.html#namespace">Qt Help Project / Namespace</a>.
   1.882 +
   1.883 +QHP_NAMESPACE          = org.doxygen.Project
   1.884 +
   1.885 +# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating 
   1.886 +# Qt Help Project output. For more information please see 
   1.887 +# <a href="http://doc.trolltech.com/qthelpproject.html#virtual-folders">Qt Help Project / Virtual Folders</a>.
   1.888 +
   1.889 +QHP_VIRTUAL_FOLDER     = doc
   1.890 +
   1.891 +# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can 
   1.892 +# be used to specify the location of Qt's qhelpgenerator. 
   1.893 +# If non-empty doxygen will try to run qhelpgenerator on the generated 
   1.894 +# .qhp file .
   1.895 +
   1.896 +QHG_LOCATION           = 
   1.897 +
   1.898 +# The DISABLE_INDEX tag can be used to turn on/off the condensed index at 
   1.899 +# top of each HTML page. The value NO (the default) enables the index and 
   1.900 +# the value YES disables it.
   1.901 +
   1.902 +DISABLE_INDEX          = NO
   1.903 +
   1.904 +# This tag can be used to set the number of enum values (range [1..20]) 
   1.905 +# that doxygen will group on one line in the generated HTML documentation.
   1.906 +
   1.907 +ENUM_VALUES_PER_LINE   = 4
   1.908 +
   1.909 +# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
   1.910 +# structure should be generated to display hierarchical information.
   1.911 +# If the tag value is set to FRAME, a side panel will be generated
   1.912 +# containing a tree-like index structure (just like the one that 
   1.913 +# is generated for HTML Help). For this to work a browser that supports 
   1.914 +# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, 
   1.915 +# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are 
   1.916 +# probably better off using the HTML help feature. Other possible values 
   1.917 +# for this tag are: HIERARCHIES, which will generate the Groups, Directories,
   1.918 +# and Class Hierarchy pages using a tree view instead of an ordered list;
   1.919 +# ALL, which combines the behavior of FRAME and HIERARCHIES; and NONE, which
   1.920 +# disables this behavior completely. For backwards compatibility with previous
   1.921 +# releases of Doxygen, the values YES and NO are equivalent to FRAME and NONE
   1.922 +# respectively.
   1.923 +
   1.924 +GENERATE_TREEVIEW      = NONE
   1.925 +
   1.926 +# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be 
   1.927 +# used to set the initial width (in pixels) of the frame in which the tree 
   1.928 +# is shown.
   1.929 +
   1.930 +TREEVIEW_WIDTH         = 250
   1.931 +
   1.932 +# Use this tag to change the font size of Latex formulas included 
   1.933 +# as images in the HTML documentation. The default is 10. Note that 
   1.934 +# when you change the font size after a successful doxygen run you need 
   1.935 +# to manually remove any form_*.png images from the HTML output directory 
   1.936 +# to force them to be regenerated.
   1.937 +
   1.938 +FORMULA_FONTSIZE       = 10
   1.939 +
   1.940 +#---------------------------------------------------------------------------
   1.941 +# configuration options related to the LaTeX output
   1.942 +#---------------------------------------------------------------------------
   1.943 +
   1.944 +# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will 
   1.945 +# generate Latex output.
   1.946 +
   1.947 +GENERATE_LATEX         = NO 
   1.948 +
   1.949 +# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. 
   1.950 +# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
   1.951 +# put in front of it. If left blank `latex' will be used as the default path.
   1.952 +
   1.953 +LATEX_OUTPUT           = latex
   1.954 +
   1.955 +# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be 
   1.956 +# invoked. If left blank `latex' will be used as the default command name.
   1.957 +
   1.958 +LATEX_CMD_NAME         = latex
   1.959 +
   1.960 +# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to 
   1.961 +# generate index for LaTeX. If left blank `makeindex' will be used as the 
   1.962 +# default command name.
   1.963 +
   1.964 +MAKEINDEX_CMD_NAME     = makeindex
   1.965 +
   1.966 +# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact 
   1.967 +# LaTeX documents. This may be useful for small projects and may help to 
   1.968 +# save some trees in general.
   1.969 +
   1.970 +COMPACT_LATEX          = NO
   1.971 +
   1.972 +# The PAPER_TYPE tag can be used to set the paper type that is used 
   1.973 +# by the printer. Possible values are: a4, a4wide, letter, legal and 
   1.974 +# executive. If left blank a4wide will be used.
   1.975 +
   1.976 +PAPER_TYPE             = a4wide
   1.977 +
   1.978 +# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX 
   1.979 +# packages that should be included in the LaTeX output.
   1.980 +
   1.981 +EXTRA_PACKAGES         = 
   1.982 +
   1.983 +# The LATEX_HEADER tag can be used to specify a personal LaTeX header for 
   1.984 +# the generated latex document. The header should contain everything until 
   1.985 +# the first chapter. If it is left blank doxygen will generate a 
   1.986 +# standard header. Notice: only use this tag if you know what you are doing!
   1.987 +
   1.988 +LATEX_HEADER           = 
   1.989 +
   1.990 +# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated 
   1.991 +# is prepared for conversion to pdf (using ps2pdf). The pdf file will 
   1.992 +# contain links (just like the HTML output) instead of page references 
   1.993 +# This makes the output suitable for online browsing using a pdf viewer.
   1.994 +
   1.995 +PDF_HYPERLINKS         = YES
   1.996 +
   1.997 +# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of 
   1.998 +# plain latex in the generated Makefile. Set this option to YES to get a 
   1.999 +# higher quality PDF documentation.
  1.1000 +
  1.1001 +USE_PDFLATEX           = YES
  1.1002 +
  1.1003 +# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. 
  1.1004 +# command to the generated LaTeX files. This will instruct LaTeX to keep 
  1.1005 +# running if errors occur, instead of asking the user for help. 
  1.1006 +# This option is also used when generating formulas in HTML.
  1.1007 +
  1.1008 +LATEX_BATCHMODE        = NO
  1.1009 +
  1.1010 +# If LATEX_HIDE_INDICES is set to YES then doxygen will not 
  1.1011 +# include the index chapters (such as File Index, Compound Index, etc.) 
  1.1012 +# in the output.
  1.1013 +
  1.1014 +LATEX_HIDE_INDICES     = NO
  1.1015 +
  1.1016 +#---------------------------------------------------------------------------
  1.1017 +# configuration options related to the RTF output
  1.1018 +#---------------------------------------------------------------------------
  1.1019 +
  1.1020 +# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output 
  1.1021 +# The RTF output is optimized for Word 97 and may not look very pretty with 
  1.1022 +# other RTF readers or editors.
  1.1023 +
  1.1024 +GENERATE_RTF           = NO
  1.1025 +
  1.1026 +# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. 
  1.1027 +# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
  1.1028 +# put in front of it. If left blank `rtf' will be used as the default path.
  1.1029 +
  1.1030 +RTF_OUTPUT             = rtf
  1.1031 +
  1.1032 +# If the COMPACT_RTF tag is set to YES Doxygen generates more compact 
  1.1033 +# RTF documents. This may be useful for small projects and may help to 
  1.1034 +# save some trees in general.
  1.1035 +
  1.1036 +COMPACT_RTF            = NO
  1.1037 +
  1.1038 +# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated 
  1.1039 +# will contain hyperlink fields. The RTF file will 
  1.1040 +# contain links (just like the HTML output) instead of page references. 
  1.1041 +# This makes the output suitable for online browsing using WORD or other 
  1.1042 +# programs which support those fields. 
  1.1043 +# Note: wordpad (write) and others do not support links.
  1.1044 +
  1.1045 +RTF_HYPERLINKS         = NO
  1.1046 +
  1.1047 +# Load stylesheet definitions from file. Syntax is similar to doxygen's 
  1.1048 +# config file, i.e. a series of assignments. You only have to provide 
  1.1049 +# replacements, missing definitions are set to their default value.
  1.1050 +
  1.1051 +RTF_STYLESHEET_FILE    = 
  1.1052 +
  1.1053 +# Set optional variables used in the generation of an rtf document. 
  1.1054 +# Syntax is similar to doxygen's config file.
  1.1055 +
  1.1056 +RTF_EXTENSIONS_FILE    = 
  1.1057 +
  1.1058 +#---------------------------------------------------------------------------
  1.1059 +# configuration options related to the man page output
  1.1060 +#---------------------------------------------------------------------------
  1.1061 +
  1.1062 +# If the GENERATE_MAN tag is set to YES (the default) Doxygen will 
  1.1063 +# generate man pages
  1.1064 +
  1.1065 +GENERATE_MAN           = NO
  1.1066 +
  1.1067 +# The MAN_OUTPUT tag is used to specify where the man pages will be put. 
  1.1068 +# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
  1.1069 +# put in front of it. If left blank `man' will be used as the default path.
  1.1070 +
  1.1071 +MAN_OUTPUT             = man
  1.1072 +
  1.1073 +# The MAN_EXTENSION tag determines the extension that is added to 
  1.1074 +# the generated man pages (default is the subroutine's section .3)
  1.1075 +
  1.1076 +MAN_EXTENSION          = .3
  1.1077 +
  1.1078 +# If the MAN_LINKS tag is set to YES and Doxygen generates man output, 
  1.1079 +# then it will generate one additional man file for each entity 
  1.1080 +# documented in the real man page(s). These additional files 
  1.1081 +# only source the real man page, but without them the man command 
  1.1082 +# would be unable to find the correct page. The default is NO.
  1.1083 +
  1.1084 +MAN_LINKS              = NO
  1.1085 +
  1.1086 +#---------------------------------------------------------------------------
  1.1087 +# configuration options related to the XML output
  1.1088 +#---------------------------------------------------------------------------
  1.1089 +
  1.1090 +# If the GENERATE_XML tag is set to YES Doxygen will 
  1.1091 +# generate an XML file that captures the structure of 
  1.1092 +# the code including all documentation.
  1.1093 +
  1.1094 +GENERATE_XML           = NO
  1.1095 +
  1.1096 +# The XML_OUTPUT tag is used to specify where the XML pages will be put. 
  1.1097 +# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
  1.1098 +# put in front of it. If left blank `xml' will be used as the default path.
  1.1099 +
  1.1100 +XML_OUTPUT             = xml
  1.1101 +
  1.1102 +# The XML_SCHEMA tag can be used to specify an XML schema, 
  1.1103 +# which can be used by a validating XML parser to check the 
  1.1104 +# syntax of the XML files.
  1.1105 +
  1.1106 +XML_SCHEMA             = 
  1.1107 +
  1.1108 +# The XML_DTD tag can be used to specify an XML DTD, 
  1.1109 +# which can be used by a validating XML parser to check the 
  1.1110 +# syntax of the XML files.
  1.1111 +
  1.1112 +XML_DTD                = 
  1.1113 +
  1.1114 +# If the XML_PROGRAMLISTING tag is set to YES Doxygen will 
  1.1115 +# dump the program listings (including syntax highlighting 
  1.1116 +# and cross-referencing information) to the XML output. Note that 
  1.1117 +# enabling this will significantly increase the size of the XML output.
  1.1118 +
  1.1119 +XML_PROGRAMLISTING     = YES
  1.1120 +
  1.1121 +#---------------------------------------------------------------------------
  1.1122 +# configuration options for the AutoGen Definitions output
  1.1123 +#---------------------------------------------------------------------------
  1.1124 +
  1.1125 +# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will 
  1.1126 +# generate an AutoGen Definitions (see autogen.sf.net) file 
  1.1127 +# that captures the structure of the code including all 
  1.1128 +# documentation. Note that this feature is still experimental 
  1.1129 +# and incomplete at the moment.
  1.1130 +
  1.1131 +GENERATE_AUTOGEN_DEF   = NO
  1.1132 +
  1.1133 +#---------------------------------------------------------------------------
  1.1134 +# configuration options related to the Perl module output
  1.1135 +#---------------------------------------------------------------------------
  1.1136 +
  1.1137 +# If the GENERATE_PERLMOD tag is set to YES Doxygen will 
  1.1138 +# generate a Perl module file that captures the structure of 
  1.1139 +# the code including all documentation. Note that this 
  1.1140 +# feature is still experimental and incomplete at the 
  1.1141 +# moment.
  1.1142 +
  1.1143 +GENERATE_PERLMOD       = NO
  1.1144 +
  1.1145 +# If the PERLMOD_LATEX tag is set to YES Doxygen will generate 
  1.1146 +# the necessary Makefile rules, Perl scripts and LaTeX code to be able 
  1.1147 +# to generate PDF and DVI output from the Perl module output.
  1.1148 +
  1.1149 +PERLMOD_LATEX          = NO
  1.1150 +
  1.1151 +# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be 
  1.1152 +# nicely formatted so it can be parsed by a human reader.  This is useful 
  1.1153 +# if you want to understand what is going on.  On the other hand, if this 
  1.1154 +# tag is set to NO the size of the Perl module output will be much smaller 
  1.1155 +# and Perl will parse it just the same.
  1.1156 +
  1.1157 +PERLMOD_PRETTY         = YES
  1.1158 +
  1.1159 +# The names of the make variables in the generated doxyrules.make file 
  1.1160 +# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. 
  1.1161 +# This is useful so different doxyrules.make files included by the same 
  1.1162 +# Makefile don't overwrite each other's variables.
  1.1163 +
  1.1164 +PERLMOD_MAKEVAR_PREFIX = 
  1.1165 +
  1.1166 +#---------------------------------------------------------------------------
  1.1167 +# Configuration options related to the preprocessor   
  1.1168 +#---------------------------------------------------------------------------
  1.1169 +
  1.1170 +# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will 
  1.1171 +# evaluate all C-preprocessor directives found in the sources and include 
  1.1172 +# files.
  1.1173 +
  1.1174 +ENABLE_PREPROCESSING   = YES
  1.1175 +
  1.1176 +# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro 
  1.1177 +# names in the source code. If set to NO (the default) only conditional 
  1.1178 +# compilation will be performed. Macro expansion can be done in a controlled 
  1.1179 +# way by setting EXPAND_ONLY_PREDEF to YES.
  1.1180 +
  1.1181 +MACRO_EXPANSION        = NO
  1.1182 +
  1.1183 +# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES 
  1.1184 +# then the macro expansion is limited to the macros specified with the 
  1.1185 +# PREDEFINED and EXPAND_AS_DEFINED tags.
  1.1186 +
  1.1187 +EXPAND_ONLY_PREDEF     = NO
  1.1188 +
  1.1189 +# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files 
  1.1190 +# in the INCLUDE_PATH (see below) will be search if a #include is found.
  1.1191 +
  1.1192 +SEARCH_INCLUDES        = YES
  1.1193 +
  1.1194 +# The INCLUDE_PATH tag can be used to specify one or more directories that 
  1.1195 +# contain include files that are not input files but should be processed by 
  1.1196 +# the preprocessor.
  1.1197 +
  1.1198 +INCLUDE_PATH           = 
  1.1199 +
  1.1200 +# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard 
  1.1201 +# patterns (like *.h and *.hpp) to filter out the header-files in the 
  1.1202 +# directories. If left blank, the patterns specified with FILE_PATTERNS will 
  1.1203 +# be used.
  1.1204 +
  1.1205 +INCLUDE_FILE_PATTERNS  = 
  1.1206 +
  1.1207 +# The PREDEFINED tag can be used to specify one or more macro names that 
  1.1208 +# are defined before the preprocessor is started (similar to the -D option of 
  1.1209 +# gcc). The argument of the tag is a list of macros of the form: name 
  1.1210 +# or name=definition (no spaces). If the definition and the = are 
  1.1211 +# omitted =1 is assumed. To prevent a macro definition from being 
  1.1212 +# undefined via #undef or recursively expanded use the := operator 
  1.1213 +# instead of the = operator.
  1.1214 +
  1.1215 +PREDEFINED             = 
  1.1216 +
  1.1217 +# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then 
  1.1218 +# this tag can be used to specify a list of macro names that should be expanded. 
  1.1219 +# The macro definition that is found in the sources will be used. 
  1.1220 +# Use the PREDEFINED tag if you want to use a different macro definition.
  1.1221 +
  1.1222 +EXPAND_AS_DEFINED      = 
  1.1223 +
  1.1224 +# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then 
  1.1225 +# doxygen's preprocessor will remove all function-like macros that are alone 
  1.1226 +# on a line, have an all uppercase name, and do not end with a semicolon. Such 
  1.1227 +# function macros are typically used for boiler-plate code, and will confuse 
  1.1228 +# the parser if not removed.
  1.1229 +
  1.1230 +SKIP_FUNCTION_MACROS   = YES
  1.1231 +
  1.1232 +#---------------------------------------------------------------------------
  1.1233 +# Configuration::additions related to external references   
  1.1234 +#---------------------------------------------------------------------------
  1.1235 +
  1.1236 +# The TAGFILES option can be used to specify one or more tagfiles. 
  1.1237 +# Optionally an initial location of the external documentation 
  1.1238 +# can be added for each tagfile. The format of a tag file without 
  1.1239 +# this location is as follows: 
  1.1240 +#   TAGFILES = file1 file2 ... 
  1.1241 +# Adding location for the tag files is done as follows: 
  1.1242 +#   TAGFILES = file1=loc1 "file2 = loc2" ... 
  1.1243 +# where "loc1" and "loc2" can be relative or absolute paths or 
  1.1244 +# URLs. If a location is present for each tag, the installdox tool 
  1.1245 +# does not have to be run to correct the links.
  1.1246 +# Note that each tag file must have a unique name
  1.1247 +# (where the name does NOT include the path)
  1.1248 +# If a tag file is not located in the directory in which doxygen 
  1.1249 +# is run, you must also specify the path to the tagfile here.
  1.1250 +
  1.1251 +TAGFILES               = 
  1.1252 +
  1.1253 +# When a file name is specified after GENERATE_TAGFILE, doxygen will create 
  1.1254 +# a tag file that is based on the input files it reads.
  1.1255 +
  1.1256 +GENERATE_TAGFILE       = 
  1.1257 +
  1.1258 +# If the ALLEXTERNALS tag is set to YES all external classes will be listed 
  1.1259 +# in the class index. If set to NO only the inherited external classes 
  1.1260 +# will be listed.
  1.1261 +
  1.1262 +ALLEXTERNALS           = NO
  1.1263 +
  1.1264 +# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed 
  1.1265 +# in the modules index. If set to NO, only the current project's groups will 
  1.1266 +# be listed.
  1.1267 +
  1.1268 +EXTERNAL_GROUPS        = YES
  1.1269 +
  1.1270 +# The PERL_PATH should be the absolute path and name of the perl script 
  1.1271 +# interpreter (i.e. the result of `which perl').
  1.1272 +
  1.1273 +PERL_PATH              = /usr/bin/perl
  1.1274 +
  1.1275 +#---------------------------------------------------------------------------
  1.1276 +# Configuration options related to the dot tool   
  1.1277 +#---------------------------------------------------------------------------
  1.1278 +
  1.1279 +# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will 
  1.1280 +# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base 
  1.1281 +# or super classes. Setting the tag to NO turns the diagrams off. Note that 
  1.1282 +# this option is superseded by the HAVE_DOT option below. This is only a 
  1.1283 +# fallback. It is recommended to install and use dot, since it yields more 
  1.1284 +# powerful graphs.
  1.1285 +
  1.1286 +CLASS_DIAGRAMS         = YES
  1.1287 +
  1.1288 +# You can define message sequence charts within doxygen comments using the \msc 
  1.1289 +# command. Doxygen will then run the mscgen tool (see 
  1.1290 +# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the 
  1.1291 +# documentation. The MSCGEN_PATH tag allows you to specify the directory where 
  1.1292 +# the mscgen tool resides. If left empty the tool is assumed to be found in the 
  1.1293 +# default search path.
  1.1294 +
  1.1295 +MSCGEN_PATH            = 
  1.1296 +
  1.1297 +# If set to YES, the inheritance and collaboration graphs will hide 
  1.1298 +# inheritance and usage relations if the target is undocumented 
  1.1299 +# or is not a class.
  1.1300 +
  1.1301 +HIDE_UNDOC_RELATIONS   = YES
  1.1302 +
  1.1303 +# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is 
  1.1304 +# available from the path. This tool is part of Graphviz, a graph visualization 
  1.1305 +# toolkit from AT&T and Lucent Bell Labs. The other options in this section 
  1.1306 +# have no effect if this option is set to NO (the default)
  1.1307 +
  1.1308 +HAVE_DOT               = NO
  1.1309 +
  1.1310 +# By default doxygen will write a font called FreeSans.ttf to the output 
  1.1311 +# directory and reference it in all dot files that doxygen generates. This 
  1.1312 +# font does not include all possible unicode characters however, so when you need 
  1.1313 +# these (or just want a differently looking font) you can specify the font name 
  1.1314 +# using DOT_FONTNAME. You need need to make sure dot is able to find the font, 
  1.1315 +# which can be done by putting it in a standard location or by setting the 
  1.1316 +# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory 
  1.1317 +# containing the font.
  1.1318 +
  1.1319 +DOT_FONTNAME           = FreeSans
  1.1320 +
  1.1321 +# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. 
  1.1322 +# The default size is 10pt.
  1.1323 +
  1.1324 +DOT_FONTSIZE           = 10
  1.1325 +
  1.1326 +# By default doxygen will tell dot to use the output directory to look for the 
  1.1327 +# FreeSans.ttf font (which doxygen will put there itself). If you specify a 
  1.1328 +# different font using DOT_FONTNAME you can set the path where dot 
  1.1329 +# can find it using this tag.
  1.1330 +
  1.1331 +DOT_FONTPATH           = 
  1.1332 +
  1.1333 +# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen 
  1.1334 +# will generate a graph for each documented class showing the direct and 
  1.1335 +# indirect inheritance relations. Setting this tag to YES will force the 
  1.1336 +# the CLASS_DIAGRAMS tag to NO.
  1.1337 +
  1.1338 +CLASS_GRAPH            = YES
  1.1339 +
  1.1340 +# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen 
  1.1341 +# will generate a graph for each documented class showing the direct and 
  1.1342 +# indirect implementation dependencies (inheritance, containment, and 
  1.1343 +# class references variables) of the class with other documented classes.
  1.1344 +
  1.1345 +COLLABORATION_GRAPH    = YES
  1.1346 +
  1.1347 +# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen 
  1.1348 +# will generate a graph for groups, showing the direct groups dependencies
  1.1349 +
  1.1350 +GROUP_GRAPHS           = YES
  1.1351 +
  1.1352 +# If the UML_LOOK tag is set to YES doxygen will generate inheritance and 
  1.1353 +# collaboration diagrams in a style similar to the OMG's Unified Modeling 
  1.1354 +# Language.
  1.1355 +
  1.1356 +UML_LOOK               = NO
  1.1357 +
  1.1358 +# If set to YES, the inheritance and collaboration graphs will show the 
  1.1359 +# relations between templates and their instances.
  1.1360 +
  1.1361 +TEMPLATE_RELATIONS     = NO
  1.1362 +
  1.1363 +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT 
  1.1364 +# tags are set to YES then doxygen will generate a graph for each documented 
  1.1365 +# file showing the direct and indirect include dependencies of the file with 
  1.1366 +# other documented files.
  1.1367 +
  1.1368 +INCLUDE_GRAPH          = YES
  1.1369 +
  1.1370 +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and 
  1.1371 +# HAVE_DOT tags are set to YES then doxygen will generate a graph for each 
  1.1372 +# documented header file showing the documented files that directly or 
  1.1373 +# indirectly include this file.
  1.1374 +
  1.1375 +INCLUDED_BY_GRAPH      = YES
  1.1376 +
  1.1377 +# If the CALL_GRAPH and HAVE_DOT options are set to YES then 
  1.1378 +# doxygen will generate a call dependency graph for every global function 
  1.1379 +# or class method. Note that enabling this option will significantly increase 
  1.1380 +# the time of a run. So in most cases it will be better to enable call graphs 
  1.1381 +# for selected functions only using the \callgraph command.
  1.1382 +
  1.1383 +CALL_GRAPH             = NO
  1.1384 +
  1.1385 +# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then 
  1.1386 +# doxygen will generate a caller dependency graph for every global function 
  1.1387 +# or class method. Note that enabling this option will significantly increase 
  1.1388 +# the time of a run. So in most cases it will be better to enable caller 
  1.1389 +# graphs for selected functions only using the \callergraph command.
  1.1390 +
  1.1391 +CALLER_GRAPH           = NO
  1.1392 +
  1.1393 +# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen 
  1.1394 +# will graphical hierarchy of all classes instead of a textual one.
  1.1395 +
  1.1396 +GRAPHICAL_HIERARCHY    = YES
  1.1397 +
  1.1398 +# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES 
  1.1399 +# then doxygen will show the dependencies a directory has on other directories 
  1.1400 +# in a graphical way. The dependency relations are determined by the #include
  1.1401 +# relations between the files in the directories.
  1.1402 +
  1.1403 +DIRECTORY_GRAPH        = YES
  1.1404 +
  1.1405 +# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images 
  1.1406 +# generated by dot. Possible values are png, jpg, or gif
  1.1407 +# If left blank png will be used.
  1.1408 +
  1.1409 +DOT_IMAGE_FORMAT       = png
  1.1410 +
  1.1411 +# The tag DOT_PATH can be used to specify the path where the dot tool can be 
  1.1412 +# found. If left blank, it is assumed the dot tool can be found in the path.
  1.1413 +
  1.1414 +DOT_PATH               = 
  1.1415 +
  1.1416 +# The DOTFILE_DIRS tag can be used to specify one or more directories that 
  1.1417 +# contain dot files that are included in the documentation (see the 
  1.1418 +# \dotfile command).
  1.1419 +
  1.1420 +DOTFILE_DIRS           = 
  1.1421 +
  1.1422 +# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of 
  1.1423 +# nodes that will be shown in the graph. If the number of nodes in a graph 
  1.1424 +# becomes larger than this value, doxygen will truncate the graph, which is 
  1.1425 +# visualized by representing a node as a red box. Note that doxygen if the 
  1.1426 +# number of direct children of the root node in a graph is already larger than 
  1.1427 +# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note 
  1.1428 +# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
  1.1429 +
  1.1430 +DOT_GRAPH_MAX_NODES    = 50
  1.1431 +
  1.1432 +# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the 
  1.1433 +# graphs generated by dot. A depth value of 3 means that only nodes reachable 
  1.1434 +# from the root by following a path via at most 3 edges will be shown. Nodes 
  1.1435 +# that lay further from the root node will be omitted. Note that setting this 
  1.1436 +# option to 1 or 2 may greatly reduce the computation time needed for large 
  1.1437 +# code bases. Also note that the size of a graph can be further restricted by 
  1.1438 +# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.
  1.1439 +
  1.1440 +MAX_DOT_GRAPH_DEPTH    = 0
  1.1441 +
  1.1442 +# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent 
  1.1443 +# background. This is disabled by default, because dot on Windows does not 
  1.1444 +# seem to support this out of the box. Warning: Depending on the platform used, 
  1.1445 +# enabling this option may lead to badly anti-aliased labels on the edges of 
  1.1446 +# a graph (i.e. they become hard to read).
  1.1447 +
  1.1448 +DOT_TRANSPARENT        = NO
  1.1449 +
  1.1450 +# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output 
  1.1451 +# files in one run (i.e. multiple -o and -T options on the command line). This 
  1.1452 +# makes dot run faster, but since only newer versions of dot (>1.8.10) 
  1.1453 +# support this, this feature is disabled by default.
  1.1454 +
  1.1455 +DOT_MULTI_TARGETS      = NO
  1.1456 +
  1.1457 +# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will 
  1.1458 +# generate a legend page explaining the meaning of the various boxes and 
  1.1459 +# arrows in the dot generated graphs.
  1.1460 +
  1.1461 +GENERATE_LEGEND        = YES
  1.1462 +
  1.1463 +# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will 
  1.1464 +# remove the intermediate dot files that are used to generate 
  1.1465 +# the various graphs.
  1.1466 +
  1.1467 +DOT_CLEANUP            = YES
  1.1468 +
  1.1469 +#---------------------------------------------------------------------------
  1.1470 +# Configuration::additions related to the search engine   
  1.1471 +#---------------------------------------------------------------------------
  1.1472 +
  1.1473 +# The SEARCHENGINE tag specifies whether or not a search engine should be 
  1.1474 +# used. If set to NO the values of all tags below this one will be ignored.
  1.1475 +
  1.1476 +SEARCHENGINE           = NO
     2.1 --- a/test/test-automation/runner.c	Thu May 26 20:13:49 2011 -0700
     2.2 +++ b/test/test-automation/runner.c	Mon May 30 11:53:59 2011 +0300
     2.3 @@ -27,7 +27,12 @@
     2.4  
     2.5  #include "tests/SDL_test.h"
     2.6  
     2.7 -void *LoadLibrary() {
     2.8 +/*!
     2.9 + * Loads test suite which is implemented as dynamic library.
    2.10 + *
    2.11 + * \return Loaded test suite
    2.12 + */
    2.13 +void *LoadTestSuite() {
    2.14  #if defined(linux) || defined( __linux)
    2.15  	char *libName = "tests/libtest.so";
    2.16  #else
    2.17 @@ -43,10 +48,16 @@
    2.18  	return library;
    2.19  }
    2.20  
    2.21 +/*!
    2.22 + * Loads the test case references from the given test suite.
    2.23 +
    2.24 + * \param library Previously loaded dynamic library AKA test suite
    2.25 + * \return Loaded TestCaseReferences
    2.26 + */
    2.27  TestCaseReference **QueryTestCases(void *library) {
    2.28  	TestCaseReference **(*suite)(void);
    2.29  
    2.30 -	suite = (TestCaseReference **(*)(void)) SDL_LoadFunction(library, "QueryTestCaseReferences");
    2.31 +	suite = (TestCaseReference **(*)(void)) SDL_LoadFunction(library, "QueryTestSuite");
    2.32  	if(suite == NULL) {
    2.33  		printf("Loading QueryTestCaseReferences() failed.\n");
    2.34  		printf("%s\n", SDL_GetError());
    2.35 @@ -61,6 +72,21 @@
    2.36  	return tests;
    2.37  }
    2.38  
    2.39 +/*
    2.40 + *
    2.41 + */
    2.42 +
    2.43 +/*!
    2.44 + * Success or failure of test case is determined by
    2.45 + * it's return value. If test case succeeds, it'll
    2.46 + * return 0, if not it will return a positive integer.
    2.47 + *
    2.48 + * The function checks the return value and returns value
    2.49 + * based on it. If the test is aborted due to a signal
    2.50 + * function warn about it.
    2.51 + *
    2.52 + * \return 1 if test case succeeded, 0 otherwise
    2.53 + */
    2.54  int HandleTestReturnValue(int stat_lock) {
    2.55  	if(WIFEXITED(stat_lock)) {
    2.56  		int returnValue = WEXITSTATUS(stat_lock);
    2.57 @@ -71,13 +97,8 @@
    2.58  	} else if(WIFSIGNALED(stat_lock)) {
    2.59  		int signal = WTERMSIG(stat_lock);
    2.60  		printf("FAILURE: test was aborted due to signal nro %d\n", signal);
    2.61 -		//errorMsg =
    2.62 -		//errorMsg = SDL_malloc(256 * sizeof(char));
    2.63 -		//sprintf(errorMsg, "was aborted due to signal nro %d", signal);
    2.64  
    2.65  	} else if(WIFSTOPPED(stat_lock)) {
    2.66 -		//int signal = WSTOPSIG(stat_lock);
    2.67 -		//printf("%d: %d was stopped by signal nro %d\n", pid, child, signal);
    2.68  	}
    2.69  
    2.70  	return 0;
    2.71 @@ -86,7 +107,7 @@
    2.72  
    2.73  int main(int argc, char *argv[]) {
    2.74  
    2.75 -	// Handle command line arguments
    2.76 +	//! \todo Handle command line arguments
    2.77  
    2.78  	// print: Testing againts SDL version fuu (rev: bar)
    2.79  
    2.80 @@ -96,58 +117,59 @@
    2.81  
    2.82  	const Uint32 startTicks = SDL_GetTicks();
    2.83  
    2.84 -	void *library = LoadLibrary();
    2.85 -	TestCaseReference **tests = QueryTestCases(library);
    2.86 +	void *suite = LoadTestSuite();
    2.87 +	TestCaseReference **tests = QueryTestCases(suite);
    2.88  
    2.89  	TestCaseReference *reference = NULL;
    2.90  	int counter = 0;
    2.91  
    2.92 -	printf("DEBUG: Starting to run test\n");
    2.93 -	fflush(stdout);
    2.94 +	for(reference = tests[counter]; reference; reference = tests[++counter]) {
    2.95 +		if(reference->enabled == TEST_DISABLED) {
    2.96 +			printf("Test %s (in %s) disabled. Omitting...\n", reference->name, libName);
    2.97 +		} else {
    2.98 +			char *testname = reference->name;
    2.99  
   2.100 -	for(reference = tests[counter]; reference; reference = tests[++counter]) {
   2.101 -		char *testname = reference->name;
   2.102 -		printf("Running %s (in %s):\n", testname, libName);
   2.103 +			printf("Running %s (in %s):\n", testname, libName);
   2.104  
   2.105 -		int childpid = fork();
   2.106 -		if(childpid == 0) {
   2.107 -			void (*test)(void *arg);
   2.108 +			int childpid = fork();
   2.109 +			if(childpid == 0) {
   2.110 +				void (*test)(void *arg);
   2.111  
   2.112 -			test = (void (*)(void *)) SDL_LoadFunction(library, testname);
   2.113 -			if(test == NULL) {
   2.114 -				printf("Loading test failed, tests == NULL\n");
   2.115 -				printf("%s\n", SDL_GetError());
   2.116 +				test = (void (*)(void *)) SDL_LoadFunction(suite, testname);
   2.117 +				if(test == NULL) {
   2.118 +					printf("Loading test failed, tests == NULL\n");
   2.119 +					printf("%s\n", SDL_GetError());
   2.120 +				} else {
   2.121 +					test(0x0);
   2.122 +				}
   2.123 +				return 0; // exit the child if the test didn't exit
   2.124  			} else {
   2.125 -				test(0x0);
   2.126 -			}
   2.127 -			return 0; // exit the child if the test didn't exit
   2.128 -		} else {
   2.129 -			int stat_lock = -1;
   2.130 -			int child = wait(&stat_lock);
   2.131 +				int stat_lock = -1;
   2.132 +				int child = wait(&stat_lock);
   2.133  
   2.134 -			int passed = -1;
   2.135 +				int passed = -1;
   2.136 +
   2.137 +				passed = HandleTestReturnValue(stat_lock);
   2.138  
   2.139 -			passed = HandleTestReturnValue(stat_lock);
   2.140 -
   2.141 -			if(passed) {
   2.142 -				passCount++;
   2.143 -				printf("%s (in %s): ok\n", testname, libName);
   2.144 -			} else {
   2.145 -				failureCount++;
   2.146 -				printf("%s (in %s): failed\n", testname, libName);
   2.147 +				if(passed) {
   2.148 +					passCount++;
   2.149 +					printf("%s (in %s): ok\n", testname, libName);
   2.150 +				} else {
   2.151 +					failureCount++;
   2.152 +					printf("%s (in %s): failed\n", testname, libName);
   2.153 +				}
   2.154  			}
   2.155  		}
   2.156  
   2.157  		printf("\n");
   2.158  	}
   2.159  	
   2.160 -	SDL_UnloadObject(library);
   2.161 +	SDL_UnloadObject(suite);
   2.162  
   2.163  	const Uint32 endTicks = SDL_GetTicks();
   2.164  
   2.165  	printf("Ran %d tests in %0.3f seconds.\n", (passCount + failureCount), (endTicks-startTicks)/1000.0f);
   2.166  
   2.167 -	printf("all tests executed\n");
   2.168  	printf("%d tests passed\n", passCount);
   2.169  	printf("%d tests failed\n", failureCount);
   2.170  
     3.1 --- a/test/test-automation/tests/SDL_test.c	Thu May 26 20:13:49 2011 -0700
     3.2 +++ b/test/test-automation/tests/SDL_test.c	Mon May 30 11:53:59 2011 +0300
     3.3 @@ -25,16 +25,17 @@
     3.4  
     3.5  #include <stdlib.h>
     3.6  
     3.7 +/*! \brief return value of test case. Non-zero value means that the test failed */
     3.8  static int _testReturnValue;
     3.9  
    3.10  void
    3.11 -TestInit()
    3.12 +TestCaseInit()
    3.13  {
    3.14  	_testReturnValue = 0;
    3.15  }
    3.16  
    3.17  void
    3.18 -TestQuit()
    3.19 +TestCaseQuit()
    3.20  {
    3.21  	exit(_testReturnValue);
    3.22  }
     4.1 --- a/test/test-automation/tests/SDL_test.h	Thu May 26 20:13:49 2011 -0700
     4.2 +++ b/test/test-automation/tests/SDL_test.h	Mon May 30 11:53:59 2011 +0300
     4.3 @@ -23,15 +23,34 @@
     4.4  
     4.5  #include <SDL/SDL.h>
     4.6  
     4.7 +// \todo Should these be consts?
     4.8 +#define TEST_ENABLED  1
     4.9 +#define TEST_DISABLED 0
    4.10 +
    4.11 +
    4.12 +/*!
    4.13 + * Holds information about a test case
    4.14 + */
    4.15  typedef struct TestCaseReference {
    4.16 -	char *name;         /* "Func2Stress" */
    4.17 -	char *description;  /* "This test beats the crap out of func2()" */
    4.18 -	int enabled;       /* Set to TEST_ENABLED or TEST_DISABLED */
    4.19 -	long requirements;  /* Set to TEST_REQUIRES_OPENGL, TEST_REQUIRES_AUDIO, ... */
    4.20 +	char *name;         /*!< "Func2Stress" */
    4.21 +	char *description;  /*!< "This test beats the crap out of func2()" */
    4.22 +	int enabled;       /*!< Set to TEST_ENABLED or TEST_DISABLED */
    4.23 +	long requirements;  /*!< Set to TEST_REQUIRES_OPENGL, TEST_REQUIRES_AUDIO, ... */
    4.24  } TestCaseReference;
    4.25  
    4.26 -void TestInit();
    4.27 -void TestQuit();
    4.28 +/*! \fn TestCaseInit
    4.29 + *  Initialized the test case. Must be called at
    4.30 + *  the beginning of every test case, before doing
    4.31 + *  anything else.
    4.32 + */
    4.33 +void TestCaseInit();
    4.34 +
    4.35 +/*! \fn TestCaseQuit
    4.36 + *  Deinitializes and exits the test case
    4.37 + *
    4.38 + */
    4.39 +void TestCaseQuit();
    4.40 +
    4.41  
    4.42  void AssertEquals(char *message, Uint32 expected, Uint32 actual);
    4.43  
     5.1 --- a/test/test-automation/tests/test.c	Thu May 26 20:13:49 2011 -0700
     5.2 +++ b/test/test-automation/tests/test.c	Mon May 30 11:53:59 2011 +0300
     5.3 @@ -28,50 +28,56 @@
     5.4  #include "SDL_test.h"
     5.5  
     5.6  /* Test cases */
     5.7 -static const TestCaseReference test1 = 
     5.8 -		(TestCaseReference){ "hello", "description", 1, 0 };
     5.9 +static const TestCaseReference test1 =
    5.10 +		(TestCaseReference){ "hello", "description", TEST_ENABLED, 0 };
    5.11  
    5.12 -static const TestCaseReference test2 = 
    5.13 -		(TestCaseReference){ "hello2", "description", 1, 0 };
    5.14 +static const TestCaseReference test2 =
    5.15 +		(TestCaseReference){ "hello2", "description", TEST_DISABLED, 0 };
    5.16 +
    5.17 +static const TestCaseReference test3 =
    5.18 +		(TestCaseReference){ "hello3", "description", TEST_ENABLED, 0 };
    5.19  
    5.20  /* Test suite */
    5.21  extern const TestCaseReference *testSuite[] =  {
    5.22 -	&test1, &test2, NULL
    5.23 +	&test1, &test2, &test3, NULL
    5.24  };
    5.25  
    5.26  
    5.27 -TestCaseReference **QueryTestCaseReferences() {
    5.28 +TestCaseReference **QueryTestSuite() {
    5.29  	return (TestCaseReference **)testSuite;
    5.30  }
    5.31  
    5.32 -void hello(void *arg){
    5.33 -	TestInit();
    5.34 +/* Test case functions */
    5.35 +void hello(void *arg)
    5.36 +{
    5.37 +	TestCaseInit();
    5.38  
    5.39  	const char *revision = SDL_GetRevision();
    5.40  
    5.41  	printf("Revision is %s\n", revision);
    5.42  	AssertEquals("will fail", 3, 5);
    5.43  
    5.44 -	TestQuit();
    5.45 +	TestCaseQuit();
    5.46  }
    5.47  
    5.48 -void hello2(void *arg) {
    5.49 -	TestInit();
    5.50 +void hello2(void *arg)
    5.51 +{
    5.52 +	TestCaseInit();
    5.53  
    5.54 -	// why this isn't segfaulting?
    5.55  	char *msg = "eello";
    5.56  	msg[0] = 'H';
    5.57  
    5.58 -	TestQuit();
    5.59 +	TestCaseQuit();
    5.60  }
    5.61  
    5.62 -void hello3(void *arg) {
    5.63 -	TestInit();
    5.64 +void hello3(void *arg)
    5.65 +{
    5.66 +	TestCaseInit();
    5.67  	printf("hello3\n");
    5.68  
    5.69  	AssertEquals("passes", 3, 3);
    5.70  
    5.71 -	TestQuit();
    5.72 +	TestCaseQuit();
    5.73  }
    5.74  
    5.75  #endif