abstract-interface.h Source File

| Home · All Classes · All Namespaces · Modules · Functions · Files

abstract-interface.h
1
23 #ifndef _TelepathyQt_abstract_interface_h_HEADER_GUARD_
24 #define _TelepathyQt_abstract_interface_h_HEADER_GUARD_
25
26 #ifndef IN_TP_QT_HEADER
27 #error IN_TP_QT_HEADER
28 #endif
29
30 #include <TelepathyQt/Global>
31
32 #include <QDBusAbstractInterface>
33
34 namespace Tp
35 {
36
37 class DBusProxy;
38 class PendingVariant;
39 class PendingOperation;
40 class PendingVariantMap;
41
42 class TP_QT_EXPORT AbstractInterface : public QDBusAbstractInterface
43 {
44 Q_OBJECT
45 Q_DISABLE_COPY(AbstractInterface)
46
47 public:
48 virtual ~AbstractInterface();
49
50 bool isValid() const;
51 QString invalidationReason() const;
52 QString invalidationMessage() const;
53
54 void setMonitorProperties(bool monitorProperties);
55 bool isMonitoringProperties() const;
56
57 Q_SIGNALS:
58 void propertiesChanged(const QVariantMap &changedProperties,
59 const QStringList &invalidatedProperties);
60
61 protected Q_SLOTS:
62 virtual void invalidate(Tp::DBusProxy *proxy,
63 const QString &error, const QString &message);
64
65 protected:
66 AbstractInterface(DBusProxy *proxy, const QLatin1String &interface);
67 AbstractInterface(const QString &busName, const QString &path,
68 const QLatin1String &interface, const QDBusConnection &connection,
69 QObject *parent);
70
71 PendingVariant *internalRequestProperty(const QString &name) const;
72 PendingOperation *internalSetProperty(const QString &name, const QVariant &newValue);
73 PendingVariantMap *internalRequestAllProperties() const;
74
75 private Q_SLOTS:
76 TP_QT_NO_EXPORT void onPropertiesChanged(const QString &interface,
77 const QVariantMap &changedProperties,
78 const QStringList &invalidatedProperties);
79
80 private:
81 struct Private;
82 friend struct Private;
83 Private *mPriv;
84 };
85
86 } // Tp
87
88 #endif
Tp::DBusProxy
The DBusProxy class is a base class representing a remote object available over D-Bus.
Definition: dbus-proxy.h:42
Tp::PendingOperation
The PendingOperation class is a base class for pending asynchronous operations.
Definition: pending-operation.h:45
Tp::AbstractInterface
The AbstractInterface class is the base class for all client side D-Bus interfaces, allowing access to remote methods/properties/signals.
Definition: abstract-interface.h:42
Tp::PendingVariant
The PendingVariant class is a generic subclass of PendingOperation representing a pending D-Bus metho...
Definition: pending-variant.h:38
Tp::PendingVariantMap
The PendingVariantMap class is a generic subclass of PendingOperation representing a pending D-Bus me...
Definition: pending-variant-map.h:38