00001
00023 #ifndef _TelepathyQt_pending_captcha_h_HEADER_GUARD_
00024 #define _TelepathyQt_pending_captcha_h_HEADER_GUARD_
00025
00026 #ifndef IN_TP_QT_HEADER
00027 #error IN_TP_QT_HEADER
00028 #endif
00029
00030 #include <TelepathyQt/PendingOperation>
00031
00032 #include <TelepathyQt/CaptchaAuthentication>
00033
00034 #include <QPair>
00035
00036 namespace Tp
00037 {
00038
00039 class Captcha;
00040
00041 class TP_QT_EXPORT PendingCaptchas : public PendingOperation
00042 {
00043 Q_OBJECT
00044 Q_DISABLE_COPY(PendingCaptchas)
00045
00046 public:
00047 virtual ~PendingCaptchas();
00048
00049 Captcha captcha() const;
00050 QList<Captcha> captchaList() const;
00051 bool requiresMultipleCaptchas() const;
00052
00053 private Q_SLOTS:
00054 TP_QT_NO_EXPORT void onChannelInvalidated(Tp::DBusProxy *proxy,
00055 const QString &errorName, const QString &errorMessage);
00056 TP_QT_NO_EXPORT void onGetCaptchasWatcherFinished(QDBusPendingCallWatcher *watcher);
00057 TP_QT_NO_EXPORT void onGetCaptchaDataWatcherFinished(QDBusPendingCallWatcher *watcher);
00058
00059 private:
00060 TP_QT_NO_EXPORT PendingCaptchas(const QDBusPendingCall &call,
00061 const QStringList &preferredMimeTypes,
00062 CaptchaAuthentication::ChallengeTypes preferredTypes,
00063 const CaptchaAuthenticationPtr &channel);
00064 TP_QT_NO_EXPORT PendingCaptchas(
00065 const QString &errorName, const QString &errorMessage,
00066 const CaptchaAuthenticationPtr &channel);
00067
00068 struct Private;
00069 friend class CaptchaAuthentication;
00070 friend struct Private;
00071 Private *mPriv;
00072 };
00073
00074 }
00075
00076 #endif // TP_PENDING_CAPTCHA_H