summaryrefslogtreecommitdiff
path: root/src/account.h
diff options
context:
space:
mode:
authorCraig Earls <enderw88@gmail.com>2014-04-19 21:56:14 -0700
committerCraig Earls <enderw88@gmail.com>2014-04-19 21:56:14 -0700
commitfd18f58392833d6e1b1c06a7700f8afc37711c87 (patch)
tree895daa013b63caeed47bd944daba89003e9b34ce /src/account.h
parent7faaeb301fe524422c694e54fa36248ffedfa9b8 (diff)
parenta0c5addbbdaf472d26ae25c86ff826e509b3ee17 (diff)
downloadfork-ledger-fd18f58392833d6e1b1c06a7700f8afc37711c87.tar.gz
fork-ledger-fd18f58392833d6e1b1c06a7700f8afc37711c87.tar.bz2
fork-ledger-fd18f58392833d6e1b1c06a7700f8afc37711c87.zip
Merge commit 'a0c5addbbdaf472d26ae25c86ff826e509b3ee17'
Diffstat (limited to 'src/account.h')
-rw-r--r--src/account.h18
1 files changed, 11 insertions, 7 deletions
diff --git a/src/account.h b/src/account.h
index f6f764cc..d1377c39 100644
--- a/src/account.h
+++ b/src/account.h
@@ -52,6 +52,7 @@ class post_t;
typedef std::list<post_t *> posts_list;
typedef std::map<string, account_t *> accounts_map;
+typedef std::map<string, posts_list> deferred_posts_map_t;
class account_t : public supports_flags<>, public scope_t
{
@@ -61,13 +62,14 @@ class account_t : public supports_flags<>, public scope_t
#define ACCOUNT_GENERATED 0x04 // account never actually existed
public:
- account_t * parent;
- string name;
- optional<string> note;
- unsigned short depth;
- accounts_map accounts;
- posts_list posts;
- optional<expr_t> value_expr;
+ account_t * parent;
+ string name;
+ optional<string> note;
+ unsigned short depth;
+ accounts_map accounts;
+ posts_list posts;
+ optional<deferred_posts_map_t> deferred_posts;
+ optional<expr_t> value_expr;
mutable string _fullname;
#if DOCUMENT_MODEL
@@ -136,6 +138,8 @@ public:
}
void add_post(post_t * post);
+ void add_deferred_post(const string& uuid, post_t * post);
+ void apply_deferred_posts();
bool remove_post(post_t * post);
posts_list::iterator posts_begin() {