5#ifndef AUX_STREAM_DEVICE_BASE_H
6#define AUX_STREAM_DEVICE_BASE_H
14enum class DeviceAccess : uint8_t
18 ReadWrite = Read | Write
21enum class SeekDirection : uint8_t
28class PODOFO_API StreamDeviceBase
36 void Seek(
size_t offset);
43 void Seek(ssize_t offset, SeekDirection direction);
48 DeviceAccess GetAccess()
const {
return m_Access; }
51 virtual bool Eof()
const = 0;
57 virtual size_t GetLength()
const = 0;
61 virtual size_t GetPosition()
const = 0;
63 virtual bool CanSeek()
const;
66 void EnsureAccess(DeviceAccess access)
const;
67 void SetAccess(DeviceAccess access) { m_Access = access; }
69 virtual void seek(ssize_t offset, SeekDirection direction);
73 DeviceAccess m_Access;
78ENABLE_BITMASK_OPERATORS(PoDoFo::DeviceAccess);
All classes, functions, types and enums of PoDoFo are members of these namespace.
Definition basetypes.h:13