1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- /*
- * Copyright 2004 The WebRTC Project Authors. All rights reserved.
- *
- * Use of this source code is governed by a BSD-style license
- * that can be found in the LICENSE file in the root of the source
- * tree. An additional intellectual property rights grant can be found
- * in the file PATENTS. All contributing project authors may
- * be found in the AUTHORS file in the root of the source tree.
- */
- #ifndef THIRD_PARTY_LIBJINGLE_XMPP_XMPP_PREXMPPAUTH_H_
- #define THIRD_PARTY_LIBJINGLE_XMPP_XMPP_PREXMPPAUTH_H_
- #include "third_party/libjingle_xmpp/xmpp/saslhandler.h"
- #include "third_party/webrtc/rtc_base/third_party/sigslot/sigslot.h"
- namespace jingle_xmpp {
- class Jid;
- class SaslMechanism;
- class CaptchaChallenge {
- public:
- CaptchaChallenge() : captcha_needed_(false) {}
- CaptchaChallenge(const std::string& token, const std::string& url)
- : captcha_needed_(true), captcha_token_(token), captcha_image_url_(url) {
- }
- bool captcha_needed() const { return captcha_needed_; }
- const std::string& captcha_token() const { return captcha_token_; }
- // This url is relative to the gaia server. Once we have better tools
- // for cracking URLs, we should probably make this a full URL
- const std::string& captcha_image_url() const { return captcha_image_url_; }
- private:
- bool captcha_needed_;
- std::string captcha_token_;
- std::string captcha_image_url_;
- };
- class PreXmppAuth : public SaslHandler {
- public:
- virtual ~PreXmppAuth() {}
- virtual void StartPreXmppAuth(
- const Jid& jid,
- const std::string& pass,
- const std::string& auth_mechanism,
- const std::string& auth_token) = 0;
- sigslot::signal0<> SignalAuthDone;
- virtual bool IsAuthDone() const = 0;
- virtual bool IsAuthorized() const = 0;
- virtual bool HadError() const = 0;
- virtual int GetError() const = 0;
- virtual CaptchaChallenge GetCaptchaChallenge() const = 0;
- virtual std::string GetAuthMechanism() const = 0;
- virtual std::string GetAuthToken() const = 0;
- };
- }
- #endif // THIRD_PARTY_LIBJINGLE_XMPP_XMPP_PREXMPPAUTH_H_
|