summaryrefslogtreecommitdiff
path: root/parser.h
diff options
context:
space:
mode:
Diffstat (limited to 'parser.h')
-rw-r--r--parser.h30
1 files changed, 12 insertions, 18 deletions
diff --git a/parser.h b/parser.h
index edf0cdda..2f1a5469 100644
--- a/parser.h
+++ b/parser.h
@@ -7,7 +7,7 @@ namespace ledger {
class account_t;
class journal_t;
-class config_t;
+class session_t;
class parser_t
{
@@ -17,35 +17,29 @@ class parser_t
virtual bool test(std::istream& in) const = 0;
virtual unsigned int parse(std::istream& in,
- config_t& config,
- journal_t * journal,
+ session_t& session,
+ journal_t& journal,
account_t * master = NULL,
const path * original_file = NULL) = 0;
};
-bool register_parser(parser_t * parser);
-bool unregister_parser(parser_t * parser);
-
unsigned int parse_journal(std::istream& in,
- config_t& config,
- journal_t * journal,
+ session_t& session,
+ journal_t& journal,
account_t * master = NULL,
const path * original_file = NULL);
unsigned int parse_journal_file(const path& path,
- config_t& config,
- journal_t * journal,
+ session_t& session,
+ journal_t& journal,
account_t * master = NULL,
const path * original_file = NULL);
-unsigned int parse_ledger_data(config_t& config,
- journal_t * journal,
- parser_t * cache_parser = NULL,
- parser_t * xml_parser = NULL,
- parser_t * stdin_parser = NULL);
-
-void initialize_parser_support();
-void shutdown_parser_support();
+unsigned int parse_ledger_data(session_t& session,
+ journal_t& journal,
+ parser_t * cache_parser = NULL,
+ parser_t * xml_parser = NULL,
+ parser_t * stdin_parser = NULL);
class parse_error : public error {
public: