File indexing completed on 2024-05-12 04:51:02

0001 /*
0002     SPDX-FileCopyrightText: 2010 Michal Malek <michalm@jabster.pl>
0003     SPDX-FileCopyrightText: 1998-2010 Sebastian Trueg <trueg@k3b.org>
0004 
0005     SPDX-License-Identifier: GPL-2.0-or-later
0006 */
0007 
0008 #ifndef K3B_AUDIOZERODATAREADER_H
0009 #define K3B_AUDIOZERODATAREADER_H
0010 
0011 #include "k3b_export.h"
0012 
0013 #include <QIODevice>
0014 #include <QScopedPointer>
0015 
0016 
0017 namespace K3b {
0018 
0019     class AudioZeroData;
0020 
0021     class LIBK3B_EXPORT AudioZeroDataReader : public QIODevice
0022     {
0023     public:
0024         explicit AudioZeroDataReader( AudioZeroData& source, QObject* parent = 0 );
0025         ~AudioZeroDataReader() override;
0026 
0027         bool open( OpenMode mode ) override;
0028         bool isSequential() const override;
0029         qint64 size() const override;
0030 
0031     protected:
0032         qint64 writeData(const char* data, qint64 len) override;
0033         qint64 readData(char* data, qint64 maxlen) override;
0034 
0035     private:
0036         class Private;
0037         QScopedPointer<Private> d;
0038         Q_DISABLE_COPY(AudioZeroDataReader)
0039     };
0040 
0041 }
0042 
0043 #endif // K3B_AUDIOZERODATAREADER_H