[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