sequence->vector in xmlscript
Change-Id: I4f99cd9dc659f54bd4818559dd3e0dbce1e8f5d4 Reviewed-on: https://gerrit.libreoffice.org/23795 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
This commit is contained in:
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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(...)
|
||||
|
@@ -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
|
||||
|
@@ -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 */ );
|
||||
}
|
||||
|
||||
|
@@ -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 (;;)
|
||||
|
@@ -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 */ );
|
||||
|
@@ -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())
|
||||
{
|
||||
|
@@ -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();
|
||||
|
@@ -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
|
||||
{
|
||||
|
@@ -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 );
|
||||
|
||||
}
|
||||
|
||||
|
@@ -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 );
|
||||
}
|
||||
|
@@ -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);
|
||||
|
Reference in New Issue
Block a user