Warning, file /frameworks/bluez-qt/src/mediaplayer.cpp was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 /*
0002  * BluezQt - Asynchronous Bluez wrapper library
0003  *
0004  * SPDX-FileCopyrightText: 2015 David Rosca <nowrep@gmail.com>
0005  *
0006  * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
0007  */
0008 
0009 #include "mediaplayer.h"
0010 #include "mediaplayer_p.h"
0011 #include "pendingcall.h"
0012 
0013 namespace BluezQt
0014 {
0015 static QString equalizerToString(MediaPlayer::Equalizer equalizer)
0016 {
0017     switch (equalizer) {
0018     case MediaPlayer::EqualizerOn:
0019         return QStringLiteral("on");
0020     default:
0021         return QStringLiteral("off");
0022     }
0023 }
0024 
0025 static QString repeatToString(MediaPlayer::Repeat repeat)
0026 {
0027     switch (repeat) {
0028     case MediaPlayer::RepeatSingleTrack:
0029         return QStringLiteral("singletrack");
0030     case MediaPlayer::RepeatAllTracks:
0031         return QStringLiteral("alltracks");
0032     case MediaPlayer::RepeatGroup:
0033         return QStringLiteral("group");
0034     default:
0035         return QStringLiteral("off");
0036     }
0037 }
0038 
0039 static QString shuffleToString(MediaPlayer::Shuffle shuffle)
0040 {
0041     switch (shuffle) {
0042     case MediaPlayer::ShuffleAllTracks:
0043         return QStringLiteral("alltracks");
0044     case MediaPlayer::ShuffleGroup:
0045         return QStringLiteral("group");
0046     default:
0047         return QStringLiteral("off");
0048     }
0049 }
0050 
0051 MediaPlayer::MediaPlayer(const QString &path, const QVariantMap &properties)
0052     : QObject()
0053     , d(new MediaPlayerPrivate(path, properties))
0054 {
0055 }
0056 
0057 MediaPlayer::~MediaPlayer() = default;
0058 
0059 MediaPlayerPtr MediaPlayer::toSharedPtr() const
0060 {
0061     return d->q.toStrongRef();
0062 }
0063 
0064 QString MediaPlayer::name() const
0065 {
0066     return d->m_name;
0067 }
0068 
0069 MediaPlayer::Equalizer MediaPlayer::equalizer() const
0070 {
0071     return d->m_equalizer;
0072 }
0073 
0074 PendingCall *MediaPlayer::setEqualizer(MediaPlayer::Equalizer equalizer)
0075 {
0076     return new PendingCall(d->setDBusProperty(QStringLiteral("Equalizer"), equalizerToString(equalizer)), PendingCall::ReturnVoid, this);
0077 }
0078 
0079 MediaPlayer::Repeat MediaPlayer::repeat() const
0080 {
0081     return d->m_repeat;
0082 }
0083 
0084 PendingCall *MediaPlayer::setRepeat(MediaPlayer::Repeat repeat)
0085 {
0086     return new PendingCall(d->setDBusProperty(QStringLiteral("Repeat"), repeatToString(repeat)), PendingCall::ReturnVoid, this);
0087 }
0088 
0089 MediaPlayer::Shuffle MediaPlayer::shuffle() const
0090 {
0091     return d->m_shuffle;
0092 }
0093 
0094 PendingCall *MediaPlayer::setShuffle(MediaPlayer::Shuffle shuffle)
0095 {
0096     return new PendingCall(d->setDBusProperty(QStringLiteral("Shuffle"), shuffleToString(shuffle)), PendingCall::ReturnVoid, this);
0097 }
0098 
0099 MediaPlayer::Status MediaPlayer::status() const
0100 {
0101     return d->m_status;
0102 }
0103 
0104 MediaPlayerTrack MediaPlayer::track() const
0105 {
0106     return d->m_track;
0107 }
0108 
0109 quint32 MediaPlayer::position() const
0110 {
0111     return d->m_position;
0112 }
0113 
0114 PendingCall *MediaPlayer::play()
0115 {
0116     return new PendingCall(d->m_bluezMediaPlayer->Play(), PendingCall::ReturnVoid, this);
0117 }
0118 
0119 PendingCall *MediaPlayer::pause()
0120 {
0121     return new PendingCall(d->m_bluezMediaPlayer->Pause(), PendingCall::ReturnVoid, this);
0122 }
0123 
0124 PendingCall *MediaPlayer::stop()
0125 {
0126     return new PendingCall(d->m_bluezMediaPlayer->Stop(), PendingCall::ReturnVoid, this);
0127 }
0128 
0129 PendingCall *MediaPlayer::next()
0130 {
0131     return new PendingCall(d->m_bluezMediaPlayer->Next(), PendingCall::ReturnVoid, this);
0132 }
0133 
0134 PendingCall *MediaPlayer::previous()
0135 {
0136     return new PendingCall(d->m_bluezMediaPlayer->Previous(), PendingCall::ReturnVoid, this);
0137 }
0138 
0139 PendingCall *MediaPlayer::fastForward()
0140 {
0141     return new PendingCall(d->m_bluezMediaPlayer->FastForward(), PendingCall::ReturnVoid, this);
0142 }
0143 
0144 PendingCall *MediaPlayer::rewind()
0145 {
0146     return new PendingCall(d->m_bluezMediaPlayer->Rewind(), PendingCall::ReturnVoid, this);
0147 }
0148 
0149 } // namespace BluezQt
0150 
0151 #include "moc_mediaplayer.cpp"