diff options
author | Renato Araujo Oliveira Filho <renato.filho@canonical.com> | 2012-09-06 16:43:27 -0300 |
---|---|---|
committer | Renato Araujo Oliveira Filho <renato.filho@canonical.com> | 2012-09-06 16:43:27 -0300 |
commit | 31f8103187d2e27b1bb76eaed10dc9c9be226c90 (patch) | |
tree | 5b0d6a0a6bf07aaf213c482c61860a2784cd678f /src/QMenuModel/qdbusmenumodel.h | |
parent | 0dfd3d4cd4214a732e4a5cda59fd4dfc082b8425 (diff) | |
download | qmenumodel-31f8103187d2e27b1bb76eaed10dc9c9be226c90.tar.gz qmenumodel-31f8103187d2e27b1bb76eaed10dc9c9be226c90.tar.bz2 qmenumodel-31f8103187d2e27b1bb76eaed10dc9c9be226c90.zip |
Implemented QDBusActionGroup.
Diffstat (limited to 'src/QMenuModel/qdbusmenumodel.h')
-rw-r--r-- | src/QMenuModel/qdbusmenumodel.h | 58 |
1 files changed, 19 insertions, 39 deletions
diff --git a/src/QMenuModel/qdbusmenumodel.h b/src/QMenuModel/qdbusmenumodel.h index e9d2461..975e72d 100644 --- a/src/QMenuModel/qdbusmenumodel.h +++ b/src/QMenuModel/qdbusmenumodel.h @@ -1,65 +1,45 @@ #ifndef QDBUSMENUMODEL_H #define QDBUSMENUMODEL_H +#include "qdbusobject.h" #include "qmenumodel.h" #include <gio/gio.h> -class QDBusMenuModel : public QMenuModel +class QDBusMenuModel : public QMenuModel, public QDbusObject { Q_OBJECT Q_PROPERTY(int busType READ busType WRITE setIntBusType NOTIFY busTypeChanged) Q_PROPERTY(QString busName READ busName WRITE setBusName NOTIFY busNameChanged) Q_PROPERTY(QString objectPath READ objectPath WRITE setObjectPath NOTIFY objectPathChanged) + Q_PROPERTY(int status READ status NOTIFY statusChanged) public: - enum BusType { - None = 0, - SessionBus, - SystemBus, - LastBusType - }; - QDBusMenuModel(QObject *parent=0); - ~QDBusMenuModel(); - - BusType busType() const; - void setBusType(BusType type); - - QString busName() const; - void setBusName(const QString &busName); + ~QDBusMenuModel(); - QString objectPath() const; - void setObjectPath(const QString &busName); - - bool isConnected() const; +Q_SIGNALS: + void busTypeChanged(); + void busNameChanged(); + void objectPathChanged(); + void statusChanged(); public Q_SLOTS: - void connect(); - void disconnect(); + void start(); + void stop(); +protected: + virtual void serviceAppear(GDBusConnection *connection); + virtual void serviceVanish(GDBusConnection *connection); -Q_SIGNALS: - void busTypeChanged(BusType type); - void busNameChanged(const QString &busNameChanged); - void objectPathChanged(const QString &objectPath); - - void connected(); - void disconnected(); - void connectionError(const QString &errorMessage); + virtual void busTypeChanged(BusType type); + virtual void busNameChanged(const QString &busNameChanged); + virtual void objectPathChanged(const QString &objectPath); + virtual void statusChanged(ConnectionStatus status); private: - guint m_watchId; - BusType m_busType; - QString m_busName; - QString m_objectPath; - - // workaround to support busType as int + // workaround to support int as bustType void setIntBusType(int busType); - - // glib slots - static void onServiceAppeared(GDBusConnection *connection, const gchar *name, const gchar *name_owner, gpointer data); - static void onServiceFanished(GDBusConnection *connection, const gchar *name, gpointer data); }; #endif |