summaryrefslogtreecommitdiff
path: root/unotools
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2012-01-04 12:06:39 +0100
committerStephan Bergmann <sbergman@redhat.com>2012-01-04 12:06:39 +0100
commit752f69bad43c86cc18f45b418de25a0f770baa3e (patch)
tree1451b69d2953f7b624b636c5b135f6ee1733eec5 /unotools
parenta11aa274dac55b06fba32e348a8386fa4fa9d146 (diff)
Do not export whole class to avoid MS C++ implicitly exporting base template.
Diffstat (limited to 'unotools')
-rw-r--r--unotools/inc/unotools/streamwrap.hxx22
-rw-r--r--unotools/source/config/accelcfg.cxx3
-rw-r--r--unotools/source/streaming/streamwrap.cxx10
3 files changed, 23 insertions, 12 deletions
diff --git a/unotools/inc/unotools/streamwrap.hxx b/unotools/inc/unotools/streamwrap.hxx
index f05be3584229..125f68f164aa 100644
--- a/unotools/inc/unotools/streamwrap.hxx
+++ b/unotools/inc/unotools/streamwrap.hxx
@@ -110,23 +110,24 @@ public:
//==================================================================
typedef ::cppu::WeakImplHelper1<stario::XOutputStream> OutputStreamWrapper_Base;
// needed for some compilers
-class UNOTOOLS_DLLPUBLIC OOutputStreamWrapper : public OutputStreamWrapper_Base
+class OOutputStreamWrapper : public OutputStreamWrapper_Base
{
-protected:
- // TODO: thread safety!
- SvStream& rStream;
-
public:
- OOutputStreamWrapper(SvStream& _rStream) :rStream(_rStream) { }
+ UNOTOOLS_DLLPUBLIC OOutputStreamWrapper(SvStream& _rStream);
+
+protected:
+ virtual ~OOutputStreamWrapper();
// stario::XOutputStream
virtual void SAL_CALL writeBytes(const staruno::Sequence< sal_Int8 >& aData) throw(stario::NotConnectedException, stario::BufferSizeExceededException, staruno::RuntimeException);
virtual void SAL_CALL flush() throw(stario::NotConnectedException, stario::BufferSizeExceededException, staruno::RuntimeException);
virtual void SAL_CALL closeOutput() throw(stario::NotConnectedException, stario::BufferSizeExceededException, staruno::RuntimeException);
-protected:
/// throws an exception according to the error flag of m_pSvStream
void checkError() const;
+
+ // TODO: thread safety!
+ SvStream& rStream;
};
//==================================================================
@@ -137,12 +138,15 @@ typedef ::cppu::ImplHelper1 < ::com::sun::star::io::XSeekable
/** helper class for wrapping an SvStream into an <type scope="com.sun.star.io">XOutputStream</type>
which is seekable (i.e. supports the <type scope="com.sun.star.io">XSeekable</type> interface).
*/
-class UNOTOOLS_DLLPUBLIC OSeekableOutputStreamWrapper
+class OSeekableOutputStreamWrapper
:public OOutputStreamWrapper
,public OSeekableOutputStreamWrapper_Base
{
public:
- OSeekableOutputStreamWrapper(SvStream& _rStream);
+ UNOTOOLS_DLLPUBLIC OSeekableOutputStreamWrapper(SvStream& _rStream);
+
+private:
+ virtual ~OSeekableOutputStreamWrapper();
// disambiguate XInterface
virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type& _rType ) throw (::com::sun::star::uno::RuntimeException);
diff --git a/unotools/source/config/accelcfg.cxx b/unotools/source/config/accelcfg.cxx
index 61209f7ff22d..a93a58be29b5 100644
--- a/unotools/source/config/accelcfg.cxx
+++ b/unotools/source/config/accelcfg.cxx
@@ -187,8 +187,7 @@ SvtAcceleratorConfiguration::~SvtAcceleratorConfiguration()
INetURLObject aObj( aUserConfig );
aObj.insertName( String::CreateFromAscii("GlobalKeyBindings.xml") );
SvStream* pStream = ::utl::UcbStreamHelper::CreateStream( aObj.GetMainURL( INetURLObject::NO_DECODE ), STREAM_STD_READWRITE|STREAM_TRUNC );
- ::utl::OOutputStreamWrapper aHelper( *pStream );
- com::sun::star::uno::Reference < ::com::sun::star::io::XOutputStream > xOut( &aHelper );
+ com::sun::star::uno::Reference < ::com::sun::star::io::XOutputStream > xOut( new utl::OOutputStreamWrapper( *pStream ) );
pImp->Commit( xOut );
delete pStream;
}
diff --git a/unotools/source/streaming/streamwrap.cxx b/unotools/source/streaming/streamwrap.cxx
index 0d8cf64b1dc1..4558494adf97 100644
--- a/unotools/source/streaming/streamwrap.cxx
+++ b/unotools/source/streaming/streamwrap.cxx
@@ -223,7 +223,13 @@ sal_Int64 SAL_CALL OSeekableInputStreamWrapper::getLength( ) throw (IOException
//==================================================================
//= OOutputStreamWrapper
//==================================================================
-//------------------------------------------------------------------------------
+
+OOutputStreamWrapper::OOutputStreamWrapper(SvStream& _rStream):
+ rStream(_rStream)
+{}
+
+OOutputStreamWrapper::~OOutputStreamWrapper() {}
+
void SAL_CALL OOutputStreamWrapper::writeBytes(const staruno::Sequence< sal_Int8 >& aData) throw( stario::NotConnectedException, stario::BufferSizeExceededException, staruno::RuntimeException )
{
sal_uInt32 nWritten = rStream.Write(aData.getConstArray(),aData.getLength());
@@ -265,6 +271,8 @@ OSeekableOutputStreamWrapper::OSeekableOutputStreamWrapper(SvStream& _rStream)
{
}
+OSeekableOutputStreamWrapper::~OSeekableOutputStreamWrapper() {}
+
//------------------------------------------------------------------------------
Any SAL_CALL OSeekableOutputStreamWrapper::queryInterface( const Type& _rType ) throw (RuntimeException)
{