From 186e21da5f83fc26cd33f13e800cd59316250d04 Mon Sep 17 00:00:00 2001 From: Wolf Bergenheim Date: Thu, 5 Aug 2010 13:32:04 +0300 Subject: Renamed libresource-overridesqt => libmediaoverridesqt Renamed resourceoverrider => mediaoverrider --- libmediaoverridesqt/override.cpp | 63 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 libmediaoverridesqt/override.cpp (limited to 'libmediaoverridesqt/override.cpp') diff --git a/libmediaoverridesqt/override.cpp b/libmediaoverridesqt/override.cpp new file mode 100644 index 0000000..71102df --- /dev/null +++ b/libmediaoverridesqt/override.cpp @@ -0,0 +1,63 @@ +#include "override.h" + +#define MANAGER_PATH "/org/maemo/Playback/Manager" +#define MANAGER_SERVICE "org.maemo.Playback.Manager" +#define MANAGER_INTERFACE "org.maemo.Playback.Manager" + +using namespace ResourcePolicy; + +Override * ResourcePolicy::createMute(QObject *parent) +{ + return new Override("Mute", parent); +} + +Override * ResourcePolicy::createPrivacyOverride(QObject *parent) +{ + return new Override("PrivacyOverride", parent); +} + +Override * ResourcePolicy::createBluetoothOVerride(QObject *parent) +{ + return new Override("BluetoothOverride", parent); +} + +Override::Override(QString overrideType, QObject *parent): + QObject(parent), dBusConnection(QDBusConnection::sessionBus()), type(overrideType) +{ + dBusConnection.connect(MANAGER_SERVICE, MANAGER_PATH, MANAGER_INTERFACE, + type, this, SLOT(handleChange(bool))); +} + +Override::~Override() +{ +} + +void Override::fetchState() +{ + QDBusMessage msg; + QString method = "Get" + type; + + msg = QDBusMessage::createMethodCall(MANAGER_SERVICE, MANAGER_PATH, + MANAGER_INTERFACE, method); + dBusConnection.send(msg); +} + +void Override::request(bool newState) +{ + QDBusMessage msg; + QString method = "Request" + type; + + msg = QDBusMessage::createMethodCall(MANAGER_SERVICE, MANAGER_PATH, + MANAGER_INTERFACE, method); + + QVariantList args; + args.append(newState); + msg.setArguments(args); + dBusConnection.send(msg); +} + +void Override::handleChange(bool newState) +{ + emit changed(newState); +} + -- cgit v1.2.3