qof-main.h

Go to the documentation of this file.
00001 /***************************************************************************
00002  *            qof-main.h
00003  *
00004  *  This is an auto-generated file. Patches are available from
00005  *  http://qof-gen.sourceforge.net/
00006  *  For QOF 0.7.0, using QofTime.
00007  *
00008  *  Thu Jan 13 12:15:41 2005
00009  *  Copyright  2005-2006  Neil Williams
00010  *  linux@codehelp.co.uk
00011  ****************************************************************************/
00012 /*
00013  *  This program is free software; you can redistribute it and/or modify
00014  *  it under the terms of the GNU General Public License as published by
00015  *  the Free Software Foundation; either version 2 of the License, or
00016  *  (at your option) any later version.
00017  *
00018  *  This program is distributed in the hope that it will be useful,
00019  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
00020  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00021  *  GNU General Public License for more details.
00022  *
00023  *  You should have received a copy of the GNU General Public License
00024  *  along with this program; if not, write to the Free Software
00025  *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
00026  */
00051 #ifndef _QOF_MAIN_H
00052 #define _QOF_MAIN_H
00053 
00070 void qof_main_wrap_line (FILE * fp, gint indent,
00071         const gchar * template_str, ...)
00072         __attribute__ ((format (printf, 3, 4)));
00073 
00075 #define ERR_INDENT strlen(PACKAGE) + 2
00076 
00093 GSList*
00094 qof_main_get_param_list(QofIdTypeConst object_type, QofType param_type);
00095 
00100 #define QOF_DATE_STRING_LENGTH  MAX_DATE_LENGTH
00101 
00103 #define QOF_MAIN_CLI  "QOF-mod-command-line"
00104 
00118 #define CATEGORY_NAME "category"
00119 
00127 #define QSF_COMPRESS "compression_level"
00128 
00130 #define QSF_ENCODING "encoding_string"
00131 
00133 #define QSF_DATE_CONVERT "convert_date_to_time"
00134 
00159 #define QOF_SQL_SUPPORTED  "^SELECT|INSERT"
00160 
00172 gchar *
00173 qof_main_make_utf8 (gchar * string);
00174 
00192 glong
00193 qof_mod_get_local_offset (void);
00194 
00205 void qof_main_show_error (QofSession * session);
00206 
00212 typedef struct QofMain_s
00213 {
00215         gchar *filename;
00217         gchar *write_file;
00219         gchar *input_file;
00221         gchar *sql_file;
00224         gchar *sql_str;
00226         gchar *database;
00228         gchar *exclude;
00230         gchar *category;
00233         QofTime *min_qt;
00236         QofTime *max_qt;
00238         QofSession *input_session;
00240         QofSession *export_session;
00242         gboolean error;
00244         QofQuery *query;
00246         GList *sql_list;
00248         gint64 gz_level;
00250         const gchar *encoding;
00253         gint64 convert;
00255         QofType param_type;
00256 } QofMainContext;
00257 
00259 void qof_main_free (QofMainContext * context);
00260 
00262 void qof_cmd_xmlfile (QofMainContext * context);
00263 
00269 void qof_cmd_list (void);
00270 
00277 void 
00278 qof_mod_category (const gchar * category, QofMainContext * data);
00279 
00286 void 
00287 qof_mod_database (const gchar * database, QofMainContext * data);
00288 
00316 void 
00317 qof_mod_time (const gchar * date_time, QofMainContext * data);
00318 
00323 void 
00324 qof_mod_exclude (const gchar * exclude, QofMainContext * data);
00325 
00365 void 
00366 qof_mod_sql (const gchar * sql_query, QofMainContext * data);
00367 
00376 void 
00377 qof_mod_sql_file (const gchar * sql_file, QofMainContext * data);
00378 
00383 void 
00384 qof_mod_write (const gchar * write_file, QofMainContext * data);
00385 
00392 void 
00393 qof_mod_compression (gint64 gz_level, QofMainContext * context);
00394 
00396 void 
00397 qof_mod_encoding (const gchar * encoding, QofMainContext * context);
00398 
00400 void
00401 qof_mod_convert_deprecated (gint64 convert, QofMainContext * context);
00402 
00412 void qof_main_moderate_query (QofMainContext * context);
00413 
00419 void qof_cmd_explain (QofMainContext * context);
00420 
00421 void qof_main_select (QofMainContext * context);
00422 
00432 /* Translators: ignore the above comment - gettext is just being greedy. */
00433 #define QOF_CLI_OPTIONS POPT_AUTOHELP \
00434         {"list", 'l', POPT_ARG_NONE, NULL, qof_op_list, \
00435          _("List all databases supported by the current QOF framework " \
00436                 "and exit."), NULL}, \
00437         {"explain", 0, POPT_ARG_NONE, NULL, qof_op_explain, \
00438          _("List the fields within the specified database and " \
00439                 "exit, requires -d."), NULL}, \
00440         {"xml-file", 'x', POPT_ARG_STRING, &filename, qof_op_offline, \
00441          _("Query the QSF XML data in <filename>"), \
00442          "filename"}, \
00443         {"date", 't', POPT_ARG_STRING, &date_time, qof_op_time, \
00444          _("Shorthand to only query objects that contain the " \
00445                 "specified date."), "string"}, \
00446         {"database", 'd', POPT_ARG_STRING, &database, qof_op_database, \
00447          _("Shorthand to only query objects within a specific " \
00448                 "supported database. "), "string"}, \
00449         {"exclude", 'e', POPT_ARG_STRING, &exclude, qof_op_exclude, \
00450          _("Shorthand to exclude a supported database from the query."), \
00451          "string"}, \
00452         {"sql", 's', POPT_ARG_STRING, &sql_query, qof_op_sql, \
00453          _("Specify a SQL query on the command line."), "string"}, \
00454         {"sql-file", 'f', POPT_ARG_STRING, &sql_file, qof_op_sql_file, \
00455          _("Specify one or more SQL queries contained in a file."), \
00456          "filename"}, \
00457         {"write", 'w', POPT_ARG_STRING, &write_file, qof_op_write, \
00458          _("Write the results of any query to the file"), "filename"}, \
00459         {"compress", 0, POPT_ARG_INT, &gz_level, qof_op_compress, \
00460          _("Compress output files, 0 for none, 9 for maximum"), "integer"}, \
00461         {"debug", 0, POPT_ARG_NONE, NULL, qof_op_debug, \
00462          _("Print debugging information to a temporary file."), NULL}, \
00463         {"version", 0, POPT_ARG_NONE, NULL, qof_op_vers, \
00464          _("Display version information"), NULL}, \
00465         {"category", 'c', POPT_ARG_STRING, &category, qof_op_category, \
00466          _("Shorthand to only query objects that are set to the specified category."), \
00467          "string"},
00468 
00470 #define QOF_MAIN_OP \
00471         _(qof_op_noop, = 0) \
00472         _(qof_op_list,)     \
00473         _(qof_op_xmlfile,)  \
00474         _(qof_op_category,) \
00475         _(qof_op_database,) \
00476         _(qof_op_time,) \
00477         _(qof_op_exclude,)  \
00478         _(qof_op_sql,)      \
00479         _(qof_op_sql_file,) \
00480         _(qof_op_write, )   \
00481         _(qof_op_explain,)  \
00482         _(qof_op_vers,)     \
00483         _(qof_op_compress,) \
00484         _(qof_op_debug,)
00485 
00491 #define QOF_OP_VARS \
00492         const gchar *exclude,  *date_time,  *category,  *database; \
00493         const gchar *sql_file, *write_file, *sql_query, *filename;
00494 
00499 #define QOF_OP_INIT    \
00500         exclude = NULL;    \
00501         category = NULL;   \
00502         database = NULL;   \
00503         sql_file = NULL;   \
00504         write_file = NULL; \
00505         sql_query = NULL;  \
00506         filename = NULL;
00507 
00511 #endif /* _QOF_MAIN_H */

Generated on Mon Jun 4 11:24:16 2007 for gpe-expenses by  doxygen 1.5.2