diff --git a/basctl/source/dlged/dlged.cxx b/basctl/source/dlged/dlged.cxx index 24ab996db5a0..5ecdd24babd7 100644 --- a/basctl/source/dlged/dlged.cxx +++ b/basctl/source/dlged/dlged.cxx @@ -900,7 +900,8 @@ void DlgEditor::Paste() if ( xClipDialogModel.is() ) { - ::xmlscript::importDialogModel( ::xmlscript::createInputStream( rtl::ByteSequence(DialogModelBytes.getArray(), DialogModelBytes.getLength()) ) , xClipDialogModel, xContext, m_xDocument ); + Reference xIn = ::xmlscript::createInputStream( DialogModelBytes.getConstArray(), DialogModelBytes.getLength() ); + ::xmlscript::importDialogModel( xIn , xClipDialogModel, xContext, m_xDocument ); } // get control models from clipboard dialog model diff --git a/desktop/source/deployment/inc/dp_ucb.h b/desktop/source/deployment/inc/dp_ucb.h index 324e39896e59..174af57c87e9 100644 --- a/desktop/source/deployment/inc/dp_ucb.h +++ b/desktop/source/deployment/inc/dp_ucb.h @@ -21,6 +21,7 @@ #define INCLUDED_DESKTOP_SOURCE_DEPLOYMENT_INC_DP_UCB_H #include +#include #include #include #include @@ -80,7 +81,7 @@ DESKTOP_DEPLOYMENTMISC_DLLPUBLIC bool erase_path( DESKTOP_DEPLOYMENTMISC_DLLPUBLIC -::rtl::ByteSequence readFile( ::ucbhelper::Content & ucb_content ); +std::vector readFile( ::ucbhelper::Content & ucb_content ); DESKTOP_DEPLOYMENTMISC_DLLPUBLIC diff --git a/desktop/source/deployment/manager/dp_extensionmanager.cxx b/desktop/source/deployment/manager/dp_extensionmanager.cxx index 9e9d95ea404e..ddcb155eae13 100644 --- a/desktop/source/deployment/manager/dp_extensionmanager.cxx +++ b/desktop/source/deployment/manager/dp_extensionmanager.cxx @@ -109,9 +109,8 @@ void writeLastModified(OUString & url, Reference const OString stamp("1" ); Reference xData( ::xmlscript::createInputStream( - ::rtl::ByteSequence( reinterpret_cast(stamp.getStr()), - stamp.getLength() ) ) ); + stamp.getLength() ) ); ucbStamp.writeStream( xData, true /* replace existing */ ); } catch(...) diff --git a/desktop/source/deployment/manager/dp_manager.cxx b/desktop/source/deployment/manager/dp_manager.cxx index 1cd7349bb13c..864d852c0a58 100644 --- a/desktop/source/deployment/manager/dp_manager.cxx +++ b/desktop/source/deployment/manager/dp_manager.cxx @@ -245,9 +245,9 @@ void PackageManagerImpl::initActivationLayer( aSecurity.getUserName( aUserName ); ucbhelper::Content remFileContent( url + "removed", Reference(), m_xComponentContext); - ::rtl::ByteSequence data = dp_misc::readFile(remFileContent); - OString osData(reinterpret_cast(data.getConstArray()), - data.getLength()); + std::vector data = dp_misc::readFile(remFileContent); + OString osData(reinterpret_cast(data.data()), + data.size()); OUString sData = OStringToOUString( osData, RTL_TEXTENCODING_UTF8); if (!sData.equals(aUserName)) @@ -890,9 +890,8 @@ void PackageManagerImpl::removePackage( OString stamp = OUStringToOString(aUserName, RTL_TEXTENCODING_UTF8); Reference xData( ::xmlscript::createInputStream( - ::rtl::ByteSequence( reinterpret_cast(stamp.getStr()), - stamp.getLength() ) ) ); + stamp.getLength() ) ); contentRemoved.writeStream( xData, true /* replace existing */ ); } m_activePackagesDB->erase( id, fileName ); // to be removed upon next start diff --git a/desktop/source/deployment/manager/dp_properties.cxx b/desktop/source/deployment/manager/dp_properties.cxx index 38f29182f352..a3f5ac54ef33 100644 --- a/desktop/source/deployment/manager/dp_properties.cxx +++ b/desktop/source/deployment/manager/dp_properties.cxx @@ -119,9 +119,8 @@ void ExtensionProperties::write() buf.makeStringAndClear(), RTL_TEXTENCODING_UTF8); Reference xData( ::xmlscript::createInputStream( - ::rtl::ByteSequence( reinterpret_cast(stamp.getStr()), - stamp.getLength() ) ) ); + stamp.getLength() ) ); contentProps.writeStream( xData, true /* replace existing */ ); } diff --git a/desktop/source/deployment/misc/dp_ucb.cxx b/desktop/source/deployment/misc/dp_ucb.cxx index ba0a9c0f0365..eda1d50f74b3 100644 --- a/desktop/source/deployment/misc/dp_ucb.cxx +++ b/desktop/source/deployment/misc/dp_ucb.cxx @@ -184,9 +184,9 @@ bool erase_path( OUString const & url, } -::rtl::ByteSequence readFile( ::ucbhelper::Content & ucb_content ) +std::vector readFile( ::ucbhelper::Content & ucb_content ) { - ::rtl::ByteSequence bytes; + std::vector bytes; Reference xStream( ::xmlscript::createOutputStream( &bytes ) ); if (! ucb_content.openStream( xStream )) @@ -201,9 +201,9 @@ bool readLine( OUString * res, OUString const & startingWith, ::ucbhelper::Content & ucb_content, rtl_TextEncoding textenc ) { // read whole file: - ::rtl::ByteSequence bytes( readFile( ucb_content ) ); - OUString file( reinterpret_cast(bytes.getConstArray()), - bytes.getLength(), textenc ); + std::vector bytes( readFile( ucb_content ) ); + OUString file( reinterpret_cast(bytes.data()), + bytes.size(), textenc ); sal_Int32 pos = 0; for (;;) { @@ -257,9 +257,9 @@ bool readProperties( ::std::list< ::std::pair< OUString, OUString> > & out_resul ::ucbhelper::Content & ucb_content ) { // read whole file: - ::rtl::ByteSequence bytes( readFile( ucb_content ) ); - OUString file( reinterpret_cast(bytes.getConstArray()), - bytes.getLength(), RTL_TEXTENCODING_UTF8); + std::vector bytes( readFile( ucb_content ) ); + OUString file( reinterpret_cast(bytes.data()), + bytes.size(), RTL_TEXTENCODING_UTF8); sal_Int32 pos = 0; for (;;) diff --git a/desktop/source/deployment/registry/component/dp_component.cxx b/desktop/source/deployment/registry/component/dp_component.cxx index 61bba1def6a1..51d0f078d42b 100644 --- a/desktop/source/deployment/registry/component/dp_component.cxx +++ b/desktop/source/deployment/registry/component/dp_component.cxx @@ -953,9 +953,8 @@ void BackendImpl::unorc_flush( Reference const & xCmdEnv ) const Reference xData( ::xmlscript::createInputStream( - ::rtl::ByteSequence( reinterpret_cast(buf2.getStr()), - buf2.getLength() ) ) ); + buf2.getLength() ) ); ::ucbhelper::Content ucb_content( makeURL( getCachePath(), getPlatformString() + "rc" ), xCmdEnv, m_xComponentContext ); @@ -978,9 +977,8 @@ void BackendImpl::unorc_flush( Reference const & xCmdEnv ) // write unorc: const Reference xData( ::xmlscript::createInputStream( - ::rtl::ByteSequence( reinterpret_cast(buf.getStr()), - buf.getLength() ) ) ); + buf.getLength() ) ); ::ucbhelper::Content ucb_content( makeURL( getCachePath(), "unorc" ), xCmdEnv, m_xComponentContext ); ucb_content.writeStream( xData, true /* replace existing */ ); diff --git a/desktop/source/deployment/registry/configuration/dp_configuration.cxx b/desktop/source/deployment/registry/configuration/dp_configuration.cxx index b8e68bb2ca8b..27e229a4da87 100644 --- a/desktop/source/deployment/registry/configuration/dp_configuration.cxx +++ b/desktop/source/deployment/registry/configuration/dp_configuration.cxx @@ -458,9 +458,8 @@ void BackendImpl::configmgrini_flush( // write configmgr.ini: const Reference xData( ::xmlscript::createInputStream( - ::rtl::ByteSequence( reinterpret_cast(buf.getStr()), - buf.getLength() ) ) ); + buf.getLength() ) ); ::ucbhelper::Content ucb_content( makeURL( getCachePath(), "configmgr.ini" ), xCmdEnv, m_xComponentContext ); ucb_content.writeStream( xData, true /* replace existing */ ); @@ -597,15 +596,14 @@ OUString replaceOrigin( { // looking for %origin%: ::ucbhelper::Content ucb_content( url, xCmdEnv, xContext ); - ::rtl::ByteSequence bytes( readFile( ucb_content ) ); - ::rtl::ByteSequence filtered( bytes.getLength() * 2, - ::rtl::BYTESEQ_NODEFAULT ); + std::vector bytes( readFile( ucb_content ) ); + std::vector filtered( bytes.size() * 2 ); bool use_filtered = false; OString origin; sal_Char const * pBytes = reinterpret_cast( - bytes.getConstArray()); - sal_Size nBytes = bytes.getLength(); - sal_Int32 write_pos = 0; + bytes.data()); + sal_Size nBytes = bytes.size(); + size_t write_pos = 0; while (nBytes > 0) { sal_Int32 index = rtl_str_indexOfChar_WithLength( pBytes, nBytes, '%' ); @@ -615,9 +613,9 @@ OUString replaceOrigin( index = nBytes; } - if ((write_pos + index) > filtered.getLength()) - filtered.realloc( (filtered.getLength() + index) * 2 ); - memcpy( filtered.getArray() + write_pos, pBytes, index ); + if ((write_pos + index) > filtered.size()) + filtered.resize( (filtered.size() + index) * 2 ); + memcpy( filtered.data() + write_pos, pBytes, index ); write_pos += index; pBytes += index; nBytes -= index; @@ -655,15 +653,15 @@ OUString replaceOrigin( nBytes -= RTL_CONSTASCII_LENGTH("origin%"); use_filtered = true; } - if ((write_pos + nAdd) > filtered.getLength()) - filtered.realloc( (filtered.getLength() + nAdd) * 2 ); - memcpy( filtered.getArray() + write_pos, pAdd, nAdd ); + if ((write_pos + nAdd) > filtered.size()) + filtered.resize( (filtered.size() + nAdd) * 2 ); + memcpy( filtered.data() + write_pos, pAdd, nAdd ); write_pos += nAdd; } if (!use_filtered) return url; - if (write_pos < filtered.getLength()) - filtered.realloc( write_pos ); + if (write_pos < filtered.size()) + filtered.resize( write_pos ); OUString newUrl(url); if (!destFolder.isEmpty()) { diff --git a/desktop/source/deployment/registry/dp_backenddb.cxx b/desktop/source/deployment/registry/dp_backenddb.cxx index 3cd4185c3f8d..535d9a4ba327 100644 --- a/desktop/source/deployment/registry/dp_backenddb.cxx +++ b/desktop/source/deployment/registry/dp_backenddb.cxx @@ -52,7 +52,7 @@ BackendDb::BackendDb( void BackendDb::save() { const Reference xDataSource(m_doc,css::uno::UNO_QUERY_THROW); - ::rtl::ByteSequence bytes; + std::vector bytes; xDataSource->setOutputStream(::xmlscript::createOutputStream(&bytes)); const Reference xDataControl(m_doc,css::uno::UNO_QUERY_THROW); xDataControl->start(); diff --git a/desktop/source/deployment/registry/package/dp_package.cxx b/desktop/source/deployment/registry/package/dp_package.cxx index 58b302e0ea80..5ee41ed53929 100644 --- a/desktop/source/deployment/registry/package/dp_package.cxx +++ b/desktop/source/deployment/registry/package/dp_package.cxx @@ -578,9 +578,9 @@ OUString BackendImpl::PackageImpl::getTextFromURL( { ::ucbhelper::Content descContent( licenseUrl, xCmdEnv, getMyBackend()->getComponentContext()); - ::rtl::ByteSequence seq = dp_misc::readFile(descContent); + std::vector seq = dp_misc::readFile(descContent); return OUString( reinterpret_cast( - seq.getConstArray()), seq.getLength(), RTL_TEXTENCODING_UTF8); + seq.data()), seq.size(), RTL_TEXTENCODING_UTF8); } catch (const css::uno::Exception&) { @@ -1544,13 +1544,13 @@ void BackendImpl::PackageImpl::scanBundle( xCmdEnv, false /* no throw */ )) { // patch description: - ::rtl::ByteSequence bytes( readFile( descrFileContent ) ); + std::vector bytes( readFile( descrFileContent ) ); OUStringBuffer buf; - if ( bytes.getLength() ) + if ( bytes.size() ) { buf.append( OUString( reinterpret_cast( - bytes.getConstArray() ), - bytes.getLength(), RTL_TEXTENCODING_UTF8 ) ); + bytes.data() ), + bytes.size(), RTL_TEXTENCODING_UTF8 ) ); } else { diff --git a/include/xmlscript/xml_helper.hxx b/include/xmlscript/xml_helper.hxx index c66c592d4976..22066affb016 100644 --- a/include/xmlscript/xml_helper.hxx +++ b/include/xmlscript/xml_helper.hxx @@ -112,11 +112,15 @@ protected: XMLSCRIPT_DLLPUBLIC css::uno::Reference< css::io::XInputStream > SAL_CALL createInputStream( - ::rtl::ByteSequence const & rInData ); + std::vector const & rInData ); + +XMLSCRIPT_DLLPUBLIC css::uno::Reference< css::io::XInputStream > +SAL_CALL createInputStream( + const sal_Int8* pData, int len ); XMLSCRIPT_DLLPUBLIC css::uno::Reference< css::io::XOutputStream > SAL_CALL createOutputStream( - ::rtl::ByteSequence * pOutData ); + std::vector * pOutData ); } diff --git a/xmlscript/source/xml_helper/xml_byteseq.cxx b/xmlscript/source/xml_helper/xml_byteseq.cxx index 82ef110245b9..56cc5d29df0c 100644 --- a/xmlscript/source/xml_helper/xml_byteseq.cxx +++ b/xmlscript/source/xml_helper/xml_byteseq.cxx @@ -34,11 +34,11 @@ namespace xmlscript class BSeqInputStream : public ::cppu::WeakImplHelper< io::XInputStream > { - ByteSequence _seq; + std::vector _seq; sal_Int32 _nPos; public: - explicit BSeqInputStream( ByteSequence const & rSeq ) + explicit BSeqInputStream( std::vector const & rSeq ) : _seq( rSeq ) , _nPos( 0 ) {} @@ -63,12 +63,13 @@ sal_Int32 BSeqInputStream::readBytes( Sequence< sal_Int8 > & rData, sal_Int32 nBytesToRead ) throw (io::NotConnectedException, io::BufferSizeExceededException, io::IOException, RuntimeException, std::exception) { - nBytesToRead = ((nBytesToRead > _seq.getLength() - _nPos) - ? _seq.getLength() - _nPos + nBytesToRead = ((nBytesToRead > (sal_Int32)_seq.size() - _nPos) + ? _seq.size() - _nPos : nBytesToRead); - ByteSequence aBytes( _seq.getConstArray() + _nPos, nBytesToRead ); - rData = toUnoSequence( aBytes ); + if (rData.getLength() != nBytesToRead) + rData.realloc( nBytesToRead ); + memcpy(rData.getArray(), &_seq.data()[_nPos], nBytesToRead); _nPos += nBytesToRead; return nBytesToRead; } @@ -89,7 +90,7 @@ void BSeqInputStream::skipBytes( sal_Int32 BSeqInputStream::available() throw (io::NotConnectedException, io::IOException, RuntimeException, std::exception) { - return (_seq.getLength() - _nPos); + return _seq.size() - _nPos; } void BSeqInputStream::closeInput() @@ -100,10 +101,10 @@ void BSeqInputStream::closeInput() class BSeqOutputStream : public ::cppu::WeakImplHelper< io::XOutputStream > { - ByteSequence * _seq; + std::vector * _seq; public: - explicit BSeqOutputStream( ByteSequence * seq ) + explicit BSeqOutputStream( std::vector * seq ) : _seq( seq ) {} @@ -120,9 +121,9 @@ public: void BSeqOutputStream::writeBytes( Sequence< sal_Int8 > const & rData ) throw (io::NotConnectedException, io::BufferSizeExceededException, RuntimeException, std::exception) { - sal_Int32 nPos = _seq->getLength(); - _seq->realloc( nPos + rData.getLength() ); - memcpy( _seq->getArray() + nPos, + sal_Int32 nPos = _seq->size(); + _seq->resize( nPos + rData.getLength() ); + memcpy( _seq->data() + nPos, rData.getConstArray(), rData.getLength() ); } @@ -136,12 +137,19 @@ void BSeqOutputStream::closeOutput() { } -Reference< io::XInputStream > SAL_CALL createInputStream( ByteSequence const & rInData ) +Reference< io::XInputStream > SAL_CALL createInputStream( std::vector const & rInData ) { return new BSeqInputStream( rInData ); } -Reference< io::XOutputStream > SAL_CALL createOutputStream( ByteSequence * pOutData ) +Reference< io::XInputStream > SAL_CALL createInputStream( const sal_Int8* pData, int len ) +{ + std::vector rInData(len); + memcpy( rInData.data(), pData, len); + return new BSeqInputStream( rInData ); +} + +Reference< io::XOutputStream > SAL_CALL createOutputStream( std::vector * pOutData ) { return new BSeqOutputStream( pOutData ); } diff --git a/xmlscript/source/xmldlg_imexp/xmldlg_addfunc.cxx b/xmlscript/source/xmldlg_imexp/xmldlg_addfunc.cxx index 101ce157d8db..beb697136e89 100644 --- a/xmlscript/source/xmldlg_imexp/xmldlg_addfunc.cxx +++ b/xmlscript/source/xmldlg_imexp/xmldlg_addfunc.cxx @@ -38,10 +38,10 @@ namespace xmlscript class InputStreamProvider : public ::cppu::WeakImplHelper< io::XInputStreamProvider > { - ByteSequence _bytes; + std::vector _bytes; public: - explicit InputStreamProvider( ByteSequence const & rBytes ) + explicit InputStreamProvider( std::vector const & rBytes ) : _bytes( rBytes ) { } @@ -63,7 +63,7 @@ Reference< io::XInputStreamProvider > SAL_CALL exportDialogModel( { Reference< xml::sax::XWriter > xWriter = xml::sax::Writer::create(xContext); - ByteSequence aBytes; + std::vector aBytes; xWriter->setOutputStream( createOutputStream( &aBytes ) ); Reference< xml::sax::XExtendedDocumentHandler > xHandler(xWriter, UNO_QUERY_THROW);