blob: 4cbbfe7c52da1211bebf1add9ff3c8c7985888ac (
plain)
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 | // Copyright (C) 2016 The Qt Company Ltd.// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only#ifndef QBUFFER_H#define QBUFFER_H#include <QtCore/qiodevice.h>#include <QtCore/qbytearray.h> QT_BEGIN_NAMESPACE class QObject;class QBufferPrivate;class Q_CORE_EXPORT QBuffer :public QIODevice {#ifndef QT_NO_QOBJECT Q_OBJECT #endifpublic:#ifndef QT_NO_QOBJECTexplicitQBuffer(QObject *parent =nullptr);QBuffer(QByteArray *buf, QObject *parent =nullptr);#elseQBuffer();explicitQBuffer(QByteArray *buf);#endif~QBuffer(); QByteArray &buffer();const QByteArray &buffer()const;voidsetBuffer(QByteArray *a);voidsetData(const QByteArray &data);#if QT_CORE_REMOVED_SINCE(6, 5) && QT_POINTER_SIZE != 4voidsetData(const char*data,int len) {setData(data,qsizetype(len)); }#endifvoidsetData(const char*data, qsizetype len);const QByteArray &data()const;boolopen(OpenMode openMode) override;voidclose() override; qint64 size()const override; qint64 pos()const override;boolseek(qint64 off) override;boolatEnd()const override;boolcanReadLine()const override;protected:#ifndef QT_NO_QOBJECTvoidconnectNotify(const QMetaMethod &) override;voiddisconnectNotify(const QMetaMethod &) override;#endif qint64 readData(char*data, qint64 maxlen) override; qint64 writeData(const char*data, qint64 len) override;private:Q_DECLARE_PRIVATE(QBuffer)Q_DISABLE_COPY(QBuffer)Q_PRIVATE_SLOT(d_func(),void_q_emitSignals())}; QT_END_NAMESPACE #endif// QBUFFER_H
|