File indexing completed on 2024-05-12 05:38:16

0001 /*
0002     SPDX-FileCopyrightText: 2007 Matthias Kretz <kretz@kde.org>
0003 
0004     SPDX-License-Identifier: LGPL-2.0-only
0005 */
0006 
0007 #pragma once
0008 
0009 #include <phonon/AbstractMediaStream>
0010 
0011 class QUrl;
0012 
0013 namespace Phonon
0014 {
0015 class KioMediaStreamPrivate;
0016 
0017 class KioMediaStream : public AbstractMediaStream
0018 {
0019     Q_OBJECT
0020     Q_DECLARE_PRIVATE(KioMediaStream)
0021 public:
0022     explicit KioMediaStream(const QUrl &url, QObject *parent = nullptr);
0023     ~KioMediaStream() override;
0024 
0025 protected:
0026     void reset() override;
0027     void needData() override;
0028     void enoughData() override;
0029     void seekStream(qint64) override;
0030 
0031     KioMediaStreamPrivate *d_ptr;
0032 
0033 private:
0034     Q_PRIVATE_SLOT(d_func(), void _k_bytestreamData(KIO::Job *, const QByteArray &))
0035     Q_PRIVATE_SLOT(d_func(), void _k_bytestreamResult(KJob *))
0036     Q_PRIVATE_SLOT(d_func(), void _k_bytestreamTotalSize(KJob *, qulonglong))
0037     Q_PRIVATE_SLOT(d_func(), void _k_bytestreamFileJobOpen(KIO::Job *))
0038     Q_PRIVATE_SLOT(d_func(), void _k_bytestreamSeekDone(KIO::Job *, KIO::filesize_t))
0039     Q_PRIVATE_SLOT(d_func(), void _k_read())
0040 };
0041 
0042 } // namespace Phonon