From 990647a512dbdd15ee907c1dc77bf0c8e7e8db48 Mon Sep 17 00:00:00 2001 From: Georg Hopp Date: Sun, 20 Nov 2011 05:49:12 +0100 Subject: [PATCH] added a doxygen config as well as the patch for doxygen to handle my own class definitions. Changed all copyright to file scope --- .doxygen | 277 +++++++++++++++++++++++++++++++++++ ChangeLog | 8 +- include/token/cclass.h | 1 + include/token/crypt.h | 1 + include/token/dyntype.h | 1 + include/token/dyntype/hash.h | 1 + include/token/packet.h | 1 + include/token/token.h | 1 + patches/mydoxy.patch | 49 +++++++ src/cclass.c | 1 + src/crypt.c | 1 + src/dyntype.c | 1 + src/dyntype/hash.c | 1 + src/packet.c | 1 + tests/cclassTest.c | 18 +++ tests/cryptTest.c | 18 +++ tests/mock/class.c | 18 +++ tests/mock/class.h | 18 +++ tests/packetTest.c | 18 +++ tests/runtest.c | 18 +++ tests/runtest.h | 18 +++ 21 files changed, 469 insertions(+), 2 deletions(-) create mode 100644 .doxygen create mode 100644 patches/mydoxy.patch diff --git a/.doxygen b/.doxygen new file mode 100644 index 0000000..b5c88a9 --- /dev/null +++ b/.doxygen @@ -0,0 +1,277 @@ +# Doxyfile 1.7.3 + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- +DOXYFILE_ENCODING = UTF-8 +PROJECT_NAME = c-token +PROJECT_NUMBER = +PROJECT_BRIEF = +PROJECT_LOGO = +OUTPUT_DIRECTORY = docs +CREATE_SUBDIRS = NO +OUTPUT_LANGUAGE = English +BRIEF_MEMBER_DESC = YES +REPEAT_BRIEF = YES +ABBREVIATE_BRIEF = +ALWAYS_DETAILED_SEC = NO +INLINE_INHERITED_MEMB = NO +FULL_PATH_NAMES = YES +STRIP_FROM_PATH = +STRIP_FROM_INC_PATH = +SHORT_NAMES = NO +JAVADOC_AUTOBRIEF = NO +QT_AUTOBRIEF = NO +MULTILINE_CPP_IS_BRIEF = NO +INHERIT_DOCS = YES +SEPARATE_MEMBER_PAGES = NO +TAB_SIZE = 8 +ALIASES = +OPTIMIZE_OUTPUT_FOR_C = YES +OPTIMIZE_OUTPUT_JAVA = NO +OPTIMIZE_FOR_FORTRAN = NO +OPTIMIZE_OUTPUT_VHDL = NO +EXTENSION_MAPPING = +BUILTIN_STL_SUPPORT = NO +CPP_CLI_SUPPORT = YES +SIP_SUPPORT = NO +IDL_PROPERTY_SUPPORT = YES +DISTRIBUTE_GROUP_DOC = NO +SUBGROUPING = YES +TYPEDEF_HIDES_STRUCT = NO +SYMBOL_CACHE_SIZE = 0 +#--------------------------------------------------------------------------- +# Build related configuration options +#--------------------------------------------------------------------------- +EXTRACT_ALL = YES +EXTRACT_PRIVATE = NO +EXTRACT_STATIC = NO +EXTRACT_LOCAL_CLASSES = YES +EXTRACT_LOCAL_METHODS = NO +EXTRACT_ANON_NSPACES = NO +HIDE_UNDOC_MEMBERS = NO +HIDE_UNDOC_CLASSES = NO +HIDE_FRIEND_COMPOUNDS = NO +HIDE_IN_BODY_DOCS = NO +INTERNAL_DOCS = YES +CASE_SENSE_NAMES = YES +HIDE_SCOPE_NAMES = NO +SHOW_INCLUDE_FILES = YES +FORCE_LOCAL_INCLUDES = NO +INLINE_INFO = YES +SORT_MEMBER_DOCS = YES +SORT_BRIEF_DOCS = NO +SORT_MEMBERS_CTORS_1ST = NO +SORT_GROUP_NAMES = NO +SORT_BY_SCOPE_NAME = NO +STRICT_PROTO_MATCHING = NO +GENERATE_TODOLIST = YES +GENERATE_TESTLIST = YES +GENERATE_BUGLIST = YES +GENERATE_DEPRECATEDLIST= YES +ENABLED_SECTIONS = +MAX_INITIALIZER_LINES = 30 +SHOW_USED_FILES = YES +SHOW_DIRECTORIES = NO +SHOW_FILES = YES +SHOW_NAMESPACES = YES +FILE_VERSION_FILTER = +LAYOUT_FILE = +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- +QUIET = NO +WARNINGS = YES +WARN_IF_UNDOCUMENTED = YES +WARN_IF_DOC_ERROR = YES +WARN_NO_PARAMDOC = NO +WARN_FORMAT = "$file:$line: $text" +WARN_LOGFILE = +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- +INPUT = +INPUT_ENCODING = UTF-8 +FILE_PATTERNS = +RECURSIVE = YES +EXCLUDE = +EXCLUDE_SYMLINKS = NO +EXCLUDE_PATTERNS = +EXCLUDE_SYMBOLS = +EXAMPLE_PATH = +EXAMPLE_PATTERNS = +EXAMPLE_RECURSIVE = NO +IMAGE_PATH = +INPUT_FILTER = +FILTER_PATTERNS = +FILTER_SOURCE_FILES = NO +FILTER_SOURCE_PATTERNS = +#--------------------------------------------------------------------------- +# configuration options related to source browsing +#--------------------------------------------------------------------------- +SOURCE_BROWSER = YES +INLINE_SOURCES = YES +STRIP_CODE_COMMENTS = YES +REFERENCED_BY_RELATION = NO +REFERENCES_RELATION = NO +REFERENCES_LINK_SOURCE = YES +USE_HTAGS = NO +VERBATIM_HEADERS = YES +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- +ALPHABETICAL_INDEX = YES +COLS_IN_ALPHA_INDEX = 5 +IGNORE_PREFIX = +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- +GENERATE_HTML = YES +HTML_OUTPUT = html +HTML_FILE_EXTENSION = .html +HTML_HEADER = +HTML_FOOTER = +HTML_STYLESHEET = +HTML_COLORSTYLE_HUE = 220 +HTML_COLORSTYLE_SAT = 100 +HTML_COLORSTYLE_GAMMA = 80 +HTML_TIMESTAMP = YES +HTML_ALIGN_MEMBERS = YES +HTML_DYNAMIC_SECTIONS = NO +GENERATE_DOCSET = NO +DOCSET_FEEDNAME = "Doxygen generated docs" +DOCSET_BUNDLE_ID = org.doxygen.Project +DOCSET_PUBLISHER_ID = org.doxygen.Publisher +DOCSET_PUBLISHER_NAME = Publisher +GENERATE_HTMLHELP = NO +CHM_FILE = +HHC_LOCATION = +GENERATE_CHI = NO +CHM_INDEX_ENCODING = +BINARY_TOC = NO +TOC_EXPAND = NO +GENERATE_QHP = NO +QCH_FILE = +QHP_NAMESPACE = org.doxygen.Project +QHP_VIRTUAL_FOLDER = doc +QHP_CUST_FILTER_NAME = +QHP_CUST_FILTER_ATTRS = +QHP_SECT_FILTER_ATTRS = +QHG_LOCATION = +GENERATE_ECLIPSEHELP = NO +ECLIPSE_DOC_ID = org.doxygen.Project +DISABLE_INDEX = NO +ENUM_VALUES_PER_LINE = 4 +GENERATE_TREEVIEW = YES +USE_INLINE_TREES = YES +TREEVIEW_WIDTH = 250 +EXT_LINKS_IN_WINDOW = NO +FORMULA_FONTSIZE = 10 +FORMULA_TRANSPARENT = YES +USE_MATHJAX = NO +MATHJAX_RELPATH = http://www.mathjax.org/mathjax +SEARCHENGINE = YES +SERVER_BASED_SEARCH = NO +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- +GENERATE_LATEX = YES +LATEX_OUTPUT = latex +LATEX_CMD_NAME = latex +MAKEINDEX_CMD_NAME = makeindex +COMPACT_LATEX = NO +PAPER_TYPE = a4 +EXTRA_PACKAGES = +LATEX_HEADER = +PDF_HYPERLINKS = YES +USE_PDFLATEX = YES +LATEX_BATCHMODE = NO +LATEX_HIDE_INDICES = NO +LATEX_SOURCE_CODE = NO +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- +GENERATE_RTF = NO +RTF_OUTPUT = rtf +COMPACT_RTF = NO +RTF_HYPERLINKS = NO +RTF_STYLESHEET_FILE = +RTF_EXTENSIONS_FILE = +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- +GENERATE_MAN = NO +MAN_OUTPUT = man +MAN_EXTENSION = .3 +MAN_LINKS = NO +#--------------------------------------------------------------------------- +# configuration options related to the XML output +#--------------------------------------------------------------------------- +GENERATE_XML = NO +XML_OUTPUT = xml +XML_SCHEMA = +XML_DTD = +XML_PROGRAMLISTING = YES +#--------------------------------------------------------------------------- +# configuration options for the AutoGen Definitions output +#--------------------------------------------------------------------------- +GENERATE_AUTOGEN_DEF = NO +#--------------------------------------------------------------------------- +# configuration options related to the Perl module output +#--------------------------------------------------------------------------- +GENERATE_PERLMOD = NO +PERLMOD_LATEX = NO +PERLMOD_PRETTY = YES +PERLMOD_MAKEVAR_PREFIX = +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- +ENABLE_PREPROCESSING = NO +MACRO_EXPANSION = NO +EXPAND_ONLY_PREDEF = NO +SEARCH_INCLUDES = YES +INCLUDE_PATH = +INCLUDE_FILE_PATTERNS = +PREDEFINED = +EXPAND_AS_DEFINED = +SKIP_FUNCTION_MACROS = YES +#--------------------------------------------------------------------------- +# Configuration::additions related to external references +#--------------------------------------------------------------------------- +TAGFILES = +GENERATE_TAGFILE = +ALLEXTERNALS = NO +EXTERNAL_GROUPS = YES +PERL_PATH = /usr/bin/perl +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- +CLASS_DIAGRAMS = YES +MSCGEN_PATH = +HIDE_UNDOC_RELATIONS = YES +HAVE_DOT = YES +DOT_NUM_THREADS = 0 +DOT_FONTNAME = Helvetica +DOT_FONTSIZE = 10 +DOT_FONTPATH = +CLASS_GRAPH = YES +COLLABORATION_GRAPH = YES +GROUP_GRAPHS = YES +UML_LOOK = NO +TEMPLATE_RELATIONS = NO +INCLUDE_GRAPH = YES +INCLUDED_BY_GRAPH = YES +CALL_GRAPH = YES +CALLER_GRAPH = YES +GRAPHICAL_HIERARCHY = YES +DIRECTORY_GRAPH = YES +DOT_IMAGE_FORMAT = png +DOT_PATH = +DOTFILE_DIRS = +MSCFILE_DIRS = +DOT_GRAPH_MAX_NODES = 50 +MAX_DOT_GRAPH_DEPTH = 0 +DOT_TRANSPARENT = YES +DOT_MULTI_TARGETS = NO +GENERATE_LEGEND = YES +DOT_CLEANUP = YES diff --git a/ChangeLog b/ChangeLog index 8e9e6a5..485ba57 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,10 +1,14 @@ +2011-11-20 05:49:12 +0100 Georg Hopp + + * added a doxygen config as well as the patch for doxygen to handle my own class definitions. Changed all copyright to file scope (HEAD, master) + 2011-11-20 02:39:21 +0100 Georg Hopp - * finished tests for packet (HEAD, master) + * finished tests for packet (origin/master, origin/HEAD) 2011-11-20 00:41:23 +0100 Georg Hopp - * update ChangeLog (origin/master, origin/HEAD) + * update ChangeLog 2011-11-20 00:22:49 +0100 Georg Hopp diff --git a/include/token/cclass.h b/include/token/cclass.h index f1c0d25..caf600c 100644 --- a/include/token/cclass.h +++ b/include/token/cclass.h @@ -1,4 +1,5 @@ /** + * \file * cclass.h: basic "class-like" handling of code and data structures * Copyright (C) 2011 Georg Hopp * diff --git a/include/token/crypt.h b/include/token/crypt.h index f9d3a83..9b41886 100644 --- a/include/token/crypt.h +++ b/include/token/crypt.h @@ -1,4 +1,5 @@ /** + * \file * crypt.h: pseudo OO wrapper around libmcrypt. * Copyright (C) 2011 Georg Hopp * diff --git a/include/token/dyntype.h b/include/token/dyntype.h index caa4f98..454cc3c 100644 --- a/include/token/dyntype.h +++ b/include/token/dyntype.h @@ -1,4 +1,5 @@ /** + * \file * dyntype.h: structur to hold values of different type and retrieve them again * Copyright (C) 2011 Georg Hopp * diff --git a/include/token/dyntype/hash.h b/include/token/dyntype/hash.h index d555aad..f3549b6 100644 --- a/include/token/dyntype/hash.h +++ b/include/token/dyntype/hash.h @@ -1,4 +1,5 @@ /** + * \file * dyntype/hash.h: very simple string indexed hash mainly to hold json objects * Copyright (C) 2011 Georg Hopp * diff --git a/include/token/packet.h b/include/token/packet.h index 15a0e53..a69ba2f 100644 --- a/include/token/packet.h +++ b/include/token/packet.h @@ -1,4 +1,5 @@ /** + * \file * packet.h: a data packet that has a header and data of type dyntype * Copyright (C) 2011 Georg Hopp * diff --git a/include/token/token.h b/include/token/token.h index 1759b37..e3af796 100644 --- a/include/token/token.h +++ b/include/token/token.h @@ -1,4 +1,5 @@ /** + * \file * token.h: bundles all header files * Copyright (C) 2011 Georg Hopp * diff --git a/patches/mydoxy.patch b/patches/mydoxy.patch new file mode 100644 index 0000000..2a692d3 --- /dev/null +++ b/patches/mydoxy.patch @@ -0,0 +1,49 @@ +diff -Naur doxygen-1.7.3.orig/src/scanner.l doxygen-1.7.3/src/scanner.l +--- doxygen-1.7.3.orig/src/scanner.l 2010-11-30 22:45:51.000000000 +0100 ++++ doxygen-1.7.3/src/scanner.l 2011-11-20 05:25:20.494000106 +0100 +@@ -1436,6 +1436,7 @@ + } + lineCount() ; + if (yytext[yyleng-1]=='{') unput('{'); ++ if (yytext[yyleng-1]=='(') unput('('); + if (insidePHP && current->spec&Entry::Abstract) + { + // convert Abstract to AbstractClass +@@ -1507,6 +1508,7 @@ + } + } + {B}*{TYPEDEFPREFIX}"struct{" | ++{B}*{TYPEDEFPREFIX}"CLASS(" | + {B}*{TYPEDEFPREFIX}"struct"/{BN}+ { + isTypedef=((QCString)yytext).find("typedef")!=-1; + current->section = Entry::CLASS_SEC ; +@@ -1514,7 +1516,12 @@ + // bug 582676: can be a struct nested in an interface so keep insideObjC state + //current->objc = insideObjC = FALSE; + addType( current ) ; +- current->type += " struct" ; ++ if (yytext[yyleng-1]=='(') { ++ unput('('); ++ current->type += " class" ; ++ } else { ++ current->type += " struct" ; ++ } + current->fileName = yyFileName; + current->startLine = yyLineNr; + current->bodyLine = yyLineNr; +@@ -4540,6 +4547,7 @@ + // e.g. @protocol A,B; + current->reset(); + } ++{ID} | + {SCOPENAME} { + current->name = yytext ; + lineCount(); +@@ -4806,6 +4814,7 @@ + BEGIN( ReadBodyIntf ); + } + } ++")"{BN}*"{"{BN}* | + {B}*"{"{B}* { + current->fileName = yyFileName ; + current->startLine = yyLineNr ; diff --git a/src/cclass.c b/src/cclass.c index 71c165c..0af3c85 100644 --- a/src/cclass.c +++ b/src/cclass.c @@ -1,4 +1,5 @@ /** + * \file * cclass.c: basic "class-like" handling of code and data structures * Copyright (C) 2011 Georg Hopp * diff --git a/src/crypt.c b/src/crypt.c index 8483c38..a2738f1 100644 --- a/src/crypt.c +++ b/src/crypt.c @@ -1,4 +1,5 @@ /** + * \file * crypt.c: pseudo OO wrapper around libmcrypt. * Copyright (C) 2011 Georg Hopp * diff --git a/src/dyntype.c b/src/dyntype.c index 650722e..858d0a9 100644 --- a/src/dyntype.c +++ b/src/dyntype.c @@ -1,4 +1,5 @@ /** + * \file * dyntype.c: structur to hold values of different type and retrieve them again * Copyright (C) 2011 Georg Hopp * diff --git a/src/dyntype/hash.c b/src/dyntype/hash.c index 4a900e9..4cbda05 100644 --- a/src/dyntype/hash.c +++ b/src/dyntype/hash.c @@ -1,4 +1,5 @@ /** + * \file * dyntype/hash.c: very simple string indexed hash mainly to hold json objects * Copyright (C) 2011 Georg Hopp * diff --git a/src/packet.c b/src/packet.c index 08748aa..f202fca 100644 --- a/src/packet.c +++ b/src/packet.c @@ -1,4 +1,5 @@ /** + * \file * packet.c: a data packet that has a header and data of type dyntype * Copyright (C) 2011 Georg Hopp * diff --git a/tests/cclassTest.c b/tests/cclassTest.c index c31e1ca..4940a32 100644 --- a/tests/cclassTest.c +++ b/tests/cclassTest.c @@ -1,3 +1,21 @@ +/** + * \file + * cclassTest.c: tests for my oop C stuff + * Copyright (C) 2011 Georg Hopp + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ #include #include #include diff --git a/tests/cryptTest.c b/tests/cryptTest.c index 6baf98e..621faee 100644 --- a/tests/cryptTest.c +++ b/tests/cryptTest.c @@ -1,3 +1,21 @@ +/** + * \file + * cryptTest.c: tests for my crypt class + * Copyright (C) 2011 Georg Hopp + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ #include #include #include diff --git a/tests/mock/class.c b/tests/mock/class.c index 41c06e7..4d22a0f 100644 --- a/tests/mock/class.c +++ b/tests/mock/class.c @@ -1,3 +1,21 @@ +/** + * \file + * mock/class.c: a mock to test my oop stuff + * Copyright (C) 2011 Georg Hopp + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ #include #include diff --git a/tests/mock/class.h b/tests/mock/class.h index 98d9214..e9ee9ed 100644 --- a/tests/mock/class.h +++ b/tests/mock/class.h @@ -1,3 +1,21 @@ +/** + * \file + * mock/class.h: definitions for my mock to test my oop stuff + * Copyright (C) 2011 Georg Hopp + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ #ifndef __MOCK_CLASS_H__ #define __MOCK_CLASS_H__ diff --git a/tests/packetTest.c b/tests/packetTest.c index d894979..6ac1f68 100644 --- a/tests/packetTest.c +++ b/tests/packetTest.c @@ -1,3 +1,21 @@ +/** + * \file + * packetTest.c: tests for my packet class + * Copyright (C) 2011 Georg Hopp + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ #include #include #include diff --git a/tests/runtest.c b/tests/runtest.c index 17622f1..58953e2 100644 --- a/tests/runtest.c +++ b/tests/runtest.c @@ -1,3 +1,21 @@ +/** + * \file + * runtest.c: the main runner for my tests + * Copyright (C) 2011 Georg Hopp + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ #include #include #include diff --git a/tests/runtest.h b/tests/runtest.h index 2db8983..59174bd 100644 --- a/tests/runtest.h +++ b/tests/runtest.h @@ -1,3 +1,21 @@ +/** + * \file + * runtest.h: assertions and other definitions for all my tests + * Copyright (C) 2011 Georg Hopp + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ #ifndef __RUNTEST_h__ #define __RUNTEST_h__