diff options
author | John Wiegley <johnw@newartisans.com> | 2005-02-15 11:04:48 +0000 |
---|---|---|
committer | John Wiegley <johnw@newartisans.com> | 2008-04-13 02:41:02 -0400 |
commit | 5ac4ab2fd51226c920c8e2b54698fedf8e29ea0d (patch) | |
tree | fc1c645b466e4d1d077d087c17141eb97f74859c /reconcile.h | |
parent | 7eafc0d9cad27ac74db529b7eab360e5950835eb (diff) | |
download | fork-ledger-5ac4ab2fd51226c920c8e2b54698fedf8e29ea0d.tar.gz fork-ledger-5ac4ab2fd51226c920c8e2b54698fedf8e29ea0d.tar.bz2 fork-ledger-5ac4ab2fd51226c920c8e2b54698fedf8e29ea0d.zip |
Converted the reconciler into an item_handler, so that it interacts
with the core the same way as everything else.
Diffstat (limited to 'reconcile.h')
-rw-r--r-- | reconcile.h | 29 |
1 files changed, 24 insertions, 5 deletions
diff --git a/reconcile.h b/reconcile.h index 95f1a133..18e690c7 100644 --- a/reconcile.h +++ b/reconcile.h @@ -1,14 +1,33 @@ #ifndef _RECONCILE_H #define _RECONCILE_H -#include "journal.h" +#include "value.h" +#include "walk.h" namespace ledger { -void reconcile_transactions(transactions_list& xacts, - value_t& balance, - const time_t cutoff, - const bool all_pending = false); +class reconcile_transactions : public item_handler<transaction_t> +{ + value_t balance; + time_t cutoff; + bool all_pending; + + transactions_list xacts; + + public: + reconcile_transactions(item_handler<transaction_t> * handler, + const value_t& _balance, const time_t _cutoff, + const bool _all_pending) + : item_handler<transaction_t>(handler), + balance(_balance), cutoff(_cutoff), all_pending(_all_pending) {} + + void push_to_handler(transaction_t * first); + + virtual void flush(); + virtual void operator()(transaction_t& xact) { + xacts.push_back(&xact); + } +}; } // namespace ledger |