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