Go to the
documentation of this file.
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef PHONON_STREAMINTERFACE_H
00024 #define PHONON_STREAMINTERFACE_H
00025
00026 #include "phonon_export.h"
00027 #include <QtCore/QObject>
00028
00029 QT_BEGIN_HEADER
00030 QT_BEGIN_NAMESPACE
00031
00032 #ifndef QT_NO_PHONON_ABSTRACTMEDIASTREAM
00033
00034 namespace Phonon
00035 {
00036 class StreamInterfacePrivate;
00037 class MediaSource;
00038
00044 class PHONON_EXPORT StreamInterface
00045 {
00046 friend class StreamInterfacePrivate;
00047 friend class AbstractMediaStreamPrivate;
00048 public:
00049 virtual ~StreamInterface();
00056 virtual void writeData(const QByteArray &data) = 0;
00060 virtual void endOfData() = 0;
00066 virtual void setStreamSize(qint64 newSize) = 0;
00070 virtual void setStreamSeekable(bool s) = 0;
00071
00078 void connectToSource(const MediaSource &mediaSource);
00079
00089 void needData();
00090
00095 void enoughData();
00096
00101 void seekStream(qint64 seekTo);
00102
00107 void reset();
00108
00109 protected:
00110 StreamInterface();
00111
00112 StreamInterfacePrivate *const d;
00113 };
00114 }
00115
00116 Q_DECLARE_INTERFACE(Phonon::StreamInterface, "StreamInterface1.phonon.kde.org")
00117
00118 #endif //QT_NO_PHONON_ABSTRACTMEDIASTREAM
00119
00120 QT_END_NAMESPACE
00121 QT_END_HEADER
00122
00123 #endif // PHONON_STREAMINTERFACE_H