00001 // STD 00002 #include <iostream> 00003 #include <string> 00004 00005 #include "SDXStreamWriter.h" 00006 #include "SDXDocument.h" 00007 00008 using namespace std; 00009 using namespace SDX; 00010 using namespace SDX::Helpers; 00011 00012 StreamWriter::StreamWriter() : 00013 m_oStream(0) 00014 { 00015 00016 } 00017 00018 bool StreamWriter::write(SDX::Document* document){ 00019 if(!document){ 00020 m_error = "No document set"; 00021 return false; 00022 } 00023 00024 openStream(); 00025 if(!isReady()){ 00026 m_error = "Failed to open stream"; 00027 return false; 00028 } 00029 00030 document->sendToContentHandler(this); 00031 00032 closeStream(); 00033 return true; 00034 } 00035 00036 std::string StreamWriter::getError(){ 00037 return m_error; 00038 } 00039 00040 void StreamWriter::setStream(std::ostream* oStream){ 00041 m_oStream = oStream; 00042 } 00043 00044 bool StreamWriter::isReady(){ 00045 return m_oStream && m_oStream->good(); 00046 }
1.5.8