00001
00023 #ifndef _TelepathyQt4_pending_contact_attributes_h_HEADER_GUARD_
00024 #define _TelepathyQt4_pending_contact_attributes_h_HEADER_GUARD_
00025
00026 #ifndef IN_TELEPATHY_QT4_HEADER
00027 #error IN_TELEPATHY_QT4_HEADER
00028 #endif
00029
00030 #include <TelepathyQt4/PendingOperation>
00031 #include <TelepathyQt4/Types>
00032 #include <TelepathyQt4/Constants>
00033 #include <TelepathyQt4/Types>
00034
00035 namespace Tp
00036 {
00037
00038 class ReferencedHandles;
00039
00040 class TELEPATHY_QT4_EXPORT PendingContactAttributes : public PendingOperation
00041 {
00042 Q_OBJECT
00043 Q_DISABLE_COPY(PendingContactAttributes)
00044
00045 public:
00046 ~PendingContactAttributes();
00047
00048 ConnectionPtr connection() const;
00049
00050 const UIntList &contactsRequested() const;
00051 const QStringList &interfacesRequested() const;
00052 bool shouldReference() const;
00053
00054 ReferencedHandles validHandles() const;
00055 UIntList invalidHandles() const;
00056 ContactAttributesMap attributes() const;
00057
00058 private Q_SLOTS:
00059 TELEPATHY_QT4_NO_EXPORT void onCallFinished(QDBusPendingCallWatcher *watcher);
00060
00061 private:
00062 friend class ConnectionLowlevel;
00063
00064 TELEPATHY_QT4_NO_EXPORT PendingContactAttributes(const ConnectionPtr &connection,
00065 const UIntList &handles,
00066 const QStringList &interfaces, bool reference);
00067
00068 TELEPATHY_QT4_NO_EXPORT void failImmediately(const QString &error, const QString &errorMessage);
00069
00070 struct Private;
00071 friend struct Private;
00072 Private *mPriv;
00073 };
00074
00075 }
00076
00077 #endif