]> Dogcows Code - chaz/homebank/blob - src/hb-archive.h
Merge branch 'upstream'
[chaz/homebank] / src / hb-archive.h
1 /* HomeBank -- Free, easy, personal accounting for everyone.
2 * Copyright (C) 1995-2016 Maxime DOYEN
3 *
4 * This file is part of HomeBank.
5 *
6 * HomeBank is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
10 *
11 * HomeBank is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program. If not, see <http://www.gnu.org/licenses/>.
18 */
19
20 #ifndef __HB_ARCHIVE_H__
21 #define __HB_ARCHIVE_H__
22
23 #include "hb-transaction.h"
24 #include "hb-split.h"
25
26 typedef struct _archive Archive;
27
28 struct _archive
29 {
30 gdouble amount;
31 guint32 kacc;
32 gushort paymode;
33 gushort flags;
34 guint32 kpay;
35 guint32 kcat;
36 gchar *wording;
37
38 //guint32 date;
39 //gushort pos;
40 gushort status, _pad1;
41 //gchar *info;
42 //guint32 *tags;
43 //guint32 kxfer; //strong link xfer key
44 guint32 kxferacc;
45
46 Split *splits[TXN_MAX_SPLIT+1];
47
48 guint32 nextdate;
49 gushort every;
50 gushort unit;
51 gushort limit;
52 gushort weekend;
53 };
54
55
56 Archive *da_archive_malloc(void);
57 Archive *da_archive_clone(Archive *src_item);
58 guint archive_add_get_nbdays(void);
59 void da_archive_free(Archive *item);
60 void da_archive_destroy(GList *list);
61 GList *da_archive_sort(GList *list);
62 guint da_archive_length(void);
63 void da_archive_consistency(Archive *item);
64
65 Archive *da_archive_init_from_transaction(Archive *arc, Transaction *txn);
66
67 gboolean scheduled_is_postable(Archive *arc);
68 guint32 scheduled_get_postdate(Archive *arc, guint32 postdate);
69 guint32 scheduled_get_latepost_count(Archive *arc, guint32 jrefdate);
70 guint32 scheduled_date_advance(Archive *arc);
71 guint32 scheduled_date_get_post_max(void);
72 gint scheduled_post_all_pending(void);
73
74
75 #endif
76
This page took 0.03362 seconds and 4 git commands to generate.