[Libreoffice-commits] core.git: basctl/source desktop/source include/xmlscript xmlscript/source

Noel Grandin noelgrandin at gmail.com
Tue Apr 5 06:26:03 UTC 2016


 basctl/source/dlged/dlged.cxx                                         |    3 
 desktop/source/deployment/inc/dp_ucb.h                                |    3 
 desktop/source/deployment/manager/dp_extensionmanager.cxx             |    3 
 desktop/source/deployment/manager/dp_manager.cxx                      |    9 +-
 desktop/source/deployment/manager/dp_properties.cxx                   |    3 
 desktop/source/deployment/misc/dp_ucb.cxx                             |   16 ++--
 desktop/source/deployment/registry/component/dp_component.cxx         |    6 -
 desktop/source/deployment/registry/configuration/dp_configuration.cxx |   30 +++-----
 desktop/source/deployment/registry/dp_backenddb.cxx                   |    2 
 desktop/source/deployment/registry/package/dp_package.cxx             |   12 +--
 include/xmlscript/xml_helper.hxx                                      |    8 +-
 xmlscript/source/xml_helper/xml_byteseq.cxx                           |   36 ++++++----
 xmlscript/source/xmldlg_imexp/xmldlg_addfunc.cxx                      |    6 -
 13 files changed, 72 insertions(+), 65 deletions(-)

New commits:
commit db43ef00c12bc0f7fefd6d028c9a2ed8f771cd47
Author: Noel Grandin <noelgrandin at gmail.com>
Date:   Sun Apr 3 22:25:19 2016 +0200

    sequence->vector in xmlscript
    
    Change-Id: I4f99cd9dc659f54bd4818559dd3e0dbce1e8f5d4
    Reviewed-on: https://gerrit.libreoffice.org/23795
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Noel Grandin <noelgrandin at gmail.com>

diff --git a/basctl/source/dlged/dlged.cxx b/basctl/source/dlged/dlged.cxx
index 24ab996..5ecdd24 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<XInputStream> 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 324e398..174af57 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 <list>
+#include <vector>
 #include <rtl/byteseq.hxx>
 #include <rtl/instance.hxx>
 #include <com/sun/star/sdbc/XResultSet.hpp>
