7#ifndef AUX_STREAM_DEVICE_BASE_H
8#define AUX_STREAM_DEVICE_BASE_H
16enum class DeviceAccess : uint8_t
20 ReadWrite = Read | Write
23enum class SeekDirection : uint8_t
30class PODOFO_API StreamDeviceBase
39 void Seek(
size_t offset);
47 void Seek(ssize_t offset, SeekDirection direction);
52 DeviceAccess GetAccess()
const {
return m_Access; }
57 virtual bool Eof()
const = 0;
64 virtual size_t GetLength()
const = 0;
69 virtual size_t GetPosition()
const = 0;
71 virtual bool CanSeek()
const;
74 void EnsureAccess(DeviceAccess access)
const;
75 void SetAccess(DeviceAccess access) { m_Access = access; }
77 virtual void seek(ssize_t offset, SeekDirection direction);
81 DeviceAccess m_Access;
86ENABLE_BITMASK_OPERATORS(PoDoFo::DeviceAccess);
SPDX-FileCopyrightText: (C) 2022 Francesco Pretto ceztko@gmail.com SPDX-License-Identifier: LGPL-2....
Definition basetypes.h:16