From a72ce95c922228e624e47bb43a68c55a9dd8eab2 Mon Sep 17 00:00:00 2001 From: Jay Berkenbilt Date: Fri, 1 Oct 2010 11:02:35 +0000 Subject: setOutputStreams git-svn-id: svn+q:///qpdf/trunk@1035 71b93d88-0707-0410-a8cf-f5a4172ac649 --- libqpdf/QPDF.cc | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) (limited to 'libqpdf/QPDF.cc') diff --git a/libqpdf/QPDF.cc b/libqpdf/QPDF.cc index 3ea0f813..122b0bdb 100644 --- a/libqpdf/QPDF.cc +++ b/libqpdf/QPDF.cc @@ -267,6 +267,8 @@ QPDF::QPDF() : encryption_initialized(false), ignore_xref_streams(false), suppress_warnings(false), + out_stream(&std::cout), + err_stream(&std::cerr), attempt_recovery(true), encryption_V(0), encrypt_metadata(true), @@ -332,6 +334,13 @@ QPDF::setIgnoreXRefStreams(bool val) this->ignore_xref_streams = val; } +void +QPDF::setOutputStreams(std::ostream* out, std::ostream* err) +{ + this->out_stream = out ? out : &std::cout; + this->err_stream = err ? err : &std::cerr; +} + void QPDF::setSuppressWarnings(bool val) { @@ -449,7 +458,8 @@ QPDF::warn(QPDFExc const& e) this->warnings.push_back(e); if (! this->suppress_warnings) { - std::cerr << "WARNING: " << this->warnings.back().what() << std::endl; + *err_stream << "WARNING: " + << this->warnings.back().what() << std::endl; } } @@ -1045,16 +1055,16 @@ QPDF::showXRefTable() { ObjGen const& og = (*iter).first; QPDFXRefEntry const& entry = (*iter).second; - std::cout << og.obj << "/" << og.gen << ": "; + *out_stream << og.obj << "/" << og.gen << ": "; switch (entry.getType()) { case 1: - std::cout << "uncompressed; offset = " << entry.getOffset(); + *out_stream << "uncompressed; offset = " << entry.getOffset(); break; case 2: - std::cout << "compressed; stream = " << entry.getObjStreamNumber() - << ", index = " << entry.getObjStreamIndex(); + *out_stream << "compressed; stream = " << entry.getObjStreamNumber() + << ", index = " << entry.getObjStreamIndex(); break; default: @@ -1062,7 +1072,7 @@ QPDF::showXRefTable() " showing xref_table"); break; } - std::cout << std::endl; + *out_stream << std::endl; } } -- cgit v1.2.3-54-g00ecf