|
GnuCash 2.4.99
|
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_ */
1.7.4