Works fine. Please push both patches after you delete the last empty
line in .gitignore :-)
On 02/26/2013 12:34 PM, Jiri Moskovcak wrote:
Signed-off-by: Jiri Moskovcak <jmoskovc(a)redhat.com>
---
.gitignore | 5 +
Makefile.am | 2 +-
apidoc/Doxyfile.in | 237 +++++++++++++++++++++++++++++++++++++++++++++
apidoc/Makefile.am | 16 +++
apidoc/html/Makefile.am | 4 +
configure.ac | 33 +++++++
src/include/problem_data.h | 9 ++
7 files changed, 305 insertions(+), 1 deletion(-)
create mode 100644 apidoc/Doxyfile.in
create mode 100644 apidoc/Makefile.am
create mode 100644 apidoc/html/Makefile.am
diff --git a/.gitignore b/.gitignore
index c913d25..daaff23 100644
--- a/.gitignore
+++ b/.gitignore
@@ -90,3 +90,8 @@ testsuite.log
*~
libreport.spec
libreport-version
+
+#generated api docs
+apidoc/html/*
+!apidoc/html/Makefile.am
+
diff --git a/Makefile.am b/Makefile.am
index d4520fa..ba8a834 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,5 +1,5 @@
ACLOCAL_AMFLAGS = -I m4
-SUBDIRS = po src tests doc
+SUBDIRS = po src tests doc apidoc
EXTRA_DIST = \
libreport.pc.in \
diff --git a/apidoc/Doxyfile.in b/apidoc/Doxyfile.in
new file mode 100644
index 0000000..ac0f571
--- /dev/null
+++ b/apidoc/Doxyfile.in
@@ -0,0 +1,237 @@
+# Doxyfile 1.4.6
+
+#---------------------------------------------------------------------------
+# Project related configuration options
+#---------------------------------------------------------------------------
+PROJECT_BRIEF = "A tool to inform users about various problems on the
running system"
+PROJECT_NAME = @PACKAGE@
+PROJECT_NUMBER = @VERSION@
+PROJECT_LOGO = "@top_srcdir(a)/icons/hicolor_apps_48x48_abrt.png"
+DOXYFILE_ENCODING = UTF-8
+OUTPUT_DIRECTORY = @top_srcdir@/apidoc/
+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 = NO
+STRIP_FROM_PATH =
+STRIP_FROM_INC_PATH =
+SHORT_NAMES = NO
+JAVADOC_AUTOBRIEF = NO
+MULTILINE_CPP_IS_BRIEF = NO
+INHERIT_DOCS = YES
+SEPARATE_MEMBER_PAGES = NO
+TAB_SIZE = 4
+ALIASES =
+OPTIMIZE_OUTPUT_FOR_C = YES
+OPTIMIZE_OUTPUT_JAVA = NO
+BUILTIN_STL_SUPPORT = NO
+DISTRIBUTE_GROUP_DOC = NO
+SUBGROUPING = YES
+#---------------------------------------------------------------------------
+# Build related configuration options
+#---------------------------------------------------------------------------
+EXTRACT_ALL = NO
+EXTRACT_PRIVATE = NO
+EXTRACT_STATIC = NO
+EXTRACT_LOCAL_CLASSES = NO
+EXTRACT_LOCAL_METHODS = NO
+HIDE_UNDOC_MEMBERS = NO
+HIDE_UNDOC_CLASSES = NO
+HIDE_FRIEND_COMPOUNDS = YES
+HIDE_IN_BODY_DOCS = NO
+INTERNAL_DOCS = NO
+CASE_SENSE_NAMES = YES
+HIDE_SCOPE_NAMES = NO
+SHOW_INCLUDE_FILES = YES
+INLINE_INFO = YES
+SORT_MEMBER_DOCS = YES
+SORT_BRIEF_DOCS = NO
+SORT_BY_SCOPE_NAME = NO
+GENERATE_TODOLIST = YES
+GENERATE_TESTLIST = YES
+GENERATE_BUGLIST = YES
+GENERATE_DEPRECATEDLIST= YES
+ENABLED_SECTIONS =
+MAX_INITIALIZER_LINES = 30
+SHOW_USED_FILES = YES
+FILE_VERSION_FILTER =
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+QUIET = YES
+WARNINGS = YES
+WARN_IF_UNDOCUMENTED = YES
+WARN_IF_DOC_ERROR = YES
+WARN_NO_PARAMDOC = NO
+WARN_FORMAT =
+WARN_LOGFILE =
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+INPUT = @top_srcdir@/src/include/
+FILE_PATTERNS = *.h
+RECURSIVE = NO
+EXCLUDE =
+EXCLUDE_SYMLINKS = NO
+EXCLUDE_PATTERNS = Makefile.* \
+ ChangeLog \
+ CHANGES \
+ CHANGES.* \
+ README \
+ README.* \
+ *.png \
+ AUTHORS \
+ DESIGN \
+ DESIGN.* \
+ *.desktop \
+ DESKTOP* \
+ COMMENTS \
+ HOWTO \
+ magic \
+ NOTES \
+ TODO \
+ THANKS
+EXAMPLE_PATH =
+EXAMPLE_PATTERNS =
+EXAMPLE_RECURSIVE = NO
+IMAGE_PATH =
+INPUT_FILTER =
+FILTER_PATTERNS =
+FILTER_SOURCE_FILES = NO
+#---------------------------------------------------------------------------
+# configuration options related to source browsing
+#---------------------------------------------------------------------------
+SOURCE_BROWSER = YES
+INLINE_SOURCES = NO
+STRIP_CODE_COMMENTS = YES
+REFERENCED_BY_RELATION = YES
+REFERENCES_RELATION = YES
+USE_HTAGS = NO
+VERBATIM_HEADERS = YES
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+ALPHABETICAL_INDEX = NO
+COLS_IN_ALPHA_INDEX = 5
+IGNORE_PREFIX =
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+GENERATE_HTML = YES
+HTML_OUTPUT =
+HTML_FILE_EXTENSION = .html
+HTML_HEADER =
+HTML_FOOTER =
+HTML_STYLESHEET =
+GENERATE_HTMLHELP = NO
+CHM_FILE =
+HHC_LOCATION =
+GENERATE_CHI = NO
+BINARY_TOC = NO
+TOC_EXPAND = NO
+DISABLE_INDEX = NO
+ENUM_VALUES_PER_LINE = 4
+GENERATE_TREEVIEW = NO
+TREEVIEW_WIDTH = 250
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+GENERATE_LATEX = NO
+LATEX_OUTPUT =
+LATEX_CMD_NAME = latex
+MAKEINDEX_CMD_NAME = makeindex
+COMPACT_LATEX = NO
+PAPER_TYPE = a4wide
+EXTRA_PACKAGES =
+LATEX_HEADER =
+PDF_HYPERLINKS = NO
+USE_PDFLATEX = NO
+LATEX_BATCHMODE = NO
+LATEX_HIDE_INDICES = NO
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+GENERATE_RTF = NO
+RTF_OUTPUT =
+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 =
+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 = YES
+MACRO_EXPANSION = YES
+EXPAND_ONLY_PREDEF = YES
+SEARCH_INCLUDES = YES
+INCLUDE_PATH =
+INCLUDE_FILE_PATTERNS =
+PREDEFINED = DOXYGEN_SHOULD_SKIP_THIS
+EXPAND_AS_DEFINED =
+SKIP_FUNCTION_MACROS = NO
+#---------------------------------------------------------------------------
+# Configuration::additions related to external references
+#---------------------------------------------------------------------------
+TAGFILES =
+GENERATE_TAGFILE =
+ALLEXTERNALS = NO
+EXTERNAL_GROUPS = YES
+PERL_PATH =
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+CLASS_DIAGRAMS = YES
+HIDE_UNDOC_RELATIONS = YES
+HAVE_DOT = NO
+CLASS_GRAPH = YES
+COLLABORATION_GRAPH = YES
+GROUP_GRAPHS = YES
+UML_LOOK = NO
+TEMPLATE_RELATIONS = YES
+INCLUDE_GRAPH = YES
+INCLUDED_BY_GRAPH = YES
+CALL_GRAPH = NO
+GRAPHICAL_HIERARCHY = YES
+DIRECTORY_GRAPH = YES
+DOT_IMAGE_FORMAT = png
+DOT_PATH =
+DOTFILE_DIRS =
+MAX_DOT_GRAPH_DEPTH = 1000
+DOT_TRANSPARENT = NO
+DOT_MULTI_TARGETS = NO
+GENERATE_LEGEND = YES
+DOT_CLEANUP = YES
+#---------------------------------------------------------------------------
+# Configuration::additions related to the search engine
+#---------------------------------------------------------------------------
+SEARCHENGINE = NO
diff --git a/apidoc/Makefile.am b/apidoc/Makefile.am
new file mode 100644
index 0000000..2e7d2c9
--- /dev/null
+++ b/apidoc/Makefile.am
@@ -0,0 +1,16 @@
+if DOXYGEN_DOCS_ENABLED
+SUBDIRS = html
+
+EXTRA_DIST = Doxyfile.in
+
+noinst_PROGRAMS = index.html
+
+index_html_SOURCES = Doxyfile
+
+index.html: Doxyfile
+ doxygen Doxyfile
+
+endif
+
+MAINTAINERCLEANFILES = \
+ Makefile.in
diff --git a/apidoc/html/Makefile.am b/apidoc/html/Makefile.am
new file mode 100644
index 0000000..6aebc7e
--- /dev/null
+++ b/apidoc/html/Makefile.am
@@ -0,0 +1,4 @@
+CLEANFILES = *.html *.css *.png *.gif *.js
+
+MAINTAINERCLEANFILES = \
+ Makefile.in
diff --git a/configure.ac b/configure.ac
index 4509184..f77413f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -201,6 +201,36 @@ AC_ARG_ENABLE([userownsdumpdir],
[Configure abrt to be owner of dump directories (default:
user owns dump dir)])],
[DUMP_DIR_OWNED_BY_USER=0])
+AC_ARG_ENABLE(doxygen-docs,
+ AS_HELP_STRING([--enable-doxygen-docs],
+ [build DOXYGEN documentation (requires Doxygen)]),
+ [enable_doxygen_docs=$enableval],
+ [enable_doxygen_docs=no]
+)
+
+# Doxygen Documentation
+
+AC_PATH_PROG(DOXYGEN, doxygen, no)
+
+AC_MSG_CHECKING([whether to build Doxygen documentation])
+
+if test "$DOXYGEN" = "no" ; then
+ have_doxygen=no
+else
+ have_doxygen=yes
+fi
+
+if test "$enable_doxygen_docs" = "yes" ; then
+ if test "$have_doxygen" = "no"; then
+ AC_MSG_ERROR([Building Doxygen docs explicitly required, but Doxygen not
found])
+ fi
+ AC_MSG_RESULT(yes)
+else
+ AC_MSG_RESULT(no)
+fi
+
+AM_CONDITIONAL(DOXYGEN_DOCS_ENABLED, test "$enable_doxygen_docs" =
"yes")
+
AC_SUBST(CONF_DIR)
AC_SUBST(VAR_RUN)
AC_SUBST(PLUGINS_CONF_DIR)
@@ -225,6 +255,9 @@ AC_CONFIG_HEADERS([config.h])
AC_CONFIG_FILES([
Makefile
+ apidoc/Makefile
+ apidoc/Doxyfile
+ apidoc/html/Makefile
libreport.pc
libreport-web.pc
src/include/Makefile
diff --git a/src/include/problem_data.h b/src/include/problem_data.h
index 0392e0f..80c8b9a 100644
--- a/src/include/problem_data.h
+++ b/src/include/problem_data.h
@@ -16,6 +16,9 @@
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
+
+/** @file problem_data.h */
+
#ifndef LIBREPORT_PROBLEM_DATA_H_
#define LIBREPORT_PROBLEM_DATA_H_
@@ -99,6 +102,12 @@ problem_data_t *create_problem_data_from_dump_dir(struct dump_dir
*dd);
/* Helper for typical operation in reporters: */
problem_data_t *create_problem_data_for_reporting(const char *dump_dir_name);
+/**
+ @brief Saves the problem data object
+
+ @param problem_data Problem data object to save
+ @param base_dir_name Location to store the problem data
+*/
struct dump_dir *create_dump_dir_from_problem_data(problem_data_t *problem_data, const
char *base_dir_name);
#ifdef __cplusplus
--
Richard Marko