Files
gnucash/src/engine/io-gncxml-v2.h
Dave Peticolas d5f96b9ba2 2001-06-17 Joshua Sled <jsled@asynchronous.org>
* src/engine/gnc-account-xml-v2.c (dom_tree_to_account): Added.

	* src/engine/gnc-transaction-xml-v2.c (dom_tree_to_transaction):
	Added.

	* src/FileDialog.c: Added support for copying
	scheduled-transaction-related GNCBook fields.
	src/engine/

	* src/engine/FreqSpec.{h,c}: Added.

	* src/engine/SchedXaction.{h,c}: Added.

	* src/engine/gnc-{freqspec,schedxaction}-xml-v2.c: Added

	* src/engine/gnc-book.c: Added the template group [template
	transaction belong to the template group] and the Scheduled
	Trasnaction list.

	* src/gnome/glade/sched_xact.glade: Added.

	* src/gnome/dialog-nextrun.{h,c}: Added.

	* src/gnome/dialog-scheduledxaction.{h,c}: Added.

	* src/gnome/gnc-frequency.{h,c}: Added.

	* src/SplitLedger.c, src/MultiLedger.c: Added support for a
	Template Ledger.

	* src/guile/gnc.gwp: Added wrapping for
	dialog-{scheduledxactions,nextrun}-creation functions.

	* src/register/splitreg.c: Added formula credit and debit cells,
	and flags for template-register support.

	* src/register/formulacell.h: Added.

	* src/gnome/gnc-dateedit.h: Added explanatory comment from dave_p
	in IRC.

	* src/gnome/query-user.h: Added prototype of
 	gnc_verify_dialog_parented(...), so I could use it the SX UI
	stuff.


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@4725 57a11ea4-9604-0410-9ed3-97b8803252fd
2001-06-18 08:25:46 +00:00

98 lines
3.2 KiB
C

/********************************************************************\
* io-gncxml-v2.h -- api for gnucash xml i/o *
* *
* Copyright (c) 2001 Gnumatic Incorporated *
* *
* 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, contact: *
* *
* Free Software Foundation Voice: +1-617-542-5942 *
* 59 Temple Place - Suite 330 Fax: +1-617-542-2652 *
* Boston, MA 02111-1307, USA gnu@gnu.org *
* *
\********************************************************************/
/*
* io-gncxml.h -- api for new XML-based file format
*
* Initial code by James LewisMoss
*/
#ifndef __IO_GNCXML_V2_H__
#define __IO_GNCXML_V2_H__
#include <glib.h>
#include "gnc-book.h"
#include "Account.h"
#include "Transaction.h"
#include "gnc-commodity.h"
#include "gnc-pricedb.h"
#include "SchedXaction.h"
struct _load_counter_struct
{
int accounts_total;
int accounts_loaded;
int commodities_total;
int commodities_loaded;
int transactions_total;
int transactions_loaded;
int prices_total;
int prices_loaded;
int schedXactions_total;
int schedXactions_loaded;
};
typedef struct _load_counter_struct load_counter;
struct sixtp_global_data_v2_struct
{
GNCBook *book;
load_counter counter;
void (*countCallback)(const char *type, load_counter counter);
};
/**
* Struct used to pass the account group/accounts and trasnactions in
* the <gnc:template-transactions> section between the parser in
* gnc-schedxactions-xml-v2.c and the add-to-book callback in
* io-gncxml-v2.c.
**/
typedef struct _gnc_template_xaction_data
{
GList *accts;
GList *transactions;
} gnc_template_xaction_data;
typedef struct sixtp_global_data_v2_struct sixtp_gdv2;
/* read in an account group from a file */
gboolean gnc_book_load_from_xml_file_v2(
GNCBook *book,
void (*countcallback)(const char *type, load_counter count));
/* write all account info to a file */
gboolean gnc_book_write_to_xml_file_v2(GNCBook *book, const char *filename);
/* The is_gncxml_file() routine checks to see if the first few
* chars of the file look like gnc-xml data.
*/
gboolean gnc_is_xml_data_file_v2(const gchar *name);
#endif /* __IO_GNCXML_V2_H__ */