diff options
Diffstat (limited to 'src/report.h')
-rw-r--r-- | src/report.h | 72 |
1 files changed, 37 insertions, 35 deletions
diff --git a/src/report.h b/src/report.h index bf146eaf..45c39c60 100644 --- a/src/report.h +++ b/src/report.h @@ -48,28 +48,30 @@ class report_t : public xml::xpath_t::scope_t string total_expr; string date_output_format; - unsigned long budget_flags; + unsigned long budget_flags; - string account; + string account; optional<path> pager; - bool show_totals; - bool raw_mode; + bool show_totals; + bool raw_mode; - session_t * session; - transform_t * last_transform; + session_t& session; + transform_t * last_transform; ptr_list<transform_t> transforms; - report_t(session_t * _session) + explicit report_t(session_t& _session) : xml::xpath_t::scope_t(_session), show_totals(false), raw_mode(false), session(_session), last_transform(NULL) { - TRACE_CTOR(report_t, "session_t *"); + TRACE_CTOR(report_t, "session_t&"); +#if 0 eval("t=total,TOT=0,T()=(TOT=TOT+t,TOT)"); +#endif } virtual ~report_t(); @@ -80,8 +82,8 @@ class report_t : public xml::xpath_t::scope_t // Utility functions for value expressions // - value_t ftime(xml::xpath_t::scope_t * locals); - value_t abbrev(xml::xpath_t::scope_t * locals); + value_t ftime(xml::xpath_t::scope_t& locals); + value_t abbrev(xml::xpath_t::scope_t& locals); // // Config options @@ -92,36 +94,36 @@ class report_t : public xml::xpath_t::scope_t xml::xpath_t(expr).compile((xml::document_t *)NULL, this); #endif } - value_t option_eval(xml::xpath_t::scope_t * locals) { - eval(locals->args[0].as_string()); + value_t option_eval(xml::xpath_t::scope_t& locals) { + eval(locals.args[0].as_string()); return NULL_VALUE; } - value_t option_amount(xml::xpath_t::scope_t * locals) { - eval(string("t=") + locals->args[0].as_string()); + value_t option_amount(xml::xpath_t::scope_t& locals) { + eval(string("t=") + locals.args[0].as_string()); return NULL_VALUE; } - value_t option_total(xml::xpath_t::scope_t * locals) { - eval(string("T()=") + locals->args[0].as_string()); + value_t option_total(xml::xpath_t::scope_t& locals) { + eval(string("T()=") + locals.args[0].as_string()); return NULL_VALUE; } - value_t option_format(xml::xpath_t::scope_t * locals) { - format_string = locals->args[0].as_string(); + value_t option_format(xml::xpath_t::scope_t& locals) { + format_string = locals.args[0].as_string(); return NULL_VALUE; } - value_t option_raw(xml::xpath_t::scope_t * locals) { + value_t option_raw(xml::xpath_t::scope_t& locals) { raw_mode = true; return NULL_VALUE; } - value_t option_foo(xml::xpath_t::scope_t * locals) { + value_t option_foo(xml::xpath_t::scope_t& locals) { std::cout << "This is foo" << std::endl; return NULL_VALUE; } - value_t option_bar(xml::xpath_t::scope_t * locals) { - std::cout << "This is bar: " << locals->args[0] << std::endl; + value_t option_bar(xml::xpath_t::scope_t& locals) { + std::cout << "This is bar: " << locals.args[0] << std::endl; return NULL_VALUE; } @@ -130,44 +132,44 @@ class report_t : public xml::xpath_t::scope_t // #if 0 - value_t option_select(xml::xpath_t::scope_t * locals) { - transforms.push_back(new select_transform(locals->args[0].as_string())); + value_t option_select(xml::xpath_t::scope_t& locals) { + transforms.push_back(new select_transform(locals.args[0].as_string())); return NULL_VALUE; } - value_t option_limit(xml::xpath_t::scope_t * locals) { + value_t option_limit(xml::xpath_t::scope_t& locals) { string expr = (string("//xact[") + - locals->args[0].as_string() + "]"); + locals.args[0].as_string() + "]"); transforms.push_back(new select_transform(expr)); return NULL_VALUE; } - value_t option_remove(xml::xpath_t::scope_t * locals) { - transforms.push_back(new remove_transform(locals->args[0].as_string())); + value_t option_remove(xml::xpath_t::scope_t& locals) { + transforms.push_back(new remove_transform(locals.args[0].as_string())); return NULL_VALUE; } - value_t option_accounts(xml::xpath_t::scope_t * locals) { + value_t option_accounts(xml::xpath_t::scope_t& locals) { transforms.push_back(new accounts_transform); return NULL_VALUE; } - value_t option_compact(xml::xpath_t::scope_t * locals) { + value_t option_compact(xml::xpath_t::scope_t& locals) { transforms.push_back(new compact_transform); return NULL_VALUE; } - value_t option_clean(xml::xpath_t::scope_t * locals) { + value_t option_clean(xml::xpath_t::scope_t& locals) { transforms.push_back(new clean_transform); return NULL_VALUE; } - value_t option_entries(xml::xpath_t::scope_t * locals) { + value_t option_entries(xml::xpath_t::scope_t& locals) { transforms.push_back(new entries_transform); return NULL_VALUE; } - value_t option_split(xml::xpath_t::scope_t * locals) { + value_t option_split(xml::xpath_t::scope_t& locals) { transforms.push_back(new split_transform); return NULL_VALUE; } - value_t option_merge(xml::xpath_t::scope_t * locals) { + value_t option_merge(xml::xpath_t::scope_t& locals) { transforms.push_back(new merge_transform); return NULL_VALUE; } @@ -178,7 +180,7 @@ class report_t : public xml::xpath_t::scope_t // virtual optional<value_t> resolve(const string& name, - xml::xpath_t::scope_t * locals); + xml::xpath_t::scope_t& locals); virtual xml::xpath_t::ptr_op_t lookup(const string& name); }; |