ledger/textual.h
John Wiegley 99313ebc6c Revised the way that exceptions are thrown around. Instead of context being a
complicated string of pointers, it's now just a global block of text that gets
appended to as the error is being thrown up, and can be displayed at the catch
point if desired.  There are almost no cases where a thrown exception will not
result in an error message being displayed to the user.
2008-07-31 06:24:45 -04:00

51 lines
1.2 KiB
C++

#ifndef _TEXTUAL_H
#define _TEXTUAL_H
#include "journal.h"
#include "format.h"
#include "walk.h"
namespace ledger {
class textual_parser_t : public journal_t::parser_t
{
public:
virtual bool test(std::istream& in) const;
virtual unsigned int parse(std::istream& in,
session_t& session,
journal_t& journal,
account_t * master = NULL,
const path * original_file = NULL);
};
xact_t * parse_xact_text(char * line, account_t * account);
xact_t * parse_xact(std::istream& in, account_t * account);
void write_textual_journal(journal_t& journal,
const path& pathname,
xact_handler_ptr& formatter,
const string& write_hdr_format,
std::ostream& out);
#if 0
class include_context : public file_context
{
public:
include_context(const path& file, unsigned long line,
const string& desc = "") throw()
: file_context(file, line, desc) {}
virtual ~include_context() throw() {}
virtual void describe(std::ostream& out) const throw() {
if (! desc.empty())
out << desc << ": ";
out << "\"" << file.string() << "\", line " << line << ":"
<< std::endl;
}
};
#endif
} // namespace ledger
#endif // _TEXTUAL_H