Kaydet (Commit) eeefb8c4 authored tarafından Noel Grandin's avatar Noel Grandin

make UcbStreamHelper return SvStream by std::unique_ptr

Change-Id: I408f9193680ea73c61fcfb2bd1e860152219702c
üst bbf134a2
...@@ -25,6 +25,7 @@ ...@@ -25,6 +25,7 @@
#include <unotools/unotoolsdllapi.h> #include <unotools/unotoolsdllapi.h>
#include <tools/stream.hxx> #include <tools/stream.hxx>
#include <memory>
namespace com namespace com
{ {
...@@ -52,13 +53,13 @@ namespace utl ...@@ -52,13 +53,13 @@ namespace utl
class UNOTOOLS_DLLPUBLIC UcbStreamHelper class UNOTOOLS_DLLPUBLIC UcbStreamHelper
{ {
public: public:
static SvStream* CreateStream( const OUString& rFileName, StreamMode eOpenMode ); static std::unique_ptr<SvStream> CreateStream( const OUString& rFileName, StreamMode eOpenMode );
static SvStream* CreateStream( const OUString& rFileName, StreamMode eOpenMode, static std::unique_ptr<SvStream> CreateStream( const OUString& rFileName, StreamMode eOpenMode,
bool bFileExists ); bool bFileExists );
static SvStream* CreateStream( const css::uno::Reference < css::io::XInputStream >& xStream ); static std::unique_ptr<SvStream> CreateStream( const css::uno::Reference < css::io::XInputStream >& xStream );
static SvStream* CreateStream( const css::uno::Reference < css::io::XStream >& xStream ); static std::unique_ptr<SvStream> CreateStream( const css::uno::Reference < css::io::XStream >& xStream );
static SvStream* CreateStream( const css::uno::Reference < css::io::XInputStream >& xStream, bool bCloseStream ); static std::unique_ptr<SvStream> CreateStream( const css::uno::Reference < css::io::XInputStream >& xStream, bool bCloseStream );
static SvStream* CreateStream( const css::uno::Reference < css::io::XStream >& xStream, bool bCloseStream ); static std::unique_ptr<SvStream> CreateStream( const css::uno::Reference < css::io::XStream >& xStream, bool bCloseStream );
}; };
} }
......
...@@ -42,11 +42,11 @@ using namespace ::com::sun::star::beans; ...@@ -42,11 +42,11 @@ using namespace ::com::sun::star::beans;
namespace utl namespace utl
{ {
static SvStream* lcl_CreateStream( const OUString& rFileName, StreamMode eOpenMode, static std::unique_ptr<SvStream> lcl_CreateStream( const OUString& rFileName, StreamMode eOpenMode,
const Reference < XInteractionHandler >& xInteractionHandler, const Reference < XInteractionHandler >& xInteractionHandler,
bool bEnsureFileExists ) bool bEnsureFileExists )
{ {
SvStream* pStream = nullptr; std::unique_ptr<SvStream> pStream;
UcbLockBytesRef xLockBytes; UcbLockBytesRef xLockBytes;
if ( eOpenMode & StreamMode::WRITE ) if ( eOpenMode & StreamMode::WRITE )
{ {
...@@ -119,7 +119,7 @@ static SvStream* lcl_CreateStream( const OUString& rFileName, StreamMode eOpenMo ...@@ -119,7 +119,7 @@ static SvStream* lcl_CreateStream( const OUString& rFileName, StreamMode eOpenMo
eOpenMode, xInteractionHandler ); eOpenMode, xInteractionHandler );
if ( xLockBytes.is() ) if ( xLockBytes.is() )
{ {
pStream = new SvStream( xLockBytes.get() ); pStream.reset(new SvStream( xLockBytes.get() ));
pStream->SetBufferSize( 4096 ); pStream->SetBufferSize( 4096 );
pStream->SetError( xLockBytes->GetError() ); pStream->SetError( xLockBytes->GetError() );
} }
...@@ -137,7 +137,7 @@ static SvStream* lcl_CreateStream( const OUString& rFileName, StreamMode eOpenMo ...@@ -137,7 +137,7 @@ static SvStream* lcl_CreateStream( const OUString& rFileName, StreamMode eOpenMo
return pStream; return pStream;
} }
SvStream* UcbStreamHelper::CreateStream( const OUString& rFileName, StreamMode eOpenMode ) std::unique_ptr<SvStream> UcbStreamHelper::CreateStream( const OUString& rFileName, StreamMode eOpenMode )
{ {
// related tdf#99312 // related tdf#99312
// create a specialized interaction handler to manages Web certificates and Web credentials when needed // create a specialized interaction handler to manages Web certificates and Web credentials when needed
...@@ -149,7 +149,7 @@ SvStream* UcbStreamHelper::CreateStream( const OUString& rFileName, StreamMode e ...@@ -149,7 +149,7 @@ SvStream* UcbStreamHelper::CreateStream( const OUString& rFileName, StreamMode e
return lcl_CreateStream( rFileName, eOpenMode, xIHScoped, true /* bEnsureFileExists */ ); return lcl_CreateStream( rFileName, eOpenMode, xIHScoped, true /* bEnsureFileExists */ );
} }
SvStream* UcbStreamHelper::CreateStream( const OUString& rFileName, StreamMode eOpenMode, std::unique_ptr<SvStream> UcbStreamHelper::CreateStream( const OUString& rFileName, StreamMode eOpenMode,
bool bFileExists ) bool bFileExists )
{ {
// related tdf#99312 // related tdf#99312
...@@ -162,13 +162,13 @@ SvStream* UcbStreamHelper::CreateStream( const OUString& rFileName, StreamMode e ...@@ -162,13 +162,13 @@ SvStream* UcbStreamHelper::CreateStream( const OUString& rFileName, StreamMode e
} }
SvStream* UcbStreamHelper::CreateStream( const Reference < XInputStream >& xStream ) std::unique_ptr<SvStream> UcbStreamHelper::CreateStream( const Reference < XInputStream >& xStream )
{ {
SvStream* pStream = nullptr; std::unique_ptr<SvStream> pStream;
UcbLockBytesRef xLockBytes = UcbLockBytes::CreateInputLockBytes( xStream ); UcbLockBytesRef xLockBytes = UcbLockBytes::CreateInputLockBytes( xStream );
if ( xLockBytes.is() ) if ( xLockBytes.is() )
{ {
pStream = new SvStream( xLockBytes.get() ); pStream.reset(new SvStream( xLockBytes.get() ));
pStream->SetBufferSize( 4096 ); pStream->SetBufferSize( 4096 );
pStream->SetError( xLockBytes->GetError() ); pStream->SetError( xLockBytes->GetError() );
} }
...@@ -176,15 +176,15 @@ SvStream* UcbStreamHelper::CreateStream( const Reference < XInputStream >& xStre ...@@ -176,15 +176,15 @@ SvStream* UcbStreamHelper::CreateStream( const Reference < XInputStream >& xStre
return pStream; return pStream;
} }
SvStream* UcbStreamHelper::CreateStream( const Reference < XStream >& xStream ) std::unique_ptr<SvStream> UcbStreamHelper::CreateStream( const Reference < XStream >& xStream )
{ {
SvStream* pStream = nullptr; std::unique_ptr<SvStream> pStream;
if ( xStream->getOutputStream().is() ) if ( xStream->getOutputStream().is() )
{ {
UcbLockBytesRef xLockBytes = UcbLockBytes::CreateLockBytes( xStream ); UcbLockBytesRef xLockBytes = UcbLockBytes::CreateLockBytes( xStream );
if ( xLockBytes.is() ) if ( xLockBytes.is() )
{ {
pStream = new SvStream( xLockBytes.get() ); pStream.reset(new SvStream( xLockBytes.get() ));
pStream->SetBufferSize( 4096 ); pStream->SetBufferSize( 4096 );
pStream->SetError( xLockBytes->GetError() ); pStream->SetError( xLockBytes->GetError() );
} }
...@@ -195,16 +195,16 @@ SvStream* UcbStreamHelper::CreateStream( const Reference < XStream >& xStream ) ...@@ -195,16 +195,16 @@ SvStream* UcbStreamHelper::CreateStream( const Reference < XStream >& xStream )
return pStream; return pStream;
} }
SvStream* UcbStreamHelper::CreateStream( const Reference < XInputStream >& xStream, bool bCloseStream ) std::unique_ptr<SvStream> UcbStreamHelper::CreateStream( const Reference < XInputStream >& xStream, bool bCloseStream )
{ {
SvStream* pStream = nullptr; std::unique_ptr<SvStream> pStream;
UcbLockBytesRef xLockBytes = UcbLockBytes::CreateInputLockBytes( xStream ); UcbLockBytesRef xLockBytes = UcbLockBytes::CreateInputLockBytes( xStream );
if ( xLockBytes.is() ) if ( xLockBytes.is() )
{ {
if ( !bCloseStream ) if ( !bCloseStream )
xLockBytes->setDontClose_Impl(); xLockBytes->setDontClose_Impl();
pStream = new SvStream( xLockBytes.get() ); pStream.reset(new SvStream( xLockBytes.get() ));
pStream->SetBufferSize( 4096 ); pStream->SetBufferSize( 4096 );
pStream->SetError( xLockBytes->GetError() ); pStream->SetError( xLockBytes->GetError() );
} }
...@@ -212,9 +212,9 @@ SvStream* UcbStreamHelper::CreateStream( const Reference < XInputStream >& xStre ...@@ -212,9 +212,9 @@ SvStream* UcbStreamHelper::CreateStream( const Reference < XInputStream >& xStre
return pStream; return pStream;
}; };
SvStream* UcbStreamHelper::CreateStream( const Reference < XStream >& xStream, bool bCloseStream ) std::unique_ptr<SvStream> UcbStreamHelper::CreateStream( const Reference < XStream >& xStream, bool bCloseStream )
{ {
SvStream* pStream = nullptr; std::unique_ptr<SvStream> pStream;
if ( xStream->getOutputStream().is() ) if ( xStream->getOutputStream().is() )
{ {
UcbLockBytesRef xLockBytes = UcbLockBytes::CreateLockBytes( xStream ); UcbLockBytesRef xLockBytes = UcbLockBytes::CreateLockBytes( xStream );
...@@ -223,7 +223,7 @@ SvStream* UcbStreamHelper::CreateStream( const Reference < XStream >& xStream, b ...@@ -223,7 +223,7 @@ SvStream* UcbStreamHelper::CreateStream( const Reference < XStream >& xStream, b
if ( !bCloseStream ) if ( !bCloseStream )
xLockBytes->setDontClose_Impl(); xLockBytes->setDontClose_Impl();
pStream = new SvStream( xLockBytes.get() ); pStream.reset(new SvStream( xLockBytes.get() ));
pStream->SetBufferSize( 4096 ); pStream->SetBufferSize( 4096 );
pStream->SetError( xLockBytes->GetError() ); pStream->SetError( xLockBytes->GetError() );
} }
......
...@@ -34,8 +34,8 @@ Graphic loadFromURL(OUString const& rURL, sal_Int16 nExtWidth, sal_Int16 nExtHei ...@@ -34,8 +34,8 @@ Graphic loadFromURL(OUString const& rURL, sal_Int16 nExtWidth, sal_Int16 nExtHei
Graphic aGraphic; Graphic aGraphic;
std::unique_ptr<SvStream> pInputStream; std::unique_ptr<SvStream> pInputStream
pInputStream.reset(utl::UcbStreamHelper::CreateStream(rURL, StreamMode::READ)); = utl::UcbStreamHelper::CreateStream(rURL, StreamMode::READ);
if (pInputStream) if (pInputStream)
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment