#ifndef __PRJ_RPTS_HTML_H
#define __PRJ_RPTS_HTML_H
/*-------------------------------------------------------------------------
* Copyright (c) 2000-2002 Kenneth W. Sodemann (stuffle@charter.net)
*-------------------------------------------------------------------------
* prj_rpts_html
*
* Synopsis:
* Routines used to create HTML based project reports.
*
* $Id: prj_rpts_html.h,v 1.1 2003/03/09 20:59:11 stuffle Exp $
*
* 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 2 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, write to
* Free Software Foundation, Inc.
* 59 Temple Place, Suite 330
* Boston, MA 02111-1307 USA
*
*-------------------------------------------------------------------------
*/
/*! \file prj_rpts_html.h
\brief Project related HTML report generation routines.
These routines generate project related HTML based reports. Each
report is created in the specified path. In general, users should
specify a different path for each report.
\verbatim
All of the reports are of the format:
index.html-+--->projX.html-+--->prA.html
| |
| +--->prB.html
| ...
|
+--->projY.html-+--->prC.html
... |
+--->prD.html
Where A, B, C, and D are problem report numbers, and X and Y are project
numbers.
\endverbatim
In general, the index.html file contains a list of the projects covered
by the report, the projX.html files contain the project information and
a list of the problem reports for that project, sorted by the criteria
of the report, and the prX.html files contain the problem report details.
\author Kenneth W. Sodemann (stuffle@charter.net)
$Revision: 1.1 $
$Date: 2003/03/09 20:59:11 $
*/
#include
/*
* __BEGIN_DECLS should be used at the beginning of your declarations,
* so that C++ compilers don't mangle their names. Use __END_DECLS at
* the end of C declarations.
*/
#undef __BEGIN_DECLS
#undef __END_DECLS
#ifdef __cplusplus
# define __BEGIN_DECLS extern "C" {
# define __END_DECLS }
#else
# define __BEGIN_DECLS /* empty */
# define __END_DECLS /* empty */
#endif
/*
* __P is a macro used to wrap function prototypes, so that compilers
* that don't understand ANSI C prototypes still work, and ANSI C
* compilers can issue warnings about type mismatches.
*/
#undef __P
#if defined (__STDC__) || defined (_AIX) \
|| (defined (__mips) && defined (_SYSTYPE_SVR4)) \
|| defined(WIN32) || defined(__cplusplus)
# define __P(protos) protos
#else
# define __P(protos) ()
#endif
__BEGIN_DECLS
/*! \fn gint create_project_status_report (PGconn *conn,
gchar *path,
GList *prj_pk_list,
gboolean active_only)
\brief Create a project related report where the PRs are grouped by
status.
\param conn
Pointer to the database connection.
\param path
The path in which to create the report files. This path MUST exist.
\param prj_pk_list
A list of primary keys of the projects for which to create the report.
If this is NULL, all projects will be used.
\param active_only
If TRUE, only use active projects. If FALSE, include inactive projects.
\retval 0
Success
\retval -1
There was an error generating one of the report files. Check errno.
Check the system log for details on the error.
*/
gint create_project_status_report __P((PGconn *conn,
gchar *path,
GList *prj_pk_list,
gboolean active_only));
/*! \fn gint create_project_version_report (PGconn *conn,
gchar *path,
GList *prj_pk_list,
gboolean active_prjs_only,
gboolean active_vers_only)
\brief Create a project related report where the PRs are grouped by
project version.
\param conn
Pointer to the database connection.
\param path
The path in which to create the report files. This path MUST exist.
\param prj_pk_list
A list of primary keys of the projects for which to create the report.
If this is NULL, all projects will be used.
\param active_prjs_only
If TRUE, only use active projects. If FALSE, include inactive projects.
\param active_vers_only
If TRUE, only use active project versions. If FALSE, include inactive
project versions.
\retval 0
Success
\retval -1
There was an error generating one of the report files. Check errno.
Check the system log for details on the error.
*/
gint create_project_version_report __P((PGconn *conn,
gchar *path,
GList *prj_pk_list,
gboolean active_prjs_only,
gboolean active_vers_only));
__END_DECLS
#endif