aboutsummaryrefslogtreecommitdiff
path: root/src/QMenuModel/qdbusmenumodel.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/QMenuModel/qdbusmenumodel.h')
-rw-r--r--src/QMenuModel/qdbusmenumodel.h58
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