include/vcl/BinaryDataContainer.hxx | 5 ++--- vcl/source/gdi/vectorgraphicdata.cxx | 7 ++----- vcl/source/graphic/BinaryDataContainer.cxx | 12 ++++++++++++ vcl/source/graphic/UnoBinaryDataContainer.cxx | 11 +---------- 4 files changed, 17 insertions(+), 18 deletions(-)
New commits: commit 689f0da67b063284991d758a4f0c66a305dcad37 Author: Michael Meeks <michael.me...@collabora.com> AuthorDate: Sat Apr 1 15:06:30 2023 +0100 Commit: Michael Meeks <michael.me...@collabora.com> CommitDate: Thu Apr 13 22:22:47 2023 +0200 BinaryDataContainer: pure re-factor - encapsulate cbegin/cend Change-Id: Ic8dbf0afdb96a0f1be210eedfbd12ef6467dd29f Signed-off-by: Michael Meeks <michael.me...@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149916 Tested-by: Jenkins diff --git a/include/vcl/BinaryDataContainer.hxx b/include/vcl/BinaryDataContainer.hxx index 0d5be69f512c..2e2e5d4b6264 100644 --- a/include/vcl/BinaryDataContainer.hxx +++ b/include/vcl/BinaryDataContainer.hxx @@ -12,6 +12,7 @@ #include <sal/config.h> +#include <com/sun/star/uno/Sequence.hxx> #include <tools/stream.hxx> #include <vcl/dllapi.h> @@ -44,15 +45,13 @@ public: size_t getSize() const; bool isEmpty() const; const sal_uInt8* getData() const; + css::uno::Sequence<sal_Int8> getCopyAsByteSequence() const; // Returns the data as a stream open for reading SvMemoryStream getMemoryStream(); std::size_t writeToStream(SvStream& rStream) const; size_t calculateHash() const; - - auto cbegin() const { return mpData->cbegin(); } - auto cend() const { return mpData->cend(); } }; /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/vcl/source/gdi/vectorgraphicdata.cxx b/vcl/source/gdi/vectorgraphicdata.cxx index d2a0aa06a682..979fd4f18ad0 100644 --- a/vcl/source/gdi/vectorgraphicdata.cxx +++ b/vcl/source/gdi/vectorgraphicdata.cxx @@ -196,11 +196,9 @@ void VectorGraphicData::ensureSequenceAndRange() { case VectorGraphicDataType::Svg: { - css::uno::Sequence<sal_Int8> aDataSequence(maDataContainer.getSize()); - std::copy(maDataContainer.cbegin(), maDataContainer.cend(), aDataSequence.getArray()); + css::uno::Sequence<sal_Int8> aDataSequence = maDataContainer.getCopyAsByteSequence(); const uno::Reference<io::XInputStream> xInputStream(new comphelper::SequenceInputStream(aDataSequence)); - const uno::Reference< graphic::XSvgParser > xSvgParser = graphic::SvgTools::create(xContext); if (xInputStream.is()) @@ -213,8 +211,7 @@ void VectorGraphicData::ensureSequenceAndRange() { const uno::Reference< graphic::XEmfParser > xEmfParser = graphic::EmfTools::create(xContext); - css::uno::Sequence<sal_Int8> aDataSequence(maDataContainer.getSize()); - std::copy(maDataContainer.cbegin(), maDataContainer.cend(), aDataSequence.getArray()); + css::uno::Sequence<sal_Int8> aDataSequence = maDataContainer.getCopyAsByteSequence(); const uno::Reference<io::XInputStream> xInputStream(new comphelper::SequenceInputStream(aDataSequence)); if (xInputStream.is()) diff --git a/vcl/source/graphic/BinaryDataContainer.cxx b/vcl/source/graphic/BinaryDataContainer.cxx index 0264fec09983..deb676a553f9 100644 --- a/vcl/source/graphic/BinaryDataContainer.cxx +++ b/vcl/source/graphic/BinaryDataContainer.cxx @@ -30,6 +30,18 @@ size_t BinaryDataContainer::calculateHash() const return nSeed; } +css::uno::Sequence<sal_Int8> BinaryDataContainer::getCopyAsByteSequence() const +{ + if (isEmpty()) + return css::uno::Sequence<sal_Int8>(); + + css::uno::Sequence<sal_Int8> aData(getSize()); + + std::copy(mpData->cbegin(), mpData->cend(), aData.getArray()); + + return aData; +} + SvMemoryStream BinaryDataContainer::getMemoryStream() { return SvMemoryStream(mpData ? mpData->data() : nullptr, getSize(), StreamMode::READ); diff --git a/vcl/source/graphic/UnoBinaryDataContainer.cxx b/vcl/source/graphic/UnoBinaryDataContainer.cxx index 4d6a0de9f796..3fe277024a6e 100644 --- a/vcl/source/graphic/UnoBinaryDataContainer.cxx +++ b/vcl/source/graphic/UnoBinaryDataContainer.cxx @@ -16,16 +16,7 @@ using namespace css; css::uno::Sequence<sal_Int8> SAL_CALL UnoBinaryDataContainer::getCopyAsByteSequence() { - if (maBinaryDataContainer.isEmpty()) - return css::uno::Sequence<sal_Int8>(); - - size_t nSize = maBinaryDataContainer.getSize(); - - css::uno::Sequence<sal_Int8> aData(nSize); - - std::copy(maBinaryDataContainer.cbegin(), maBinaryDataContainer.cend(), aData.getArray()); - - return aData; + return maBinaryDataContainer.getCopyAsByteSequence(); } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */