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: */

Reply via email to