/* SPDX-FileCopyrightText: 2008 Alex Merry SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once #include "playercontainer.h" #include #include class OrgFreedesktopDBusPropertiesInterface; class OrgMprisMediaPlayer2Interface; class OrgMprisMediaPlayer2PlayerInterface; class PlayerControl : public Plasma::Service { Q_OBJECT public: PlayerControl(PlayerContainer *container, QObject *parent); OrgMprisMediaPlayer2Interface *rootInterface() const { return m_container->rootInterface(); } OrgMprisMediaPlayer2PlayerInterface *playerInterface() const { return m_container->playerInterface(); } OrgFreedesktopDBusPropertiesInterface *propertiesInterface() const { return m_container->propertiesInterface(); } void updatePosition() const { m_container->updatePosition(); } PlayerContainer::Caps capabilities() const { return m_container->capabilities(); } const QMap /*DataEngine::Data*/ rawData() const { return m_container->data(); } QDBusObjectPath trackId() const; Plasma::ServiceJob *createJob(const QString &operation, QMap ¶meters) override; void changeVolume(double delta, bool showOSD); Q_SIGNALS: void enabledOperationsChanged(); private Q_SLOTS: void updateEnabledOperations(); void containerDestroyed(); private: PlayerContainer *m_container; };