@@ -80,7 +81,7 @@ DESKTOP_DEPLOYMENTMISC_DLLPUBLIC bool erase_path(
 
 
 DESKTOP_DEPLOYMENTMISC_DLLPUBLIC
-::rtl::ByteSequence readFile( ::ucbhelper::Content & ucb_content );
+std::vector<sal_Int8> 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 9e9d95e..ddcb155 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<ucb::XCommandEnvironment> const
         OString stamp("1" );
         Reference<css::io::XInputStream> xData(
             ::xmlscript::createInputStream(
-                ::rtl::ByteSequence(
                     reinterpret_cast<sal_Int8 const *>(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 1cd7349..864d852 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<XCommandEnvironment>(), m_xComponentContext);
-                            ::rtl::ByteSequence data = dp_misc::readFile(remFileContent);
-                            OString osData(reinterpret_cast<const sal_Char*>(data.getConstArray()),
-                                                  data.getLength());
+                            std::vector<sal_Int8> data = dp_misc::readFile(remFileContent);
+                            OString osData(reinterpret_cast<const sal_Char*>(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<css::io::XInputStream> xData(
                     ::xmlscript::createInputStream(
-                        ::rtl::ByteSequence(
                             reinterpret_cast<sal_Int8 const *>(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 38f2918..a3f5ac5 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<css::io::XInputStream> xData(
         ::xmlscript::createInputStream(
-            ::rtl::ByteSequence(
                 reinterpret_cast<sal_Int8 const *>(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 ba0a9c0..eda1d50 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<sal_Int8> readFile( ::ucbhelper::Content & ucb_content )
 {
-    ::rtl::ByteSequence bytes;
+    std::vector<sal_Int8> bytes;
     Reference<io::XOutputStream> 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<sal_Char const *>(bytes.getConstArray()),
-                   bytes.getLength(), textenc );
+    std::vector<sal_Int8> bytes( readFile( ucb_content ) );
+    OUString file( reinterpret_cast<sal_Char const *>(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<sal_Char const *>(bytes.getConstArray()),
-                   bytes.getLength(), RTL_TEXTENCODING_UTF8);
+    std::vector<sal_Int8> bytes( readFile( ucb_content ) );
+    OUString file( reinterpret_cast<sal_Char const *>(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 61bba1d..51d0f07 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<XCommandEnvironment> const & xCmdEnv )
 
             const Reference<io::XInputStream> xData(
                 ::xmlscript::createInputStream(
-                    ::rtl::ByteSequence(
                         reinterpret_cast<sal_Int8 const *>(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<XCommandEnvironment> const & xCmdEnv )
     // write unorc:
     const Reference<io::XInputStream> xData(
         ::xmlscript::createInputStream(
-            ::rtl::ByteSequence(
                 reinterpret_cast<sal_Int8 const *>(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 b8e68bb..27e229a 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<io::XInputStream> xData(
         ::xmlscript::createInputStream(
-            ::rtl::ByteSequence(
                 reinterpret_cast<sal_Int8 const *>(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<sal_Int8> bytes( readFile( ucb_content ) );
+    std::vector<sal_Int8> filtered( bytes.size() * 2 );
     bool use_filtered = false;
     OString origin;
     sal_Char const * pBytes = reinterpret_cast<sal_Char const *>(
-        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 3cd4185..535d9a4 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<css::io::XActiveDataSource> xDataSource(m_doc,css::uno::UNO_QUERY_THROW);
-    ::rtl::ByteSequence bytes;
+    std::vector<sal_Int8> bytes;
     xDataSource->setOutputStream(::xmlscript::createOutputStream(&bytes));
     const Reference<css::io::XActiveDataControl> 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 58b302e..5ee41ed 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<sal_Int8> seq = dp_misc::readFile(descContent);
         return OUString( reinterpret_cast<sal_Char const *>(
-            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<sal_Int8> bytes( readFile( descrFileContent ) );
             OUStringBuffer buf;
-            if ( bytes.getLength() )
+            if ( bytes.size() )
             {
                 buf.append( OUString( reinterpret_cast<sal_Char const *>(
-                                          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 c66c592..22066af 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<sal_Int8> 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<sal_Int8> * pOutData );
 
 }
 
diff --git a/xmlscript/source/xml_helper/xml_byteseq.cxx b/xmlscript/source/xml_helper/xml_byteseq.cxx
index 82ef110..56cc5d2 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<sal_Int8> _seq;
     sal_Int32 _nPos;
 
 public:
-    explicit BSeqInputStream( ByteSequence const & rSeq )
+    explicit BSeqInputStream( std::vector<sal_Int8> 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<sal_Int8> * _seq;
 
 public:
-    explicit BSeqOutputStream( ByteSequence * seq )
+    explicit BSeqOutputStream( std::vector<sal_Int8> * 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<sal_Int8> 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<sal_Int8> rInData(len);
+    memcpy( rInData.data(), pData, len);
+    return new BSeqInputStream( rInData );
+}
+
+Reference< io::XOutputStream > SAL_CALL createOutputStream( std::vector<sal_Int8> * pOutData )
 {
     return new BSeqOutputStream( pOutData );
 }
diff --git a/xmlscript/source/xmldlg_imexp/xmldlg_addfunc.cxx b/xmlscript/source/xmldlg_imexp/xmldlg_addfunc.cxx
index 101ce15..beb6971 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<sal_Int8> _bytes;
 
 public:
-    explicit InputStreamProvider( ByteSequence const & rBytes )
+    explicit InputStreamProvider( std::vector<sal_Int8> 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<sal_Int8> aBytes;
     xWriter->setOutputStream( createOutputStream( &aBytes ) );
 
     Reference< xml::sax::XExtendedDocumentHandler > xHandler(xWriter, UNO_QUERY_THROW);


More information about the Libreoffice-commits mailing list