summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Meeks <michael.meeks@collabora.com>2023-04-01 15:06:30 +0100
committerMichael Meeks <michael.meeks@collabora.com>2023-04-01 21:10:04 +0100
commit16fb9c6d7241e09a269923a1e06e03bb86e3a6b3 (patch)
treedcb9a6291422e0618b5a80662023d3665e207000
parent82d950239b7e0d346e6c40c27bb35825c362eca6 (diff)
BinaryDataContainer: pure re-factor - encapsulate cbegin/cend
Change-Id: Ic8dbf0afdb96a0f1be210eedfbd12ef6467dd29f
-rw-r--r--include/vcl/BinaryDataContainer.hxx5
-rw-r--r--vcl/source/gdi/vectorgraphicdata.cxx7
-rw-r--r--vcl/source/graphic/BinaryDataContainer.cxx12
-rw-r--r--vcl/source/graphic/UnoBinaryDataContainer.cxx11
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: */