Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-01-02 10:03:14

0001 // Copyright (C) 2016 The Qt Company Ltd.
0002 // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
0003 // Qt-Security score:significant reason:default
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 // QBUFFER_H