[SCM] kdeconnect packaging branch, master, updated. debian/0.9g-1-1183-g9d69498
Maximiliano Curia
maxy at moszumanska.debian.org
Fri Oct 14 14:26:41 UTC 2016
Gitweb-URL: http://git.debian.org/?p=pkg-kde/kde-extras/kdeconnect.git;a=commitdiff;h=7b0bbeb
The following commit has been merged in the master branch:
commit 7b0bbebc02df93124e21365876a9db0798b12cad
Author: Albert Vaca <albertvaka at gmail.com>
Date: Mon Jul 29 18:43:13 2013 +0200
First implementation of the mpris control packageinterface
---
daemon/CMakeLists.txt | 1 +
daemon/daemon.cpp | 2 +
daemon/networkpackagetypes.h | 2 +-
.../mpriscontrolpackageinterface.cpp | 62 +++++++++-------------
...einterface.h => mpriscontrolpackageinterface.h} | 13 ++---
.../pausemusicpackageinterface.cpp | 4 +-
.../packageinterfaces/pausemusicpackageinterface.h | 6 +--
7 files changed, 40 insertions(+), 50 deletions(-)
diff --git a/daemon/CMakeLists.txt b/daemon/CMakeLists.txt
index 4e1d64a..28ccc91 100644
--- a/daemon/CMakeLists.txt
+++ b/daemon/CMakeLists.txt
@@ -14,6 +14,7 @@ set(kded_kdeconnect_SRCS
packageinterfaces/pausemusicpackageinterface.cpp
packageinterfaces/clipboardpackageinterface.cpp
packageinterfaces/batterypackageinterface.cpp
+ packageinterfaces/mpriscontrolpackageinterface.cpp
packageinterfaces/devicebatteryinformation_p.cpp
networkpackage.cpp
diff --git a/daemon/daemon.cpp b/daemon/daemon.cpp
index 244866e..d8fa935 100644
--- a/daemon/daemon.cpp
+++ b/daemon/daemon.cpp
@@ -27,6 +27,7 @@
#include "packageinterfaces/pausemusicpackageinterface.h"
#include "packageinterfaces/clipboardpackageinterface.h"
#include "packageinterfaces/batterypackageinterface.h"
+#include "packageinterfaces/mpriscontrolpackageinterface.h"
#include "linkproviders/avahitcplinkprovider.h"
#include "linkproviders/loopbacklinkprovider.h"
@@ -65,6 +66,7 @@ Daemon::Daemon(QObject *parent, const QList<QVariant>&)
mPackageInterfaces.push_back(new PauseMusicPackageInterface());
mPackageInterfaces.push_back(new ClipboardPackageInterface());
mPackageInterfaces.push_back(new BatteryPackageInterface(this));
+ mPackageInterfaces.push_back(new MprisControlPackageInterface());
//TODO: Do not hardcode the load of the device locators
//use: https://techbase.kde.org/Development/Tutorials/Services/Plugins
diff --git a/daemon/networkpackagetypes.h b/daemon/networkpackagetypes.h
index 981139f..aff696c 100644
--- a/daemon/networkpackagetypes.h
+++ b/daemon/networkpackagetypes.h
@@ -27,7 +27,7 @@
#define PACKAGE_TYPE_BATTERY QString("kdeconnect.battery")
#define PACKAGE_TYPE_CALL QString("kdeconnect.call")
#define PACKAGE_TYPE_CLIPBOARD QString("kdeconnect.clipboard")
-
+#define PACKAGE_TYPE_MPRIS QString("kdeconnect.mpris")
#endif // NETWORKPACKAGETYPES_H
diff --git a/kcm/kcm.h b/daemon/packageinterfaces/mpriscontrolpackageinterface.cpp
similarity index 50%
copy from kcm/kcm.h
copy to daemon/packageinterfaces/mpriscontrolpackageinterface.cpp
index dbfb943..71b20ec 100644
--- a/kcm/kcm.h
+++ b/daemon/packageinterfaces/mpriscontrolpackageinterface.cpp
@@ -18,50 +18,36 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#ifndef KDECONNECTKCM_H
-#define KDECONNECTKCM_H
+#include "mpriscontrolpackageinterface.h"
-#include <QStandardItemModel>
+#include <QDebug>
#include <QDBusConnection>
+#include <QDBusInterface>
+#include <qdbusconnectioninterface.h>
+#include <QDBusReply>
+#include <QDBusMessage>
-#include <kcmodule.h>
-#include <ksharedconfig.h>
-
-#include "wizard.h"
-#include "devicesmodel.h"
-
-class Create;
-class QModelIndex;
-class AccountsModel;
-class AccountWidget;
-class QStackedLayout;
-class QItemSelectionModel;
-class QDBusInterface;
-
-namespace Ui {
- class KdeConnectKcmUi;
+MprisControlPackageInterface::MprisControlPackageInterface()
+{
+ //TODO: Emit info read form mpris to the phone
}
-class KdeConnectKcm
- : public KCModule
+bool MprisControlPackageInterface::receivePackage (const Device& device, const NetworkPackage& np)
{
- Q_OBJECT
-public:
- KdeConnectKcm(QWidget *parent, const QVariantList&);
- virtual ~KdeConnectKcm();
+ Q_UNUSED(device);
-private Q_SLOTS:
- void deviceSelected(const QModelIndex& current);
- void trustedStateChanged(bool);
- void sendPing();
-
-private:
- Ui::KdeConnectKcmUi* kcmUi;
- DevicesModel* pairedDevicesList;
- AddDeviceWizard* addDeviceWizard;
- KSharedConfigPtr config;
- QModelIndex selectedIndex;
+ if (np.type() != PACKAGE_TYPE_MPRIS) return false;
-};
+ QString action = np.get<QString>("action");
-#endif
+ QStringList interfaces = QDBusConnection::sessionBus().interface()->registeredServiceNames().value();
+ Q_FOREACH (const QString& iface, interfaces) {
+ if (iface.startsWith("org.mpris.MediaPlayer2")) {
+ QDBusInterface mprisInterface(iface, "/org/mpris/MediaPlayer2", "org.mpris.MediaPlayer2.Player");
+ mprisInterface.asyncCall(action);
+ }
+ }
+
+ return true;
+
+}
diff --git a/daemon/packageinterfaces/pingpackageinterface.h b/daemon/packageinterfaces/mpriscontrolpackageinterface.h
similarity index 85%
copy from daemon/packageinterfaces/pingpackageinterface.h
copy to daemon/packageinterfaces/mpriscontrolpackageinterface.h
index 29dd64b..02d8eec 100644
--- a/daemon/packageinterfaces/pingpackageinterface.h
+++ b/daemon/packageinterfaces/mpriscontrolpackageinterface.h
@@ -18,18 +18,19 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#ifndef PINGPACKAGEINTERFACE_H
-#define PINGPACKAGEINTERFACE_H
-
-#include <knotification.h>
+#ifndef MPRISCONTROLPACKAGEINTERFACE_H
+#define MPRISCONTROLPACKAGEINTERFACE_H
#include "packageinterface.h"
-class PingPackageInterface
+#include <QSet>
+#include <QString>
+
+class MprisControlPackageInterface
: public PackageInterface
{
-
public:
+ MprisControlPackageInterface();
virtual bool receivePackage(const Device& device, const NetworkPackage& np);
};
diff --git a/daemon/packageinterfaces/pausemusicpackageinterface.cpp b/daemon/packageinterfaces/pausemusicpackageinterface.cpp
index e38ba2b..43e3b8b 100644
--- a/daemon/packageinterfaces/pausemusicpackageinterface.cpp
+++ b/daemon/packageinterfaces/pausemusicpackageinterface.cpp
@@ -69,7 +69,7 @@ bool PauseMusicPackageInterface::receivePackage (const Device& device, const Net
if (status == "Playing") {
if (!pausedSources.contains(iface)) {
pausedSources.insert(iface);
- mprisInterface.call(QDBus::Block,"Pause");
+ mprisInterface.asyncCall("Pause");
}
}
}
@@ -81,7 +81,7 @@ bool PauseMusicPackageInterface::receivePackage (const Device& device, const Net
//mprisInterface->call(QDBus::Block,"Play");
//Workaround: Using playpause instead (checking first if it is already playing)
QString status = mprisInterface.property("PlaybackStatus").toString();
- if (status == "Paused") mprisInterface.call(QDBus::Block,"PlayPause");
+ if (status == "Paused") mprisInterface.asyncCall("PlayPause");
//End of workaround
}
pausedSources.clear();
diff --git a/daemon/packageinterfaces/pausemusicpackageinterface.h b/daemon/packageinterfaces/pausemusicpackageinterface.h
index 1793538..3d5a8de 100644
--- a/daemon/packageinterfaces/pausemusicpackageinterface.h
+++ b/daemon/packageinterfaces/pausemusicpackageinterface.h
@@ -18,8 +18,8 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#ifndef PAUSEMUSICPACKAGERECEIVER_H
-#define PAUSEMUSICPACKAGERECEIVER_H
+#ifndef PAUSEMUSICPACKAGEINTERFACE_H
+#define PAUSEMUSICPACKAGEINTERFACE_H
#include "packageinterface.h"
@@ -40,4 +40,4 @@ private:
};
-#endif // PAUSEMUSICPACKAGERECEIVER_H
+#endif
--
kdeconnect packaging
More information about the pkg-kde-commits
mailing list