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_PLATFORMPLUGIN_H
00024 #define PHONON_PLATFORMPLUGIN_H
00025
00026 #include <QtCore/QObject>
00027 #include <QtCore/QStringList>
00028 #include <QtCore/QPair>
00029 #include "phonon_export.h"
00030 #include "objectdescription.h"
00031
00032 QT_BEGIN_HEADER
00033 QT_BEGIN_NAMESPACE
00034
00035 #ifndef QT_NO_PHONON_PLATFORMPLUGIN
00036
00037 class QUrl;
00038 class QObject;
00039 class QIcon;
00040
00041 namespace Phonon
00042 {
00043 class AbstractMediaStream;
00044
00045 class PlatformPlugin
00046 {
00047 public:
00048 virtual ~PlatformPlugin() {}
00049
00054 virtual AbstractMediaStream *createMediaStream(const QUrl &url, QObject *parent) = 0;
00055
00059 virtual QIcon icon(const QString &name) const = 0;
00060
00064 virtual void notification(const char *notificationName, const QString &text,
00065 const QStringList &actions = QStringList(), QObject *receiver = 0,
00066 const char *actionSlot = 0) const = 0;
00067
00072 virtual QString applicationName() const = 0;
00073
00077 virtual QObject *createBackend() = 0;
00078
00082 virtual QObject *createBackend(const QString &library, const QString &version) = 0;
00083
00089 virtual bool isMimeTypeAvailable(const QString &mimeType) const = 0;
00090
00094 virtual void saveVolume(const QString &outputName, qreal volume) = 0;
00095
00099 virtual qreal loadVolume(const QString &outputName) const = 0;
00100
00101 virtual QList<int> objectDescriptionIndexes(ObjectDescriptionType type) const = 0;
00102 virtual QHash<QByteArray, QVariant> objectDescriptionProperties(ObjectDescriptionType type, int index) const = 0;
00103
00107 virtual QList<QPair<QByteArray, QString> > deviceAccessListFor(const Phonon::AudioOutputDevice &) const { return QList<QPair<QByteArray, QString> >(); }
00108 };
00109 }
00110
00111 Q_DECLARE_INTERFACE(Phonon::PlatformPlugin, "3PlatformPlugin.phonon.kde.org")
00112
00113 #endif //QT_NO_PHONON_PLATFORMPLUGIN
00114
00115 QT_END_NAMESPACE
00116 QT_END_HEADER
00117
00118 #endif // PHONON_PLATFORMPLUGIN_H