summaryrefslogtreecommitdiff
path: root/include/unotools/streamhelper.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'include/unotools/streamhelper.hxx')
-rw-r--r--include/unotools/streamhelper.hxx70
1 files changed, 0 insertions, 70 deletions
diff --git a/include/unotools/streamhelper.hxx b/include/unotools/streamhelper.hxx
deleted file mode 100644
index a727869bfea6..000000000000
--- a/include/unotools/streamhelper.hxx
+++ /dev/null
@@ -1,70 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#ifndef INCLUDED_UNOTOOLS_STREAMHELPER_HXX
-#define INCLUDED_UNOTOOLS_STREAMHELPER_HXX
-
-#include <unotools/unotoolsdllapi.h>
-#include <com/sun/star/io/XInputStream.hpp>
-#include <com/sun/star/io/XSeekable.hpp>
-#include <cppuhelper/implbase.hxx>
-#include <tools/stream.hxx>
-#include <mutex>
-#include <utility>
-
-namespace utl
-{
-
-/**
- * The helper implementation for a using input streams based on SvLockBytes.
- */
-class UNOTOOLS_DLLPUBLIC OInputStreamHelper final : public cppu::WeakImplHelper<css::io::XInputStream, css::io::XSeekable>
-{
- std::mutex m_aMutex;
- SvLockBytesRef m_xLockBytes;
- sal_uInt64 m_nActPos;
- sal_Int32 m_nAvailable; // this is typically the chunk(buffer) size
-
-public:
- OInputStreamHelper(SvLockBytesRef _xLockBytes,
- sal_uInt32 _nAvailable)
- :m_xLockBytes(std::move(_xLockBytes))
- ,m_nActPos(0)
- ,m_nAvailable(_nAvailable){}
-
-// css::io::XInputStream
- virtual sal_Int32 SAL_CALL readBytes( css::uno::Sequence< sal_Int8 >& aData, sal_Int32 nBytesToRead ) override;
- virtual sal_Int32 SAL_CALL readSomeBytes( css::uno::Sequence< sal_Int8 >& aData, sal_Int32 nMaxBytesToRead ) override;
- virtual void SAL_CALL skipBytes( sal_Int32 nBytesToSkip ) override;
- virtual sal_Int32 SAL_CALL available( ) override;
- virtual void SAL_CALL closeInput( ) override;
-
- virtual void SAL_CALL seek( sal_Int64 location ) override;
- virtual sal_Int64 SAL_CALL getPosition( ) override;
- virtual sal_Int64 SAL_CALL getLength( ) override;
-
- // workaround for Ubuntu 18.04 / Fedora 31 (Coverity VM) build with std::mutex; must not be inline!
- virtual void SAL_CALL acquire() SAL_NOEXCEPT override;
-};
-
-} // namespace utl
-
-#endif // _UNOTOOLS_STREAM_WRAPPER_HXX_
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */