summaryrefslogtreecommitdiff
path: root/src/report.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/report.h')
-rw-r--r--src/report.h72
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);
};