Commit cb438825d899a2892d585b1b92e143873789f87e

Authored by Imanol-Mikel Barba Sabariego
1 parent 7ab25725

FINAL CODE

Too many changes to show.

To preserve performance only 6 of 10 files are displayed.

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