[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [kmix/kmix-improvements] src: More dbus interface work and terrible commit messages
From: Trever Fischer <tdfischer () fedoraproject ! org>
Date: 2012-09-24 19:17:15
Message-ID: 20120924191715.E839AA6094 () git ! kde ! org
[Download RAW message or body]
Git commit 7238c12a2eb628b1fae904f816c41ede39fd4c61 by Trever Fischer.
Committed on 24/09/2012 at 21:14.
Pushed by tdfischer into branch 'kmix-improvements'.
More dbus interface work and terrible commit messages
M +2 -6 src/daemon2/BackendManager.cpp
M +2 -1 src/daemon2/BackendManager.h
M +2 -0 src/daemon2/CMakeLists.txt
M +7 -3 src/daemon2/Control.cpp
M +2 -0 src/daemon2/Control.h
M +19 -4 src/daemon2/ControlGroup.cpp
M +3 -0 src/daemon2/ControlGroup.h
M +6 -4 src/daemon2/KMixDApp.cpp
M +4 -4 src/gui2/CMakeLists.txt
M +10 -9 src/gui2/KMixWindow.cpp
M +3 -3 src/gui2/KMixWindow.h
http://commits.kde.org/kmix/7238c12a2eb628b1fae904f816c41ede39fd4c61
diff --git a/src/daemon2/BackendManager.cpp b/src/daemon2/BackendManager.cpp
index bd96691..b205a64 100644
--- a/src/daemon2/BackendManager.cpp
+++ b/src/daemon2/BackendManager.cpp
@@ -44,13 +44,9 @@ BackendManager *BackendManager::instance()
return s_instance;
}
-QStringList BackendManager::groups() const
+QList<ControlGroup*> BackendManager::groups() const
{
- QStringList ret;
- foreach(ControlGroup *group, m_groups) {
- ret << group->displayName();
- }
- return ret;
+ return m_groups;
}
void BackendManager::controlAdded(Control *control)
diff --git a/src/daemon2/BackendManager.h b/src/daemon2/BackendManager.h
index 68edd26..0eb1a26 100644
--- a/src/daemon2/BackendManager.h
+++ b/src/daemon2/BackendManager.h
@@ -30,7 +30,8 @@ class BackendManager : public QObject {
Q_OBJECT
public:
static BackendManager *instance();
- QStringList groups() const;
+ QList<ControlGroup*> groups() const;
+ ControlGroup *group(const QString &name) const;
private slots:
void controlAdded(Control *control);
private:
diff --git a/src/daemon2/CMakeLists.txt b/src/daemon2/CMakeLists.txt
index c420820..5faa5c0 100644
--- a/src/daemon2/CMakeLists.txt
+++ b/src/daemon2/CMakeLists.txt
@@ -30,6 +30,8 @@ qt4_add_dbus_adaptor( kmixd_SRCS ../dbus/org.kde.kmix.kmixd.xml
KMixDApp.h KMixDApp )
qt4_add_dbus_adaptor( kmixd_SRCS ../dbus/org.kde.kmix.control.xml
Control.h Control )
+qt4_add_dbus_adaptor( kmixd_SRCS ../dbus/org.kde.kmix.controlgroup.xml
+ ControlGroup.h ControlGroup )
kde4_add_executable(kmixd ${kmixd_SRCS} ${kmixd_backend_SRCS})
diff --git a/src/daemon2/Control.cpp b/src/daemon2/Control.cpp
index c850272..dfbcd1c 100644
--- a/src/daemon2/Control.cpp
+++ b/src/daemon2/Control.cpp
@@ -27,13 +27,17 @@ Control::Control(QObject *parent)
: QObject(parent)
{
new ControlAdaptor(this);
- QDBusConnection::sessionBus().registerObject(QString("/Controls/%1").arg(s_id), \
this);
- s_id.ref();
+ m_id = s_id.fetchAndAddRelaxed(1);
+ QDBusConnection::sessionBus().registerObject(QString("/controls/%1").arg(m_id), \
this); +}
+
+int Control::id() const
+{
+ return m_id;
}
Control::~Control()
{
- s_id.deref();
}
#include "Control.moc"
diff --git a/src/daemon2/Control.h b/src/daemon2/Control.h
index a86cce3..3832f88 100644
--- a/src/daemon2/Control.h
+++ b/src/daemon2/Control.h
@@ -48,7 +48,9 @@ public:
virtual bool isMuted() const = 0;
virtual void setMute(bool yes) = 0;
virtual bool canMute() const = 0;
+ int id() const;
private:
+ int m_id;
static QAtomicInt s_id;
};
diff --git a/src/daemon2/ControlGroup.cpp b/src/daemon2/ControlGroup.cpp
index 737ce1c..b4acfd7 100644
--- a/src/daemon2/ControlGroup.cpp
+++ b/src/daemon2/ControlGroup.cpp
@@ -18,6 +18,7 @@
* Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA \
02110-1301, USA.
*/
#include "ControlGroup.h"
+#include "controlgroupadaptor.h"
#include "Control.h"
#include <QtCore/QStringList>
#include <QtDBus/QDBusConnection>
@@ -28,13 +29,18 @@ ControlGroup::ControlGroup(const QString &displayName, QObject \
*parent) : QObject(parent)
, m_displayName(displayName)
{
- QDBusConnection::sessionBus().registerObject(QString("/groups/%1").arg(s_id), \
this);
- s_id.ref();
+ new ControlGroupAdaptor(this);
+ m_id = s_id.fetchAndAddRelaxed(1);
+ QDBusConnection::sessionBus().registerObject(QString("/groups/%1").arg(m_id), \
this); +}
+
+int ControlGroup::id() const
+{
+ return m_id;
}
ControlGroup::~ControlGroup()
{
- s_id.deref();
}
QString ControlGroup::displayName() const
@@ -44,7 +50,11 @@ QString ControlGroup::displayName() const
QStringList ControlGroup::controls() const
{
- return QStringList();
+ QStringList ret;
+ foreach(Control *control, m_controls) {
+ ret << QString("/controls/%1").arg(control->id());
+ }
+ return ret;
}
void ControlGroup::addControl(Control *control)
@@ -52,3 +62,8 @@ void ControlGroup::addControl(Control *control)
m_controls[control->displayName()] = control;
emit controlAdded(control->displayName());
}
+
+Control *ControlGroup::getControl(const QString &name) const
+{
+ return m_controls[name];
+}
diff --git a/src/daemon2/ControlGroup.h b/src/daemon2/ControlGroup.h
index c1b5775..61ea2a5 100644
--- a/src/daemon2/ControlGroup.h
+++ b/src/daemon2/ControlGroup.h
@@ -29,12 +29,14 @@ class ControlGroup : public QObject
{
Q_OBJECT
Q_PROPERTY(QString displayName READ displayName);
+ Q_PROPERTY(QStringList controls READ controls);
public:
ControlGroup(const QString &displayName, QObject *parent = 0);
~ControlGroup();
QString displayName() const;
QStringList controls() const;
Control *getControl(const QString &name) const;
+ int id() const;
public slots:
void addControl(Control *control);
signals:
@@ -42,6 +44,7 @@ signals:
private:
QHash<QString, Control*> m_controls;
QString m_displayName;
+ int m_id;
static QAtomicInt s_id;
};
diff --git a/src/daemon2/KMixDApp.cpp b/src/daemon2/KMixDApp.cpp
index dd8e804..30f8763 100644
--- a/src/daemon2/KMixDApp.cpp
+++ b/src/daemon2/KMixDApp.cpp
@@ -41,9 +41,6 @@ int KMixDApp::start()
if (QDBusConnection::sessionBus().registerService("org.kde.kmixd")) {
new KMixDAdaptor(this);
QDBusConnection::sessionBus().registerObject("/KMixD", this);
- foreach(const QString &groupName, BackendManager::instance()->groups()) {
- qDebug() << "Group:" << groupName;
- }
return exec();
}
return 1;
@@ -56,7 +53,12 @@ void KMixDApp::setMaster(const QString &masterID)
QStringList KMixDApp::mixerGroups() const
{
- return BackendManager::instance()->groups();
+ QStringList ret;
+ foreach(ControlGroup *group, BackendManager::instance()->groups()) {
+ ret << QString("/groups/%1").arg(group->id());
+ }
+ qDebug() << ret;
+ return ret;
}
QString KMixDApp::masterControl() const
diff --git a/src/gui2/CMakeLists.txt b/src/gui2/CMakeLists.txt
index cf0da39..771111f 100644
--- a/src/gui2/CMakeLists.txt
+++ b/src/gui2/CMakeLists.txt
@@ -4,10 +4,10 @@ set(kmix_KDEINIT_SRCS
KMixApp.cpp
)
-qt4_add_dbus_interface(kmix_KDEINIT_SRCS ../dbus/org.kde.kmix.mixset.xml
- mixset_interface)
-qt4_add_dbus_interface(kmix_KDEINIT_SRCS ../dbus/org.kde.kmix.mixer.xml
- mixer_interface)
+qt4_add_dbus_interface(kmix_KDEINIT_SRCS ../dbus/org.kde.kmix.kmixd.xml
+ kmixd_interface)
+qt4_add_dbus_interface(kmix_KDEINIT_SRCS ../dbus/org.kde.kmix.controlgroup.xml
+ controlgroup_interface)
qt4_add_dbus_interface(kmix_KDEINIT_SRCS ../dbus/org.kde.kmix.control.xml
control_interface)
diff --git a/src/gui2/KMixWindow.cpp b/src/gui2/KMixWindow.cpp
index 45ec42a..0bc649c 100644
--- a/src/gui2/KMixWindow.cpp
+++ b/src/gui2/KMixWindow.cpp
@@ -37,12 +37,12 @@
// KMix
#include "core/version.h"
-#include "mixset_interface.h"
-#include "mixer_interface.h"
+#include "kmixd_interface.h"
+#include "controlgroup_interface.h"
#include "control_interface.h"
const QString KMIX_DBUS_SERVICE = "org.kde.kmixd";
-const QString KMIX_DBUS_PATH = "/Mixers";
+const QString KMIX_DBUS_PATH = "/KMixD";
/* KMixWindow
* Constructs a mixer window (KMix main window)
@@ -51,17 +51,18 @@ KMixWindow::KMixWindow(QWidget* parent)
: KXmlGuiWindow(parent, Qt::WindowFlags( KDE_DEFAULT_WINDOWFLAGS | \
Qt::WindowContextHelpButtonHint) ) {
// disable delete-on-close because KMix might just sit in the background waiting \
for cards to be plugged in + qDebug() << "construct";
setAttribute(Qt::WA_DeleteOnClose, false);
- m_mixers = new org::kde::KMix::MixSet(KMIX_DBUS_SERVICE, KMIX_DBUS_PATH, \
QDBusConnection::sessionBus(), this); + m_daemon = new \
org::kde::KMix::KMixD(KMIX_DBUS_SERVICE, KMIX_DBUS_PATH, \
QDBusConnection::sessionBus(), this); initActions();
createGUI( QLatin1String( "kmixui.rc" ) );
show();
- foreach(const QString &mixerName, m_mixers->mixers()) {
- org::kde::KMix::Mixer *mixer = new org::kde::KMix::Mixer(KMIX_DBUS_SERVICE, \
mixerName, QDBusConnection::sessionBus(), this);
- qDebug() << mixer->readableName();
- foreach(const QString &controlName, mixer->controls()) {
+ foreach(const QString &groupName, m_daemon->mixerGroups()) {
+ org::kde::KMix::ControlGroup *group = new \
org::kde::KMix::ControlGroup(KMIX_DBUS_SERVICE, groupName, \
QDBusConnection::sessionBus(), this); + qDebug() << "Group:" << groupName << \
group->displayName(); + foreach(const QString &controlName, group->controls()) \
{
org::kde::KMix::Control *control = new \
org::kde::KMix::Control(KMIX_DBUS_SERVICE, controlName, \
QDBusConnection::sessionBus());
- qDebug() << control->displayName();
+ qDebug() << "Control:" << control->displayName() << control->canMute() \
<< control->mute(); }
}
}
diff --git a/src/gui2/KMixWindow.h b/src/gui2/KMixWindow.h
index cfe166a..8b9a5ca 100644
--- a/src/gui2/KMixWindow.h
+++ b/src/gui2/KMixWindow.h
@@ -30,11 +30,11 @@
#include <kxmlguiwindow.h>
// KMix
-class OrgKdeKMixMixSetInterface;
+class OrgKdeKMixKMixDInterface;
namespace org {
namespace kde {
namespace KMix {
- typedef ::OrgKdeKMixMixSetInterface MixSet;
+ typedef ::OrgKdeKMixKMixDInterface KMixD;
}
}
}
@@ -55,7 +55,7 @@ private slots:
private:
void initActions();
- org::kde::KMix::MixSet *m_mixers;
+ org::kde::KMix::KMixD *m_daemon;
KMixDockWidget *m_dockWidget;
};
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic