Skip to content

Commit

Permalink
[mpris] code clean
Browse files Browse the repository at this point in the history
  • Loading branch information
hypengw committed Nov 18, 2024
1 parent 24fff7c commit 212516d
Show file tree
Hide file tree
Showing 3 changed files with 160 additions and 159 deletions.
139 changes: 71 additions & 68 deletions mpris/include/mpris/mediaplayer2.h
Original file line number Diff line number Diff line change
Expand Up @@ -12,39 +12,43 @@ class MediaPlayer2 : public QObject {
Q_OBJECT

// Root
Q_PROPERTY(bool canQuit READ canQuit WRITE setCanQuit NOTIFY canQuitChanged)
Q_PROPERTY(bool canRaise READ canRaise WRITE setCanRaise NOTIFY canRaiseChanged)
Q_PROPERTY(bool canQuit READ canQuit WRITE setCanQuit NOTIFY canQuitChanged FINAL)
Q_PROPERTY(bool canRaise READ canRaise WRITE setCanRaise NOTIFY canRaiseChanged FINAL)
Q_PROPERTY(bool canSetFullscreen READ canSetFullscreen WRITE setCanSetFullscreen NOTIFY
canSetFullscreenChanged)
canSetFullscreenChanged FINAL)

Q_PROPERTY(QString desktopEntry READ desktopEntry WRITE setDesktopEntry NOTIFY
desktopEntryChanged FINAL)
Q_PROPERTY(bool fullscreen READ fullscreen WRITE setFullscreen NOTIFY fullscreenChanged FINAL)
Q_PROPERTY(
QString desktopEntry READ desktopEntry WRITE setDesktopEntry NOTIFY desktopEntryChanged)
Q_PROPERTY(bool fullscreen READ fullscreen WRITE setFullscreen NOTIFY fullscreenChanged)
Q_PROPERTY(bool hasTrackList READ hasTrackList WRITE setHasTrackList NOTIFY hasTrackListChanged)
Q_PROPERTY(QString identity READ identity WRITE setIdentity NOTIFY identityChanged)
bool hasTrackList READ hasTrackList WRITE setHasTrackList NOTIFY hasTrackListChanged FINAL)
Q_PROPERTY(QString identity READ identity WRITE setIdentity NOTIFY identityChanged FINAL)
Q_PROPERTY(QStringList supportedUriSchemes READ supportedUriSchemes WRITE setSupportedUriSchemes
NOTIFY supportedUriSchemesChanged)
NOTIFY supportedUriSchemesChanged FINAL)
Q_PROPERTY(QStringList supportedMimeTypes READ supportedMimeTypes WRITE setSupportedMimeTypes
NOTIFY supportedMimeTypesChanged)
NOTIFY supportedMimeTypesChanged FINAL)

// Player
Q_PROPERTY(bool canControl READ canControl WRITE setCanControl NOTIFY canControlChanged)
Q_PROPERTY(bool canGoNext READ canGoNext WRITE setCanGoNext NOTIFY canGoNextChanged)
Q_PROPERTY(bool canControl READ canControl WRITE setCanControl NOTIFY canControlChanged FINAL)
Q_PROPERTY(bool canGoNext READ canGoNext WRITE setCanGoNext NOTIFY canGoNextChanged FINAL)
Q_PROPERTY(bool canGoPrevious READ canGoPrevious WRITE setCanGoPrevious NOTIFY
canGoPreviousChanged FINAL)
Q_PROPERTY(bool canPause READ canPause WRITE setCanPause NOTIFY canPauseChanged FINAL)
Q_PROPERTY(bool canPlay READ canPlay WRITE setCanPlay NOTIFY canPlayChanged FINAL)
Q_PROPERTY(bool canSeek READ canSeek WRITE setCanSeek NOTIFY canSeekChanged FINAL)
Q_PROPERTY(
bool canGoPrevious READ canGoPrevious WRITE setCanGoPrevious NOTIFY canGoPreviousChanged)
Q_PROPERTY(bool canPause READ canPause WRITE setCanPause NOTIFY canPauseChanged)
Q_PROPERTY(bool canPlay READ canPlay WRITE setCanPlay NOTIFY canPlayChanged)
Q_PROPERTY(bool canSeek READ canSeek WRITE setCanSeek NOTIFY canSeekChanged)
Q_PROPERTY(Loop_Status loopStatus READ loopStatus WRITE setLoopStatus NOTIFY loopStatusChanged)
Q_PROPERTY(double maximumRate READ maximumRate WRITE setMaximumRate NOTIFY maximumRateChanged)
Q_PROPERTY(QVariantMap metadata READ metadata WRITE setMetadata NOTIFY metadataChanged)
Q_PROPERTY(double minimumRate READ minimumRate WRITE setMinimumRate NOTIFY minimumRateChanged)
Loop_Status loopStatus READ loopStatus WRITE setLoopStatus NOTIFY loopStatusChanged FINAL)
Q_PROPERTY(
double maximumRate READ maximumRate WRITE setMaximumRate NOTIFY maximumRateChanged FINAL)
Q_PROPERTY(QVariantMap metadata READ metadata WRITE setMetadata NOTIFY metadataChanged FINAL)
Q_PROPERTY(
double minimumRate READ minimumRate WRITE setMinimumRate NOTIFY minimumRateChanged FINAL)
Q_PROPERTY(Playback_Status playbackStatus READ playbackStatus WRITE setPlaybackStatus NOTIFY
playbackStatusChanged)
Q_PROPERTY(qlonglong position READ position WRITE setPosition NOTIFY positionChanged)
Q_PROPERTY(double rate READ rate WRITE setRate NOTIFY rateChanged)
Q_PROPERTY(bool shuffle READ shuffle WRITE setShuffle NOTIFY shuffleChanged)
Q_PROPERTY(double volume READ volume WRITE setVolume NOTIFY volumeChanged)
playbackStatusChanged FINAL)
Q_PROPERTY(qlonglong position READ position WRITE setPosition NOTIFY positionChanged FINAL)
Q_PROPERTY(double rate READ rate WRITE setRate NOTIFY rateChanged FINAL)
Q_PROPERTY(bool shuffle READ shuffle WRITE setShuffle NOTIFY shuffleChanged FINAL)
Q_PROPERTY(double volume READ volume WRITE setVolume NOTIFY volumeChanged FINAL)

