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 <QObject>
0010 #include <phonon/objectdescription.h>
0011 #include <phonon/platformplugin.h>
0012 
0013 namespace Phonon
0014 {
0015 class KdePlatformPlugin : public QObject, public PlatformPlugin
0016 {
0017     Q_PLUGIN_METADATA(IID "3PlatformPlugin.phonon.kde.org" FILE "phononbackend.json")
0018     Q_INTERFACES(Phonon::PlatformPlugin)
0019     Q_OBJECT
0020 public:
0021     KdePlatformPlugin();
0022     ~KdePlatformPlugin() override;
0023 
0024     AbstractMediaStream *createMediaStream(const QUrl &url, QObject *parent) override;
0025 
0026     QIcon icon(const QString &name) const override;
0027     void notification(const char *notificationName, const QString &text, const QStringList &actions, QObject *receiver, const char *actionSlot) const override;
0028     QString applicationName() const override;
0029     QObject *createBackend() override;
0030     QObject *createBackend(const QString &library, const QString &version) override;
0031     bool isMimeTypeAvailable(const QString &mimeType) const override;
0032     void saveVolume(const QString &outputName, qreal volume) override;
0033     qreal loadVolume(const QString &outputName) const override;
0034 
0035     QList<int> objectDescriptionIndexes(ObjectDescriptionType type) const override;
0036     QHash<QByteArray, QVariant> objectDescriptionProperties(ObjectDescriptionType type, int index) const override;
0037 
0038 Q_SIGNALS:
0039     void objectDescriptionChanged(ObjectDescriptionType);
0040 };
0041 
0042 } // namespace Phonon