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

sequence->vector in xmlscript

Change-Id: I4f99cd9dc659f54bd4818559dd3e0dbce1e8f5d4
Reviewed-on: https://gerrit.libreoffice.org/23795Tested-by: 's avatarJenkins <ci@libreoffice.org>
Reviewed-by: 's avatarNoel Grandin <noelgrandin@gmail.com>
üst e72c80c0
...@@ -900,7 +900,8 @@ void DlgEditor::Paste() ...@@ -900,7 +900,8 @@ void DlgEditor::Paste()
if ( xClipDialogModel.is() ) 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 // get control models from clipboard dialog model
......
...@@ -21,6 +21,7 @@ ...@@ -21,6 +21,7 @@
#define INCLUDED_DESKTOP_SOURCE_DEPLOYMENT_INC_DP_UCB_H #define INCLUDED_DESKTOP_SOURCE_DEPLOYMENT_INC_DP_UCB_H
#include <list> #include <list>
#include <vector>
#include <rtl/byteseq.hxx> #include <rtl/byteseq.hxx>
#include <rtl/instance.hxx> #include <rtl/instance.hxx>
#include <com/sun/star/sdbc/XResultSet.hpp> #include <com/sun/star/sdbc/XResultSet.hpp>
...@@ -80,7 +81,7 @@ DESKTOP_DEPLOYMENTMISC_DLLPUBLIC bool erase_path( ...@@ -80,7 +81,7 @@ DESKTOP_DEPLOYMENTMISC_DLLPUBLIC bool erase_path(
DESKTOP_DEPLOYMENTMISC_DLLPUBLIC DESKTOP_DEPLOYMENTMISC_DLLPUBLIC
::rtl::ByteSequence readFile( ::ucbhelper::Content & ucb_content ); std::vector<sal_Int8> readFile( ::ucbhelper::Content & ucb_content );
DESKTOP_DEPLOYMENTMISC_DLLPUBLIC DESKTOP_DEPLOYMENTMISC_DLLPUBLIC
......
...@@ -109,9 +109,8 @@ void writeLastModified(OUString & url, Reference<ucb::XCommandEnvironment> const ...@@ -109,9 +109,8 @@ void writeLastModified(OUString & url, Reference<ucb::XCommandEnvironment> const
OString stamp("1" ); OString stamp("1" );
Reference<css::io::XInputStream> xData( Reference<css::io::XInputStream> xData(
::xmlscript::createInputStream( ::xmlscript::createInputStream(
::rtl::ByteSequence(
reinterpret_cast<sal_Int8 const *>(stamp.getStr()), reinterpret_cast<sal_Int8 const *>(stamp.getStr()),
stamp.getLength() ) ) ); stamp.getLength() ) );
ucbStamp.writeStream( xData, true /* replace existing */ ); ucbStamp.writeStream( xData, true /* replace existing */ );
} }
catch(...) catch(...)
......
...@@ -245,9 +245,9 @@ void PackageManagerImpl::initActivationLayer( ...@@ -245,9 +245,9 @@ void PackageManagerImpl::initActivationLayer(
aSecurity.getUserName( aUserName ); aSecurity.getUserName( aUserName );
ucbhelper::Content remFileContent( ucbhelper::Content remFileContent(
url + "removed", Reference<XCommandEnvironment>(), m_xComponentContext); url + "removed", Reference<XCommandEnvironment>(), m_xComponentContext);
::rtl::ByteSequence data = dp_misc::readFile(remFileContent); std::vector<sal_Int8> data = dp_misc::readFile(remFileContent);
OString osData(reinterpret_cast<const sal_Char*>(data.getConstArray()), OString osData(reinterpret_cast<const sal_Char*>(data.data()),
data.getLength()); data.size());
OUString sData = OStringToOUString( OUString sData = OStringToOUString(
osData, RTL_TEXTENCODING_UTF8); osData, RTL_TEXTENCODING_UTF8);
if (!sData.equals(aUserName)) if (!sData.equals(aUserName))
...@@ -890,9 +890,8 @@ void PackageManagerImpl::removePackage( ...@@ -890,9 +890,8 @@ void PackageManagerImpl::removePackage(
OString stamp = OUStringToOString(aUserName, RTL_TEXTENCODING_UTF8); OString stamp = OUStringToOString(aUserName, RTL_TEXTENCODING_UTF8);
Reference<css::io::XInputStream> xData( Reference<css::io::XInputStream> xData(
::xmlscript::createInputStream( ::xmlscript::createInputStream(
::rtl::ByteSequence(
reinterpret_cast<sal_Int8 const *>(stamp.getStr()), reinterpret_cast<sal_Int8 const *>(stamp.getStr()),
stamp.getLength() ) ) ); stamp.getLength() ) );
contentRemoved.writeStream( xData, true /* replace existing */ ); contentRemoved.writeStream( xData, true /* replace existing */ );
} }
m_activePackagesDB->erase( id, fileName ); // to be removed upon next start m_activePackagesDB->erase( id, fileName ); // to be removed upon next start
......
...@@ -119,9 +119,8 @@ void ExtensionProperties::write() ...@@ -119,9 +119,8 @@ void ExtensionProperties::write()
buf.makeStringAndClear(), RTL_TEXTENCODING_UTF8); buf.makeStringAndClear(), RTL_TEXTENCODING_UTF8);
Reference<css::io::XInputStream> xData( Reference<css::io::XInputStream> xData(
::xmlscript::createInputStream( ::xmlscript::createInputStream(
::rtl::ByteSequence(
reinterpret_cast<sal_Int8 const *>(stamp.getStr()), reinterpret_cast<sal_Int8 const *>(stamp.getStr()),
stamp.getLength() ) ) ); stamp.getLength() ) );
contentProps.writeStream( xData, true /* replace existing */ ); contentProps.writeStream( xData, true /* replace existing */ );
} }
......
...@@ -184,9 +184,9 @@ bool erase_path( OUString const & url, ...@@ -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( Reference<io::XOutputStream> xStream(
::xmlscript::createOutputStream( &bytes ) ); ::xmlscript::createOutputStream( &bytes ) );
if (! ucb_content.openStream( xStream )) if (! ucb_content.openStream( xStream ))
...@@ -201,9 +201,9 @@ bool readLine( OUString * res, OUString const & startingWith, ...@@ -201,9 +201,9 @@ bool readLine( OUString * res, OUString const & startingWith,
::ucbhelper::Content & ucb_content, rtl_TextEncoding textenc ) ::ucbhelper::Content & ucb_content, rtl_TextEncoding textenc )
{ {
// read whole file: // read whole file:
::rtl::ByteSequence bytes( readFile( ucb_content ) ); std::vector<sal_Int8> bytes( readFile( ucb_content ) );
OUString file( reinterpret_cast<sal_Char const *>(bytes.getConstArray()), OUString file( reinterpret_cast<sal_Char const *>(bytes.data()),
bytes.getLength(), textenc ); bytes.size(), textenc );
sal_Int32 pos = 0; sal_Int32 pos = 0;
for (;;) for (;;)
{ {
...@@ -257,9 +257,9 @@ bool readProperties( ::std::list< ::std::pair< OUString, OUString> > & out_resul ...@@ -257,9 +257,9 @@ bool readProperties( ::std::list< ::std::pair< OUString, OUString> > & out_resul
::ucbhelper::Content & ucb_content ) ::ucbhelper::Content & ucb_content )
{ {
// read whole file: // read whole file:
::rtl::ByteSequence bytes( readFile( ucb_content ) ); std::vector<sal_Int8> bytes( readFile( ucb_content ) );
OUString file( reinterpret_cast<sal_Char const *>(bytes.getConstArray()), OUString file( reinterpret_cast<sal_Char const *>(bytes.data()),
bytes.getLength(), RTL_TEXTENCODING_UTF8); bytes.size(), RTL_TEXTENCODING_UTF8);
sal_Int32 pos = 0; sal_Int32 pos = 0;
for (;;) for (;;)
......
...@@ -953,9 +953,8 @@ void BackendImpl::unorc_flush( Reference<XCommandEnvironment> const & xCmdEnv ) ...@@ -953,9 +953,8 @@ void BackendImpl::unorc_flush( Reference<XCommandEnvironment> const & xCmdEnv )
const Reference<io::XInputStream> xData( const Reference<io::XInputStream> xData(
::xmlscript::createInputStream( ::xmlscript::createInputStream(
::rtl::ByteSequence(
reinterpret_cast<sal_Int8 const *>(buf2.getStr()), reinterpret_cast<sal_Int8 const *>(buf2.getStr()),
buf2.getLength() ) ) ); buf2.getLength() ) );
::ucbhelper::Content ucb_content( ::ucbhelper::Content ucb_content(
makeURL( getCachePath(), getPlatformString() + "rc" ), makeURL( getCachePath(), getPlatformString() + "rc" ),
xCmdEnv, m_xComponentContext ); xCmdEnv, m_xComponentContext );
...@@ -978,9 +977,8 @@ void BackendImpl::unorc_flush( Reference<XCommandEnvironment> const & xCmdEnv ) ...@@ -978,9 +977,8 @@ void BackendImpl::unorc_flush( Reference<XCommandEnvironment> const & xCmdEnv )
// write unorc: // write unorc:
const Reference<io::XInputStream> xData( const Reference<io::XInputStream> xData(
::xmlscript::createInputStream( ::xmlscript::createInputStream(
::rtl::ByteSequence(
reinterpret_cast<sal_Int8 const *>(buf.getStr()), reinterpret_cast<sal_Int8 const *>(buf.getStr()),
buf.getLength() ) ) ); buf.getLength() ) );
::ucbhelper::Content ucb_content( ::ucbhelper::Content ucb_content(
makeURL( getCachePath(), "unorc" ), xCmdEnv, m_xComponentContext ); makeURL( getCachePath(), "unorc" ), xCmdEnv, m_xComponentContext );
ucb_content.writeStream( xData, true /* replace existing */ ); ucb_content.writeStream( xData, true /* replace existing */ );
......
...@@ -458,9 +458,8 @@ void BackendImpl::configmgrini_flush( ...@@ -458,9 +458,8 @@ void BackendImpl::configmgrini_flush(
// write configmgr.ini: // write configmgr.ini:
const Reference<io::XInputStream> xData( const Reference<io::XInputStream> xData(
::xmlscript::createInputStream( ::xmlscript::createInputStream(
::rtl::ByteSequence(
reinterpret_cast<sal_Int8 const *>(buf.getStr()), reinterpret_cast<sal_Int8 const *>(buf.getStr()),
buf.getLength() ) ) ); buf.getLength() ) );
::ucbhelper::Content ucb_content( ::ucbhelper::Content ucb_content(
makeURL( getCachePath(), "configmgr.ini" ), xCmdEnv, m_xComponentContext ); makeURL( getCachePath(), "configmgr.ini" ), xCmdEnv, m_xComponentContext );
ucb_content.writeStream( xData, true /* replace existing */ ); ucb_content.writeStream( xData, true /* replace existing */ );
...@@ -597,15 +596,14 @@ OUString replaceOrigin( ...@@ -597,15 +596,14 @@ OUString replaceOrigin(
{ {
// looking for %origin%: // looking for %origin%:
::ucbhelper::Content ucb_content( url, xCmdEnv, xContext ); ::ucbhelper::Content ucb_content( url, xCmdEnv, xContext );
::rtl::ByteSequence bytes( readFile( ucb_content ) ); std::vector<sal_Int8> bytes( readFile( ucb_content ) );
::rtl::ByteSequence filtered( bytes.getLength() * 2, std::vector<sal_Int8> filtered( bytes.size() * 2 );
::rtl::BYTESEQ_NODEFAULT );
bool use_filtered = false; bool use_filtered = false;
OString origin; OString origin;
sal_Char const * pBytes = reinterpret_cast<sal_Char const *>( sal_Char const * pBytes = reinterpret_cast<sal_Char const *>(
bytes.getConstArray()); bytes.data());
sal_Size nBytes = bytes.getLength(); sal_Size nBytes = bytes.size();
sal_Int32 write_pos = 0; size_t write_pos = 0;
while (nBytes > 0) while (nBytes > 0)
{ {
sal_Int32 index = rtl_str_indexOfChar_WithLength( pBytes, nBytes, '%' ); sal_Int32 index = rtl_str_indexOfChar_WithLength( pBytes, nBytes, '%' );
...@@ -615,9 +613,9 @@ OUString replaceOrigin( ...@@ -615,9 +613,9 @@ OUString replaceOrigin(
index = nBytes; index = nBytes;
} }
if ((write_pos + index) > filtered.getLength()) if ((write_pos + index) > filtered.size())
filtered.realloc( (filtered.getLength() + index) * 2 ); filtered.resize( (filtered.size() + index) * 2 );
memcpy( filtered.getArray() + write_pos, pBytes, index ); memcpy( filtered.data() + write_pos, pBytes, index );
write_pos += index; write_pos += index;
pBytes += index; pBytes += index;
nBytes -= index; nBytes -= index;
...@@ -655,15 +653,15 @@ OUString replaceOrigin( ...@@ -655,15 +653,15 @@ OUString replaceOrigin(
nBytes -= RTL_CONSTASCII_LENGTH("origin%"); nBytes -= RTL_CONSTASCII_LENGTH("origin%");
use_filtered = true; use_filtered = true;
} }
if ((write_pos + nAdd) > filtered.getLength()) if ((write_pos + nAdd) > filtered.size())
filtered.realloc( (filtered.getLength() + nAdd) * 2 ); filtered.resize( (filtered.size() + nAdd) * 2 );
memcpy( filtered.getArray() + write_pos, pAdd, nAdd ); memcpy( filtered.data() + write_pos, pAdd, nAdd );
write_pos += nAdd; write_pos += nAdd;
} }
if (!use_filtered) if (!use_filtered)
return url; return url;
if (write_pos < filtered.getLength()) if (write_pos < filtered.size())
filtered.realloc( write_pos ); filtered.resize( write_pos );
OUString newUrl(url); OUString newUrl(url);
if (!destFolder.isEmpty()) if (!destFolder.isEmpty())
{ {
......
...@@ -52,7 +52,7 @@ BackendDb::BackendDb( ...@@ -52,7 +52,7 @@ BackendDb::BackendDb(
void BackendDb::save() void BackendDb::save()
{ {
const Reference<css::io::XActiveDataSource> xDataSource(m_doc,css::uno::UNO_QUERY_THROW); 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)); xDataSource->setOutputStream(::xmlscript::createOutputStream(&bytes));
const Reference<css::io::XActiveDataControl> xDataControl(m_doc,css::uno::UNO_QUERY_THROW); const Reference<css::io::XActiveDataControl> xDataControl(m_doc,css::uno::UNO_QUERY_THROW);
xDataControl->start(); xDataControl->start();
......
...@@ -578,9 +578,9 @@ OUString BackendImpl::PackageImpl::getTextFromURL( ...@@ -578,9 +578,9 @@ OUString BackendImpl::PackageImpl::getTextFromURL(
{ {
::ucbhelper::Content descContent( ::ucbhelper::Content descContent(
licenseUrl, xCmdEnv, getMyBackend()->getComponentContext()); 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 *>( 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&) catch (const css::uno::Exception&)
{ {
...@@ -1544,13 +1544,13 @@ void BackendImpl::PackageImpl::scanBundle( ...@@ -1544,13 +1544,13 @@ void BackendImpl::PackageImpl::scanBundle(
xCmdEnv, false /* no throw */ )) xCmdEnv, false /* no throw */ ))
{ {
// patch description: // patch description:
::rtl::ByteSequence bytes( readFile( descrFileContent ) ); std::vector<sal_Int8> bytes( readFile( descrFileContent ) );
OUStringBuffer buf; OUStringBuffer buf;
if ( bytes.getLength() ) if ( bytes.size() )
{ {
buf.append( OUString( reinterpret_cast<sal_Char const *>( buf.append( OUString( reinterpret_cast<sal_Char const *>(
bytes.getConstArray() ), bytes.data() ),
bytes.getLength(), RTL_TEXTENCODING_UTF8 ) ); bytes.size(), RTL_TEXTENCODING_UTF8 ) );
} }
else else
{ {
......
...@@ -112,11 +112,15 @@ protected: ...@@ -112,11 +112,15 @@ protected:
XMLSCRIPT_DLLPUBLIC css::uno::Reference< css::io::XInputStream > XMLSCRIPT_DLLPUBLIC css::uno::Reference< css::io::XInputStream >
SAL_CALL createInputStream( 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 > XMLSCRIPT_DLLPUBLIC css::uno::Reference< css::io::XOutputStream >
SAL_CALL createOutputStream( SAL_CALL createOutputStream(
::rtl::ByteSequence * pOutData ); std::vector<sal_Int8> * pOutData );
} }
......
...@@ -34,11 +34,11 @@ namespace xmlscript ...@@ -34,11 +34,11 @@ namespace xmlscript
class BSeqInputStream class BSeqInputStream
: public ::cppu::WeakImplHelper< io::XInputStream > : public ::cppu::WeakImplHelper< io::XInputStream >
{ {
ByteSequence _seq; std::vector<sal_Int8> _seq;
sal_Int32 _nPos; sal_Int32 _nPos;
public: public:
explicit BSeqInputStream( ByteSequence const & rSeq ) explicit BSeqInputStream( std::vector<sal_Int8> const & rSeq )
: _seq( rSeq ) : _seq( rSeq )
, _nPos( 0 ) , _nPos( 0 )
{} {}
...@@ -63,12 +63,13 @@ sal_Int32 BSeqInputStream::readBytes( ...@@ -63,12 +63,13 @@ sal_Int32 BSeqInputStream::readBytes(
Sequence< sal_Int8 > & rData, sal_Int32 nBytesToRead ) Sequence< sal_Int8 > & rData, sal_Int32 nBytesToRead )
throw (io::NotConnectedException, io::BufferSizeExceededException, io::IOException, RuntimeException, std::exception) throw (io::NotConnectedException, io::BufferSizeExceededException, io::IOException, RuntimeException, std::exception)
{ {
nBytesToRead = ((nBytesToRead > _seq.getLength() - _nPos) nBytesToRead = ((nBytesToRead > (sal_Int32)_seq.size() - _nPos)
? _seq.getLength() - _nPos ? _seq.size() - _nPos
: nBytesToRead); : nBytesToRead);
ByteSequence aBytes( _seq.getConstArray() + _nPos, nBytesToRead ); if (rData.getLength() != nBytesToRead)
rData = toUnoSequence( aBytes ); rData.realloc( nBytesToRead );
memcpy(rData.getArray(), &_seq.data()[_nPos], nBytesToRead);
_nPos += nBytesToRead; _nPos += nBytesToRead;
return nBytesToRead; return nBytesToRead;
} }
...@@ -89,7 +90,7 @@ void BSeqInputStream::skipBytes( ...@@ -89,7 +90,7 @@ void BSeqInputStream::skipBytes(
sal_Int32 BSeqInputStream::available() sal_Int32 BSeqInputStream::available()
throw (io::NotConnectedException, io::IOException, RuntimeException, std::exception) throw (io::NotConnectedException, io::IOException, RuntimeException, std::exception)
{ {
return (_seq.getLength() - _nPos); return _seq.size() - _nPos;
} }
void BSeqInputStream::closeInput() void BSeqInputStream::closeInput()
...@@ -100,10 +101,10 @@ void BSeqInputStream::closeInput() ...@@ -100,10 +101,10 @@ void BSeqInputStream::closeInput()
class BSeqOutputStream class BSeqOutputStream
: public ::cppu::WeakImplHelper< io::XOutputStream > : public ::cppu::WeakImplHelper< io::XOutputStream >
{ {
ByteSequence * _seq; std::vector<sal_Int8> * _seq;
public: public:
explicit BSeqOutputStream( ByteSequence * seq ) explicit BSeqOutputStream( std::vector<sal_Int8> * seq )
: _seq( seq ) : _seq( seq )
{} {}
...@@ -120,9 +121,9 @@ public: ...@@ -120,9 +121,9 @@ public:
void BSeqOutputStream::writeBytes( Sequence< sal_Int8 > const & rData ) void BSeqOutputStream::writeBytes( Sequence< sal_Int8 > const & rData )
throw (io::NotConnectedException, io::BufferSizeExceededException, RuntimeException, std::exception) throw (io::NotConnectedException, io::BufferSizeExceededException, RuntimeException, std::exception)
{ {
sal_Int32 nPos = _seq->getLength(); sal_Int32 nPos = _seq->size();
_seq->realloc( nPos + rData.getLength() ); _seq->resize( nPos + rData.getLength() );
memcpy( _seq->getArray() + nPos, memcpy( _seq->data() + nPos,
rData.getConstArray(), rData.getConstArray(),
rData.getLength() ); rData.getLength() );
} }
...@@ -136,12 +137,19 @@ void BSeqOutputStream::closeOutput() ...@@ -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 ); 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 ); return new BSeqOutputStream( pOutData );
} }
......
...@@ -38,10 +38,10 @@ namespace xmlscript ...@@ -38,10 +38,10 @@ namespace xmlscript
class InputStreamProvider class InputStreamProvider
: public ::cppu::WeakImplHelper< io::XInputStreamProvider > : public ::cppu::WeakImplHelper< io::XInputStreamProvider >
{ {
ByteSequence _bytes; std::vector<sal_Int8> _bytes;
public: public:
explicit InputStreamProvider( ByteSequence const & rBytes ) explicit InputStreamProvider( std::vector<sal_Int8> const & rBytes )
: _bytes( rBytes ) : _bytes( rBytes )
{ {
} }
...@@ -63,7 +63,7 @@ Reference< io::XInputStreamProvider > SAL_CALL exportDialogModel( ...@@ -63,7 +63,7 @@ Reference< io::XInputStreamProvider > SAL_CALL exportDialogModel(
{ {
Reference< xml::sax::XWriter > xWriter = xml::sax::Writer::create(xContext); Reference< xml::sax::XWriter > xWriter = xml::sax::Writer::create(xContext);
ByteSequence aBytes; std::vector<sal_Int8> aBytes;
xWriter->setOutputStream( createOutputStream( &aBytes ) ); xWriter->setOutputStream( createOutputStream( &aBytes ) );
Reference< xml::sax::XExtendedDocumentHandler > xHandler(xWriter, UNO_QUERY_THROW); Reference< xml::sax::XExtendedDocumentHandler > xHandler(xWriter, UNO_QUERY_THROW);
......
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