summaryrefslogtreecommitdiff
path: root/src/main.cc
diff options
context:
space:
mode:
authorJohn Wiegley <johnw@newartisans.com>2007-05-14 11:09:06 +0000
committerJohn Wiegley <johnw@newartisans.com>2008-04-13 03:38:49 -0400
commit77db7eb92f730af315d4bcdf831cc67acb386b58 (patch)
tree566a413e47d8d9f2f82d257c4ad3988c0a38d919 /src/main.cc
parent3cc14c70d47f6f7674b587eb08b9d0e02a90e662 (diff)
downloadledger-77db7eb92f730af315d4bcdf831cc67acb386b58.tar.gz
ledger-77db7eb92f730af315d4bcdf831cc67acb386b58.tar.bz2
ledger-77db7eb92f730af315d4bcdf831cc67acb386b58.zip
Added initial support for using builders from the various parsers; at the moment is just uses the xml_writer_t builder to output the contents of the ledger journal as XML
Diffstat (limited to 'src/main.cc')
-rw-r--r--src/main.cc20
1 files changed, 14 insertions, 6 deletions
diff --git a/src/main.cc b/src/main.cc
index 12f614e5..010abd3c 100644
--- a/src/main.cc
+++ b/src/main.cc
@@ -31,11 +31,12 @@
#include "utils.h"
#include "option.h"
-#if defined(HAVE_EXPAT) || defined(HAVE_XMLPARSE)
-#include "gnucash.h"
-#endif
-#include "qif.h"
-#include "ofx.h"
+//#if defined(HAVE_EXPAT) || defined(HAVE_XMLPARSE)
+//#include "gnucash.h"
+//#endif
+//#include "qif.h"
+//#include "ofx.h"
+#include "builder.h"
#include <ledger.h>
@@ -211,7 +212,14 @@ static int read_and_report(report_t * report, int argc, char * argv[],
INFO_START(journal, "Read journal file");
journal_t * journal = session.read_data(report->account);
+ {
+ textual_parser_t text_parser;
+ ifstream input(session.data_file);
+ xml::xml_writer_t writer(std::cout);
+ text_parser.parse(input, session.data_file, writer);
+ }
INFO_FINISH(journal);
+ return 0;
TRACE_FINISH(entry_text, 1);
TRACE_FINISH(entry_date, 1);
@@ -459,7 +467,6 @@ int main(int argc, char * argv[], char * envp[])
#if 0
session->register_parser(new binary_parser_t);
-#endif
#if defined(HAVE_EXPAT) || defined(HAVE_XMLPARSE)
session->register_parser(new xml::xml_parser_t);
session->register_parser(new gnucash_parser_t);
@@ -469,6 +476,7 @@ int main(int argc, char * argv[], char * envp[])
#endif
session->register_parser(new qif_parser_t);
session->register_parser(new textual_parser_t);
+#endif
std::auto_ptr<ledger::report_t> report(new ledger::report_t(session.get()));