public:
enum Playback_Status
Expand Down Expand Up @@ -93,7 +97,7 @@ class MediaPlayer2 : public QObject {
explicit MediaPlayer2(QObject* parent = nullptr);
virtual ~MediaPlayer2() override;

static QString static_metakey(MetaKey);
static QString static_metakey(MetaKey);
Q_INVOKABLE QString metakey(MetaKey) const;
// Mpris2 Root Interface
bool canQuit() const;
Expand Down Expand Up @@ -169,55 +173,54 @@ class MediaPlayer2 : public QObject {
double volume() const;
void setVolume(double volume);

signals:
void serviceNameChanged();
Q_SIGNAL void serviceNameChanged();

// Mpris2 Root Interface
void canQuitChanged();
void canRaiseChanged();
void canSetFullscreenChanged();
void desktopEntryChanged();
void fullscreenChanged();
void hasTrackListChanged();
void identityChanged();
void supportedUriSchemesChanged();
void supportedMimeTypesChanged();
void fullscreenRequested(bool fullscreen);
void quitRequested();
void raiseRequested();
Q_SIGNAL void canQuitChanged();
Q_SIGNAL void canRaiseChanged();
Q_SIGNAL void canSetFullscreenChanged();
Q_SIGNAL void desktopEntryChanged();
Q_SIGNAL void fullscreenChanged();
Q_SIGNAL void hasTrackListChanged();
Q_SIGNAL void identityChanged();
Q_SIGNAL void supportedUriSchemesChanged();
Q_SIGNAL void supportedMimeTypesChanged();
Q_SIGNAL void fullscreenRequested(bool fullscreen);
Q_SIGNAL void quitRequested();
Q_SIGNAL void raiseRequested();

// Mpris2 Player Interface
void canControlChanged();
void canGoNextChanged();
void canGoPreviousChanged();
void canPauseChanged();
void canPlayChanged();
void canSeekChanged();
void loopStatusChanged();
void maximumRateChanged();
void metadataChanged();
void minimumRateChanged();
void playbackStatusChanged();
void positionChanged();
void rateChanged();
void shuffleChanged();
void volumeChanged();
Q_SIGNAL void canControlChanged();
Q_SIGNAL void canGoNextChanged();
Q_SIGNAL void canGoPreviousChanged();
Q_SIGNAL void canPauseChanged();
Q_SIGNAL void canPlayChanged();
Q_SIGNAL void canSeekChanged();
Q_SIGNAL void loopStatusChanged();
Q_SIGNAL void maximumRateChanged();
Q_SIGNAL void metadataChanged();
Q_SIGNAL void minimumRateChanged();
Q_SIGNAL void playbackStatusChanged();
Q_SIGNAL void positionChanged();
Q_SIGNAL void rateChanged();
Q_SIGNAL void shuffleChanged();
Q_SIGNAL void volumeChanged();

// request
void loopStatusRequested(Loop_Status loopStatus);
void rateRequested(double rate);
void shuffleRequested(bool shuffle);
void volumeRequested(double volume);
void nextRequested();
void openUriRequested(const QUrl& url);
void pauseRequested();
void playRequested();
void playPauseRequested();
void previousRequested();
void seekRequested(qlonglong offset);
void seeked(qlonglong position);
void setPositionRequested(const QDBusObjectPath& trackId, qlonglong position);
void stopRequested();
Q_SIGNAL void loopStatusRequested(Loop_Status loopStatus);
Q_SIGNAL void rateRequested(double rate);
Q_SIGNAL void shuffleRequested(bool shuffle);
Q_SIGNAL void volumeRequested(double volume);
Q_SIGNAL void nextRequested();
Q_SIGNAL void openUriRequested(const QUrl& url);
Q_SIGNAL void pauseRequested();
Q_SIGNAL void playRequested();
Q_SIGNAL void playPauseRequested();
Q_SIGNAL void previousRequested();
Q_SIGNAL void seekRequested(qlonglong offset);
Q_SIGNAL void seeked(qlonglong position);
Q_SIGNAL void setPositionRequested(const QDBusObjectPath& trackId, qlonglong position);
Q_SIGNAL void stopRequested();

private:
void notifyPropertiesChanged(const QString& interfaceName, const QVariantMap& changedProperties,
Expand Down
129 changes: 63 additions & 66 deletions mpris/include/mpris/mediaplayer2_adaptor.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,49 +17,48 @@ class MediaPlayer2Adaptor : public QDBusAbstractAdaptor {
MediaPlayer2Adaptor(MediaPlayer2* parent);

public:
Q_PROPERTY(bool CanQuit READ CanQuit)
Q_PROPERTY(bool CanQuit READ CanQuit FINAL)
bool CanQuit() const;

Q_PROPERTY(bool CanRaise READ CanRaise)
Q_PROPERTY(bool CanRaise READ CanRaise FINAL)
bool CanRaise() const;

Q_PROPERTY(bool CanSetFullscreen READ CanSetFullscreen)
Q_PROPERTY(bool CanSetFullscreen READ CanSetFullscreen FINAL)
bool CanSetFullscreen() const;

Q_PROPERTY(QString DesktopEntry READ DesktopEntry)
Q_PROPERTY(QString DesktopEntry READ DesktopEntry FINAL)
QString DesktopEntry() const;

Q_PROPERTY(bool Fullscreen READ Fullscreen WRITE setFullscreen)
Q_PROPERTY(bool Fullscreen READ Fullscreen WRITE setFullscreen FINAL)
bool Fullscreen() const;
void setFullscreen(bool value);

Q_PROPERTY(bool HasTrackList READ HasTrackList)
Q_PROPERTY(bool HasTrackList READ HasTrackList FINAL)
bool HasTrackList() const;

Q_PROPERTY(QString Identity READ Identity)
Q_PROPERTY(QString Identity READ Identity FINAL)
QString Identity() const;

Q_PROPERTY(QStringList SupportedMimeTypes READ SupportedMimeTypes)
Q_PROPERTY(QStringList SupportedMimeTypes READ SupportedMimeTypes FINAL)
QStringList SupportedMimeTypes() const;

Q_PROPERTY(QStringList SupportedUriSchemes READ SupportedUriSchemes)
Q_PROPERTY(QStringList SupportedUriSchemes READ SupportedUriSchemes FINAL)
QStringList SupportedUriSchemes() const;

public slots:
// Methods
void Quit();
void Raise();

private slots:
void onCanQuitChanged() const;
void onCanRaiseChanged() const;
void onCanSetFullscreenChanged() const;
void onDesktopEntryChanged() const;
void onFullscreenChanged() const;
void onHasTrackListChanged() const;
void onIdentityChanged() const;
void onSupportedUriSchemesChanged() const;
void onSupportedMimeTypesChanged() const;
Q_SLOT void Quit();
Q_SLOT void Raise();

private:
Q_SLOT void onCanQuitChanged() const;
Q_SLOT void onCanRaiseChanged() const;
Q_SLOT void onCanSetFullscreenChanged() const;
Q_SLOT void onDesktopEntryChanged() const;
Q_SLOT void onFullscreenChanged() const;
Q_SLOT void onHasTrackListChanged() const;
Q_SLOT void onIdentityChanged() const;
Q_SLOT void onSupportedUriSchemesChanged() const;
Q_SLOT void onSupportedMimeTypesChanged() const;

private:
MediaPlayer2* m_realobj;
Expand All @@ -71,21 +70,21 @@ class MediaPlayer2PlayerAdaptor : public QDBusAbstractAdaptor {
// https://specifications.freedesktop.org/mpris-spec/latest/Player_Interface.html

// Properties
Q_PROPERTY(QString PlaybackStatus READ PlaybackStatus)
Q_PROPERTY(QString LoopStatus READ LoopStatus WRITE setLoopStatus)
Q_PROPERTY(double Rate READ Rate WRITE setRate)
Q_PROPERTY(bool Shuffle READ Shuffle WRITE setShuffle)
Q_PROPERTY(QVariantMap Metadata READ Metadata)
Q_PROPERTY(double Volume READ Volume WRITE setVolume)
Q_PROPERTY(qlonglong Position READ Position)
Q_PROPERTY(double MinimumRate READ MinimumRate)
Q_PROPERTY(double MaximumRate READ MaximumRate)
Q_PROPERTY(bool CanGoNext READ CanGoNext)
Q_PROPERTY(bool CanGoPrevious READ CanGoPrevious)
Q_PROPERTY(bool CanPlay READ CanPlay)
Q_PROPERTY(bool CanPause READ CanPause)
Q_PROPERTY(bool CanSeek READ CanSeek)
Q_PROPERTY(bool CanControl READ CanControl)
Q_PROPERTY(QString PlaybackStatus READ PlaybackStatus FINAL)
Q_PROPERTY(QString LoopStatus READ LoopStatus WRITE setLoopStatus FINAL)
Q_PROPERTY(double Rate READ Rate WRITE setRate FINAL)
Q_PROPERTY(bool Shuffle READ Shuffle WRITE setShuffle FINAL)
Q_PROPERTY(QVariantMap Metadata READ Metadata FINAL)
Q_PROPERTY(double Volume READ Volume WRITE setVolume FINAL)
Q_PROPERTY(qlonglong Position READ Position FINAL)
Q_PROPERTY(double MinimumRate READ MinimumRate FINAL)
Q_PROPERTY(double MaximumRate READ MaximumRate FINAL)
Q_PROPERTY(bool CanGoNext READ CanGoNext FINAL)
Q_PROPERTY(bool CanGoPrevious READ CanGoPrevious FINAL)
Q_PROPERTY(bool CanPlay READ CanPlay FINAL)
Q_PROPERTY(bool CanPause READ CanPause FINAL)
Q_PROPERTY(bool CanSeek READ CanSeek FINAL)
Q_PROPERTY(bool CanControl READ CanControl FINAL)

public:
explicit MediaPlayer2PlayerAdaptor(MediaPlayer2* parent = nullptr);
Expand All @@ -111,36 +110,34 @@ class MediaPlayer2PlayerAdaptor : public QDBusAbstractAdaptor {
void setShuffle(bool);
void setVolume(double);

signals:
void Seeked(qlonglong Position);
Q_SIGNAL void Seeked(qlonglong Position);

public slots:
// Methods
void Next();
void Previous();
void Pause();
void PlayPause();
void Stop();
void Play();
void Seek(qlonglong Offset);
void SetPosition(const QDBusObjectPath& trackId, qlonglong pos);
void OpenUri(const QString& uri);

private slots:
void onCanControlChanged() const;
void onCanGoNextChanged() const;
void onCanGoPreviousChanged() const;
void onCanPauseChanged() const;
void onCanPlayChanged() const;
void onCanSeekChanged() const;
void onLoopStatusChanged() const;
void onMaximumRateChanged() const;
void onMetadataChanged() const;
void onMinimumRateChanged() const;
void onPlaybackStatusChanged() const;
void onRateChanged() const;
void onShuffleChanged() const;
void onVolumeChanged() const;
Q_SLOT void Next();
Q_SLOT void Previous();
Q_SLOT void Pause();
Q_SLOT void PlayPause();
Q_SLOT void Stop();
Q_SLOT void Play();
Q_SLOT void Seek(qlonglong Offset);
Q_SLOT void SetPosition(const QDBusObjectPath& trackId, qlonglong pos);
Q_SLOT void OpenUri(const QString& uri);

private:
Q_SLOT void onCanControlChanged() const;
Q_SLOT void onCanGoNextChanged() const;
Q_SLOT void onCanGoPreviousChanged() const;
Q_SLOT void onCanPauseChanged() const;
Q_SLOT void onCanPlayChanged() const;
Q_SLOT void onCanSeekChanged() const;
Q_SLOT void onLoopStatusChanged() const;
Q_SLOT void onMaximumRateChanged() const;
Q_SLOT void onMetadataChanged() const;
Q_SLOT void onMinimumRateChanged() const;
Q_SLOT void onPlaybackStatusChanged() const;
Q_SLOT void onRateChanged() const;
Q_SLOT void onShuffleChanged() const;
Q_SLOT void onVolumeChanged() const;

private:
MediaPlayer2* m_realobj;
Expand Down
Loading

0 comments on commit 212516d

Please sign in to comment.