X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Fhomebank;a=blobdiff_plain;f=src%2Fhb-archive.h;h=b4bbc1b4c088de1bde2c5af5b54c2161213b428f;hp=fa230733002f89e3e0bbbbca19632c5718e5b588;hb=a6c6b0df5492c2160ed97e3a376bdb2fe7c5ebc4;hpb=b84403141a4c3a32a594800eb3fcabdc856461f8 diff --git a/src/hb-archive.h b/src/hb-archive.h index fa23073..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-2017 Maxime DOYEN + * Copyright (C) 1995-2019 Maxime DOYEN * * This file is part of HomeBank. * @@ -27,25 +27,27 @@ typedef struct _archive Archive; struct _archive { + guint32 key; gdouble amount; guint32 kacc; gushort paymode; gushort flags; guint32 kpay; guint32 kcat; - gchar *wording; + gchar *memo; //guint32 date; //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; gushort every; gushort unit; gushort limit; @@ -53,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);