summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Wiegley <johnw@newartisans.com>2012-04-12 02:39:23 -0500
committerJohn Wiegley <johnw@newartisans.com>2012-04-13 15:16:27 -0500
commit1e572d508d27738142dd5e80ea6745043eed8f18 (patch)
tree7bceb132c69a10316473a8c0972936198e1124a0
parent6a5360e2b570d21b321f901ca5584780a6111121 (diff)
downloadfork-ledger-1e572d508d27738142dd5e80ea6745043eed8f18.tar.gz
fork-ledger-1e572d508d27738142dd5e80ea6745043eed8f18.tar.bz2
fork-ledger-1e572d508d27738142dd5e80ea6745043eed8f18.zip
Add 'data' member to account/journal objects
-rw-r--r--src/account.h17
-rw-r--r--src/xact.cc3
-rw-r--r--src/xact.h8
3 files changed, 23 insertions, 5 deletions
diff --git a/src/account.h b/src/account.h
index fd98a9ac..c0e3e1f7 100644
--- a/src/account.h
+++ b/src/account.h
@@ -70,13 +70,20 @@ public:
optional<expr_t> value_expr;
mutable string _fullname;
+#ifdef DOCUMENT_MODEL
+ mutable void * data;
+#endif
account_t(account_t * _parent = NULL,
const string& _name = "",
const optional<string>& _note = none)
: supports_flags<>(), scope_t(), parent(_parent),
name(_name), note(_note),
- depth(static_cast<unsigned short>(parent ? parent->depth + 1 : 0)) {
+ depth(static_cast<unsigned short>(parent ? parent->depth + 1 : 0))
+#ifdef DOCUMENT_MODEL
+ , data(NULL)
+#endif
+ {
TRACE_CTOR(account_t, "account_t *, const string&, const string&");
}
account_t(const account_t& other)
@@ -85,10 +92,14 @@ public:
name(other.name),
note(other.note),
depth(other.depth),
- accounts(other.accounts) {
+ accounts(other.accounts)
+#ifdef DOCUMENT_MODEL
+ , data(NULL)
+#endif
+ {
TRACE_CTOR(account_t, "copy");
}
- ~account_t();
+ virtual ~account_t();
virtual string description() {
return string(_("account ")) + fullname();
diff --git a/src/xact.cc b/src/xact.cc
index 8085b104..3f4b753c 100644
--- a/src/xact.cc
+++ b/src/xact.cc
@@ -487,6 +487,9 @@ bool xact_base_t::verify()
xact_t::xact_t(const xact_t& e)
: xact_base_t(e), code(e.code), payee(e.payee)
+#ifdef DOCUMENT_MODEL
+ , data(NULL)
+#endif
{
TRACE_CTOR(xact_t, "copy");
}
diff --git a/src/xact.h b/src/xact.h
index 0000e9c6..59430285 100644
--- a/src/xact.h
+++ b/src/xact.h
@@ -110,10 +110,14 @@ public:
string payee;
#ifdef DOCUMENT_MODEL
- void * data;
+ mutable void * data;
#endif
- xact_t() {
+ xact_t()
+#ifdef DOCUMENT_MODEL
+ : data(NULL)
+#endif
+ {
TRACE_CTOR(xact_t, "");
}
xact_t(const xact_t& e);