summaryrefslogtreecommitdiff
path: root/io
diff options
context:
space:
mode:
Diffstat (limited to 'io')
-rw-r--r--io/source/TextOutputStream/TextOutputStream.cxx15
1 files changed, 15 insertions, 0 deletions
diff --git a/io/source/TextOutputStream/TextOutputStream.cxx b/io/source/TextOutputStream/TextOutputStream.cxx
index f7d309c1d162..84f9f488c247 100644
--- a/io/source/TextOutputStream/TextOutputStream.cxx
+++ b/io/source/TextOutputStream/TextOutputStream.cxx
@@ -63,6 +63,7 @@ class OTextOutputStream : public TextOutputStreamHelper
rtl_UnicodeToTextContext mContextUnicode2Text;
Sequence<sal_Int8> implConvert( const OUString& rSource );
+ void checkOutputStream() throw(IOException);
public:
OTextOutputStream();
@@ -163,6 +164,7 @@ Sequence<sal_Int8> OTextOutputStream::implConvert( const OUString& rSource )
void OTextOutputStream::writeString( const OUString& aString )
throw(IOException, RuntimeException)
{
+ checkOutputStream();
if( !mbEncodingInitialized )
{
OUString aUtf8Str("utf8");
@@ -194,22 +196,35 @@ void OTextOutputStream::setEncoding( const OUString& Encoding )
void OTextOutputStream::writeBytes( const Sequence< sal_Int8 >& aData )
throw(NotConnectedException, BufferSizeExceededException, IOException, RuntimeException)
{
+ checkOutputStream();
mxStream->writeBytes( aData );
}
void OTextOutputStream::flush( )
throw(NotConnectedException, BufferSizeExceededException, IOException, RuntimeException)
{
+ checkOutputStream();
mxStream->flush();
}
void OTextOutputStream::closeOutput( )
throw(NotConnectedException, BufferSizeExceededException, IOException, RuntimeException)
{
+ checkOutputStream();
mxStream->closeOutput();
}
+void OTextOutputStream::checkOutputStream()
+ throw(IOException)
+{
+ if (! mxStream.is() )
+ throw IOException(
+ OUString("output stream is not initialized, you have to use setOutputStream first"),
+ Reference<XInterface>());
+}
+
+
//===========================================================================
// XActiveDataSource