X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Fhomebank;a=blobdiff_plain;f=src%2Fhb-archive.h;h=b4bbc1b4c088de1bde2c5af5b54c2161213b428f;hp=862026670e79ee566595bc5313e5c1a1ca3d9cca;hb=a6c6b0df5492c2160ed97e3a376bdb2fe7c5ebc4;hpb=cd13d9691c46c2b2d6d459e9e6a76bed1c21b7a6 diff --git a/src/hb-archive.h b/src/hb-archive.h index 8620266..b4bbc1b 100644 --- a/src/hb-archive.h +++ b/src/hb-archive.h @@ -1,5 +1,5 @@ /* HomeBank -- Free, easy, personal accounting for everyone. - * Copyright (C) 1995-2018 Maxime DOYEN + * Copyright (C) 1995-2019 Maxime DOYEN * * This file is part of HomeBank. * @@ -27,7 +27,7 @@ typedef struct _archive Archive; struct _archive { - + guint32 key; gdouble amount; guint32 kacc; gushort paymode; @@ -40,11 +40,11 @@ struct _archive //gushort pos; gushort status, _pad1; //gchar *info; - //guint32 *tags; + guint32 *tags; //guint32 kxfer; //strong link xfer key guint32 kxferacc; - Split *splits[TXN_MAX_SPLIT+1]; + GPtrArray *splits; guint32 nextdate; gushort daygap; @@ -55,13 +55,44 @@ struct _archive }; +/* list define archive (defarchive) */ +enum +{ + LST_DEFARC_DATAS, + LST_DEFARC_OLDPOS, + LST_DEFARC_AUTO, + NUM_LST_DEFARC +}; + +/* +** scheduled unit +*/ +enum +{ + AUTO_UNIT_DAY, + AUTO_UNIT_WEEK, + AUTO_UNIT_MONTH, + //AUTO_UNIT_QUARTER, + AUTO_UNIT_YEAR +}; + + + + Archive *da_archive_malloc(void); Archive *da_archive_clone(Archive *src_item); guint archive_add_get_nbdays(void); void da_archive_free(Archive *item); void da_archive_destroy(GList *list); GList *da_archive_sort(GList *list); + guint da_archive_length(void); +gboolean da_archive_append(Archive *item); +gboolean da_archive_append_new(Archive *item); +guint32 da_archive_get_max_key(void); +Archive *da_archive_get(guint32 key); + + void da_archive_consistency(Archive *item); Archive *da_archive_init_from_transaction(Archive *arc, Transaction *txn);