diff options
author | John Wiegley <johnw@newartisans.com> | 2007-05-19 02:58:38 +0000 |
---|---|---|
committer | John Wiegley <johnw@newartisans.com> | 2008-04-13 03:38:53 -0400 |
commit | b6ab7deb63d3e3e22ecd4d6c70c6249db2ba558c (patch) | |
tree | 6cfe58ee8e093d310aa7ea84de87db3190c576bf /src/transform.h | |
parent | 2d8512af88eab26176089e53916f309f2d3b3be4 (diff) | |
download | ledger-b6ab7deb63d3e3e22ecd4d6c70c6249db2ba558c.tar.gz ledger-b6ab7deb63d3e3e22ecd4d6c70c6249db2ba558c.tar.bz2 ledger-b6ab7deb63d3e3e22ecd4d6c70c6249db2ba558c.zip |
Completely revised the way XPath expressions are calculated.
Diffstat (limited to 'src/transform.h')
-rw-r--r-- | src/transform.h | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/src/transform.h b/src/transform.h index 5d6b1976..158b9b6a 100644 --- a/src/transform.h +++ b/src/transform.h @@ -39,38 +39,38 @@ namespace ledger { class transform_t { public: virtual ~transform_t() {} - virtual void execute(xml::document_t& document) = 0; + virtual value_t operator()(xml::xpath_t::scope_t& args) = 0; }; class check_transform : public transform_t { // --check checks the validity of the item list. public: - virtual void execute(xml::document_t& document); + virtual value_t operator()(xml::xpath_t::call_scope_t& args); }; class accounts_transform : public transform_t { // --accounts transforms the report tree into an account-wise view. public: - virtual void execute(xml::document_t& document); + virtual value_t operator()(xml::xpath_t::call_scope_t& args); }; class compact_transform : public transform_t { // --compact compacts an account tree to remove accounts with only // one child account. public: - virtual void execute(xml::document_t& document); + virtual value_t operator()(xml::xpath_t::call_scope_t& args); }; class clean_transform : public transform_t { // --clean clears out entries and accounts that have no contents. public: - virtual void execute(xml::document_t& document); + virtual value_t operator()(xml::xpath_t::call_scope_t& args); }; class entries_transform : public transform_t { // --entries transforms the report tree into an entries-wise view. public: - virtual void execute(xml::document_t& document); + virtual value_t operator()(xml::xpath_t::call_scope_t& args); }; class optimize_transform : public transform_t { @@ -79,7 +79,7 @@ class optimize_transform : public transform_t { // commodity (one the negative of the other), the amount of the // second transaction will be nulled out. public: - virtual void execute(xml::document_t& document); + virtual value_t operator()(xml::xpath_t::call_scope_t& args); }; class split_transform : public transform_t { @@ -89,7 +89,7 @@ class split_transform : public transform_t { // useful before sorting, for exampel, in order to sort by // transaction instead of by entry. public: - virtual void execute(xml::document_t& document); + virtual value_t operator()(xml::xpath_t::call_scope_t& args); }; class merge_transform : public transform_t { @@ -97,7 +97,7 @@ class merge_transform : public transform_t { // which share the same entry will be merged into a group of // transactions under one reported entry. public: - virtual void execute(xml::document_t& document); + virtual value_t operator()(xml::xpath_t::call_scope_t& args); }; class combine_transform : public transform_t { @@ -107,14 +107,14 @@ class combine_transform : public transform_t { // will show the terminating date or a label that is characteristic // of the set). public: - virtual void execute(xml::document_t& document); + virtual value_t operator()(xml::xpath_t::call_scope_t& args); }; class group_transform : public transform_t { // --group groups all transactions that affect the same account // within an entry, so that they appear as a single transaction. public: - virtual void execute(xml::document_t& document); + virtual value_t operator()(xml::xpath_t::call_scope_t& args); }; class collapse_transform : public transform_t { @@ -123,7 +123,7 @@ class collapse_transform : public transform_t { // fictitous account "<total>" is used to represent the final sum, // if multiple accounts are involved. public: - virtual void execute(xml::document_t& document); + virtual value_t operator()(xml::xpath_t::call_scope_t& args); }; class subtotal_transform : public transform_t { @@ -131,7 +131,7 @@ class subtotal_transform : public transform_t { // one giant entry. When used in conjunction with --group, the // affect is very similar to a regular balance report. public: - virtual void execute(xml::document_t& document); + virtual value_t operator()(xml::xpath_t::call_scope_t& args); }; #if 0 @@ -146,7 +146,7 @@ class select_transform : public transform_t } virtual ~select_transform() {} - virtual void execute(xml::document_t& document); + virtual value_t operator()(xml::xpath_t::call_scope_t& args); }; class remove_transform : public select_transform @@ -155,7 +155,7 @@ class remove_transform : public select_transform remove_transform(const string& selection_path) : select_transform(selection_path) {} - virtual void execute(xml::document_t& document); + virtual value_t operator()(xml::xpath_t::call_scope_t& args); }; #endif |