00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef _TelepathyQt4_cli_pending_contact_attributes_h_HEADER_GUARD_
00023 #define _TelepathyQt4_cli_pending_contact_attributes_h_HEADER_GUARD_
00024
00025 namespace Telepathy
00026 {
00027 namespace Client
00028 {
00029 class PendingContactAttributes;
00030 }
00031 }
00032
00033 #include <TelepathyQt4/Constants>
00034 #include <TelepathyQt4/Types>
00035 #include <TelepathyQt4/Client/PendingOperation>
00036
00037 namespace Telepathy
00038 {
00039 namespace Client
00040 {
00041 class Connection;
00042 class ReferencedHandles;
00043
00044 class PendingContactAttributes : public PendingOperation
00045 {
00046 Q_OBJECT
00047
00048 public:
00049 ~PendingContactAttributes();
00050
00051 Connection *connection() const;
00052
00053 const UIntList &contactsRequested() const;
00054 const QStringList &interfacesRequested() const;
00055 bool shouldReference() const;
00056
00057 ReferencedHandles validHandles() const;
00058 UIntList invalidHandles() const;
00059 ContactAttributesMap attributes() const;
00060
00061 private Q_SLOTS:
00062 void onCallFinished(QDBusPendingCallWatcher *watcher);
00063
00064 private:
00065 friend class Connection;
00066
00067 PendingContactAttributes(Connection *connection, const UIntList &handles,
00068 const QStringList &interfaces, bool reference);
00069 void failImmediately(const QString &error, const QString &errorMessage);
00070
00071 struct Private;
00072 friend struct Private;
00073 Private *mPriv;
00074 };
00075
00076 }
00077 }
00078
00079 #endif