diff options
author | Michael Meeks <michael.meeks@collabora.com> | 2023-04-01 15:06:30 +0100 |
---|---|---|
committer | Michael Meeks <michael.meeks@collabora.com> | 2023-04-01 21:10:04 +0100 |
commit | 16fb9c6d7241e09a269923a1e06e03bb86e3a6b3 (patch) | |
tree | dcb9a6291422e0618b5a80662023d3665e207000 | |
parent | 82d950239b7e0d346e6c40c27bb35825c362eca6 (diff) |
BinaryDataContainer: pure re-factor - encapsulate cbegin/cend
Change-Id: Ic8dbf0afdb96a0f1be210eedfbd12ef6467dd29f
-rw-r--r-- | include/vcl/BinaryDataContainer.hxx | 5 | ||||
-rw-r--r-- | vcl/source/gdi/vectorgraphicdata.cxx | 7 | ||||
-rw-r--r-- | vcl/source/graphic/BinaryDataContainer.cxx | 12 | ||||
-rw-r--r-- | vcl/source/graphic/UnoBinaryDataContainer.cxx | 11 |
4 files changed, 17 insertions, 18 deletions
diff --git a/include/vcl/BinaryDataContainer.hxx b/include/vcl/BinaryDataContainer.hxx index fbde5fa846a9..e91ca82c7728 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> getAsSequence() 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..1abc1ce097d2 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.getAsSequence(); 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.getAsSequence(); 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 8381d02ff622..aa5a10b445a3 100644 --- a/vcl/source/graphic/BinaryDataContainer.cxx +++ b/vcl/source/graphic/BinaryDataContainer.cxx @@ -27,6 +27,18 @@ size_t BinaryDataContainer::calculateHash() const return nSeed; } +css::uno::Sequence<sal_Int8> BinaryDataContainer::getAsSequence() 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 8ee3660be416..fd35ab222172 100644 --- a/vcl/source/graphic/UnoBinaryDataContainer.cxx +++ b/vcl/source/graphic/UnoBinaryDataContainer.cxx @@ -19,16 +19,7 @@ UNO3_GETIMPLEMENTATION_IMPL(UnoBinaryDataContainer); 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.getAsSequence(); } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |