File indexing completed on 2026-01-02 10:03:14
0001
0002
0003
0004
0005 #ifndef QBUFFER_H
0006 #define QBUFFER_H
0007
0008 #include <QtCore/qiodevice.h>
0009 #include <QtCore/qbytearray.h>
0010
0011 QT_BEGIN_NAMESPACE
0012
0013 class QObject;
0014 class QBufferPrivate;
0015
0016 class Q_CORE_EXPORT QBuffer : public QIODevice
0017 {
0018 #ifndef QT_NO_QOBJECT
0019 Q_OBJECT
0020 #endif
0021
0022 public:
0023 #ifndef QT_NO_QOBJECT
0024 explicit QBuffer(QObject *parent = nullptr);
0025 QBuffer(QByteArray *buf, QObject *parent = nullptr);
0026 #else
0027 QBuffer();
0028 explicit QBuffer(QByteArray *buf);
0029 #endif
0030 ~QBuffer();
0031
0032 QByteArray &buffer();
0033 const QByteArray &buffer() const;
0034 void setBuffer(QByteArray *a);
0035
0036 void setData(const QByteArray &data);
0037 #if QT_CORE_REMOVED_SINCE(6, 5) && QT_POINTER_SIZE != 4
0038 void setData(const char *data, int len) { setData(data, qsizetype(len)); }
0039 #endif
0040 void setData(const char *data, qsizetype len);
0041 const QByteArray &data() const;
0042
0043 bool open(OpenMode openMode) override;
0044
0045 void close() override;
0046 qint64 size() const override;
0047 qint64 pos() const override;
0048 bool seek(qint64 off) override;
0049 bool atEnd() const override;
0050 bool canReadLine() const override;
0051
0052 protected:
0053 #ifndef QT_NO_QOBJECT
0054 void connectNotify(const QMetaMethod &) override;
0055 void disconnectNotify(const QMetaMethod &) override;
0056 #endif
0057 qint64 readData(char *data, qint64 maxlen) override;
0058 qint64 writeData(const char *data, qint64 len) override;
0059
0060 private:
0061 Q_DECLARE_PRIVATE(QBuffer)
0062 Q_DISABLE_COPY(QBuffer)
0063
0064 Q_PRIVATE_SLOT(d_func(), void _q_emitSignals())
0065 };
0066
0067 QT_END_NAMESPACE
0068
0069 #endif