GnuCash 2.4.99
sixtp-dom-parsers.h
00001 /********************************************************************
00002  * sixtp-dom-parsers.h                                              *
00003  * Copyright (c) 2001 Gnumatic, Inc.                                *
00004  *                                                                  *
00005  * This program is free software; you can redistribute it and/or    *
00006  * modify it under the terms of the GNU General Public License as   *
00007  * published by the Free Software Foundation; either version 2 of   *
00008  * the License, or (at your option) any later version.              *
00009  *                                                                  *
00010  * This program is distributed in the hope that it will be useful,  *
00011  * but WITHOUT ANY WARRANTY; without even the implied warranty of   *
00012  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the    *
00013  * GNU General Public License for more details.                     *
00014  *                                                                  *
00015  * You should have received a copy of the GNU General Public License*
00016  * along with this program; if not, contact:                        *
00017  *                                                                  *
00018  * Free Software Foundation           Voice:  +1-617-542-5942       *
00019  * 51 Franklin Street, Fifth Floor    Fax:    +1-617-542-2652       *
00020  * Boston, MA  02110-1301,  USA       gnu@gnu.org                   *
00021  *                                                                  *
00022  ********************************************************************/
00023 
00024 #ifndef SIXTP_DOM_PARSERS_H
00025 #define SIXTP_DOM_PARSERS_H
00026 
00027 #include <glib.h>
00028 
00029 #include "gnc-xml-helper.h"
00030 
00031 #include "gnc-commodity.h"
00032 #include "qof.h"
00033 #include "gnc-budget.h"
00034 
00035 GncGUID* dom_tree_to_guid(xmlNodePtr node);
00036 
00037 gnc_commodity* dom_tree_to_commodity_ref(xmlNodePtr node, QofBook *book);
00038 gnc_commodity *dom_tree_to_commodity_ref_no_engine(xmlNodePtr node, QofBook *);
00039 
00040 GList* dom_tree_freqSpec_to_recurrences(xmlNodePtr node, QofBook *book);
00041 Recurrence* dom_tree_to_recurrence(xmlNodePtr node);
00042 
00043 Timespec dom_tree_to_timespec(xmlNodePtr node);
00044 gboolean dom_tree_valid_timespec(Timespec *ts, const xmlChar *name);
00045 GDate* dom_tree_to_gdate(xmlNodePtr node);
00046 gnc_numeric* dom_tree_to_gnc_numeric(xmlNodePtr node);
00047 gchar * dom_tree_to_text(xmlNodePtr tree);
00048 gboolean string_to_binary(const gchar *str,  void **v, guint64 *data_len);
00049 
00050 gboolean dom_tree_to_kvp_frame_given(xmlNodePtr node, kvp_frame *frame);
00051 
00052 kvp_frame* dom_tree_to_kvp_frame(xmlNodePtr node);
00053 kvp_value* dom_tree_to_kvp_value(xmlNodePtr node);
00054 kvp_value* dom_tree_to_integer_kvp_value(xmlNodePtr node);
00055 kvp_value* dom_tree_to_double_kvp_value(xmlNodePtr node);
00056 kvp_value* dom_tree_to_numeric_kvp_value(xmlNodePtr node);
00057 kvp_value* dom_tree_to_string_kvp_value(xmlNodePtr node);
00058 kvp_value* dom_tree_to_guid_kvp_value(xmlNodePtr node);
00059 kvp_value* dom_tree_to_timespec_kvp_value(xmlNodePtr node);
00060 kvp_value* dom_tree_to_binary_kvp_value(xmlNodePtr node);
00061 kvp_value* dom_tree_to_list_kvp_value(xmlNodePtr node);
00062 kvp_value* dom_tree_to_frame_kvp_value(xmlNodePtr node);
00063 kvp_value* dom_tree_to_gdate_kvp_value (xmlNodePtr node);
00064 
00065 gboolean dom_tree_to_integer(xmlNodePtr node, gint64 *daint);
00066 gboolean dom_tree_to_guint16(xmlNodePtr node, guint16 *i);
00067 gboolean dom_tree_to_guint(xmlNodePtr node, guint *i);
00068 gboolean dom_tree_to_boolean(xmlNodePtr node, gboolean* b);
00069 
00070 /* higher level structures */
00071 Account* dom_tree_to_account(xmlNodePtr node, QofBook *book);
00072 QofBook* dom_tree_to_book   (xmlNodePtr node, QofBook *book);
00073 GNCLot*  dom_tree_to_lot    (xmlNodePtr node, QofBook *book);
00074 Transaction* dom_tree_to_transaction(xmlNodePtr node, QofBook *book);
00075 GncBudget* dom_tree_to_budget(xmlNodePtr node, QofBook *book);
00076 
00077 struct dom_tree_handler
00078 {
00079     const char *tag;
00080 
00081     gboolean (*handler) (xmlNodePtr, gpointer data);
00082 
00083     int required;
00084     int gotten;
00085 };
00086 
00087 gboolean dom_tree_generic_parse(xmlNodePtr node,
00088                                 struct dom_tree_handler *handlers,
00089                                 gpointer data);
00090 
00091 
00092 #endif /* _SIXTP_DOM_PARSERS_H_ */
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines