18 #ifndef NURIA_REFERENCEDEVICE_HPP
19 #define NURIA_REFERENCEDEVICE_HPP
22 #include "essentials.hpp"
26 class ReferenceDevicePrivate;
57 explicit ReferenceDevice (QIODevice *referencedDevice, QObject *parent = 0);
63 QIODevice *referencedDevice ()
const;
66 qint64 rangeBegin ()
const;
69 qint64 rangeEnd ()
const;
86 void setRange (qint64 begin, qint64 end = -1);
93 void extendRange (qint64 bytes);
96 bool isSequential ()
const override;
97 bool open (OpenMode mode)
override;
98 void close ()
override;
99 qint64 pos ()
const override;
100 qint64 size ()
const override;
101 bool seek (qint64 pos)
override;
102 bool atEnd ()
const override;
103 bool reset ()
override;
104 qint64 bytesAvailable ()
const override;
107 qint64 readData(
char *data, qint64 maxlen);
108 qint64 writeData(
const char *data, qint64 len);
111 void referencedDeviceDestroyed ();
112 void autoExtendRange ();
114 ReferenceDevicePrivate *d_ptr;
120 #endif // NURIA_REFERENCEDEVICE_HPP
Operates on a part of another QIODevice.
Definition: referencedevice.hpp:49