[grisbi-cvs] grisbi/src balance_estimate_data.c,NONE,1.1
Pierre Biava
pbiava at users.sourceforge.net
Sun Jan 31 08:51:14 CET 2010
Update of /cvsroot/grisbi/grisbi/src
In directory sfp-cvsdas-2.v30.ch3.sourceforge.com:/tmp/cvs-serv22585
Added Files:
balance_estimate_data.c
Log Message:
create balance_estimate_data.c file
--- NEW FILE: balance_estimate_data.c ---
/* ************************************************************************** */
/* */
/* Copyright (C) 2007 Dominique Parisot */
/* zionly at free.org */
/* 2008-2010 Pierre Biava (grisbi at pierre.biava.name) */
/* http://www.grisbi.org */
/* */
/* 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 the Free Software */
/* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
/* */
/* ************************************************************************** */
#include "include.h"
#include <config.h>
#ifdef ENABLE_BALANCE_ESTIMATE
/*START_INCLUDE*/
#include "balance_estimate_data.h"
#include "./utils_dates.h"
#include "./gsb_data_account.h"
#include "./gsb_data_budget.h"
#include "./gsb_data_category.h"
#include "./gsb_data_fyear.h"
#include "./gsb_data_payee.h"
#include "./gsb_data_scheduled.h"
#include "./gsb_data_transaction.h"
#include "./gsb_fyear.h"
#include "./gsb_real.h"
#include "./gsb_scheduler.h"
#include "./gsb_transactions_list_sort.h"
#include "./main.h"
#include "./include.h"
#include "./structures.h"
#include "./traitement_variables.h"
#include "./erreur.h"
#include "./utils.h"
/*END_INCLUDE*/
struct _bet_range
{
gboolean first_pass;
GDate *min_date;
GDate *max_date;
gsb_real min_balance;
gsb_real max_balance;
gsb_real current_balance;
};
struct _historical
{
gint div;
gint account_nb;
SBR *sbr;
GHashTable *list_sub_div;
};
/*START_STATIC*/
static SBR *initialise_struct_bet_range ( void );
static SH *initialise_struct_historical ( void );
static void free_struct_bet_range ( SBR *sbr );
static void free_struct_historical ( SH *sh );
/*END_STATIC*/
/*START_EXTERN*/
extern gboolean balances_with_scheduled;
extern gsb_real null_real;
extern GtkWidget *window;
/*END_EXTERN*/
/**
*
*
*
*
* */
SBR *initialise_struct_bet_range ( void )
{
SBR *sbr;
sbr = g_malloc ( sizeof ( SBR ) );
sbr -> first_pass = TRUE;
sbr -> min_date = NULL;
sbr -> max_date = NULL;
sbr -> min_balance = null_real;
sbr -> max_balance = null_real;
sbr -> current_balance = null_real;
return sbr;
}
/**
*
*
*
*
* */
void free_struct_bet_range ( SBR *sbr )
{
if ( sbr-> min_date )
g_date_free ( sbr-> min_date );
if ( sbr-> max_date )
g_date_free ( sbr-> max_date );
g_free ( sbr );
}
SH *initialise_struct_historical ( void )
{
SH *sh;
sh = g_malloc ( sizeof ( SH ) );
sh -> sbr = initialise_struct_bet_range ( );
sh -> list_sub_div = g_hash_table_new_full ( g_int_hash,
g_int_equal,
NULL,
(GDestroyNotify) free_struct_historical );
return sh;
}
/**
*
*
*
*
* */
void free_struct_historical (SH *sh)
{
if ( sh -> sbr )
free_struct_bet_range ( sh -> sbr );
if ( sh -> list_sub_div )
g_hash_table_remove_all ( sh -> list_sub_div );
g_free ( sh );
}
/**
*
*
*
*
* */
/* Local Variables: */
/* c-basic-offset: 4 */
/* End: */
#endif /* ENABLE_BALANCE_ESTIMATE */
More information about the cvs
mailing list