00001
00023 #ifndef _TelepathyQt4_abstract_interface_h_HEADER_GUARD_
00024 #define _TelepathyQt4_abstract_interface_h_HEADER_GUARD_
00025
00026 #ifndef IN_TELEPATHY_QT4_HEADER
00027 #error IN_TELEPATHY_QT4_HEADER
00028 #endif
00029
00030 #include <TelepathyQt4/Global>
00031
00032 #include <QDBusAbstractInterface>
00033
00034 namespace Tp
00035 {
00036
00037 class DBusProxy;
00038 class PendingVariant;
00039 class PendingOperation;
00040 class PendingVariantMap;
00041
00042 class TELEPATHY_QT4_EXPORT AbstractInterface : public QDBusAbstractInterface
00043 {
00044 Q_OBJECT
00045 Q_DISABLE_COPY(AbstractInterface)
00046
00047 public:
00048 virtual ~AbstractInterface();
00049
00050 bool isValid() const;
00051 QString invalidationReason() const;
00052 QString invalidationMessage() const;
00053
00054 protected Q_SLOTS:
00055 virtual void invalidate(Tp::DBusProxy *proxy,
00056 const QString &error, const QString &message);
00057
00058 protected:
00059 AbstractInterface(DBusProxy *proxy, const QLatin1String &interface);
00060 AbstractInterface(const QString &busName, const QString &path,
00061 const QLatin1String &interface, const QDBusConnection &connection,
00062 QObject *parent);
00063
00064 PendingVariant *internalRequestProperty(const QString &name) const;
00065 PendingOperation *internalSetProperty(const QString &name, const QVariant &newValue);
00066 PendingVariantMap *internalRequestAllProperties() const;
00067
00068 private:
00069 struct Private;
00070 friend struct Private;
00071 Private *mPriv;
00072 };
00073
00074 }
00075
00076 #endif