| Index: remoting/protocol/negotiating_host_authenticator.h
 | 
| diff --git a/remoting/protocol/negotiating_host_authenticator.h b/remoting/protocol/negotiating_host_authenticator.h
 | 
| index 4ff53f6abdd4f99108f67cd6fe5cb1fafd0121c8..588fee2bf0e390bdb640bfb801cd15337a9712d3 100644
 | 
| --- a/remoting/protocol/negotiating_host_authenticator.h
 | 
| +++ b/remoting/protocol/negotiating_host_authenticator.h
 | 
| @@ -15,6 +15,7 @@
 | 
|  #include "remoting/protocol/authentication_method.h"
 | 
|  #include "remoting/protocol/authenticator.h"
 | 
|  #include "remoting/protocol/negotiating_authenticator_base.h"
 | 
| +#include "remoting/protocol/third_party_host_authenticator.h"
 | 
|  
 | 
|  namespace remoting {
 | 
|  
 | 
| @@ -26,14 +27,20 @@ namespace protocol {
 | 
|  // See comments in negotiating_authenticator_base.h for a general explanation.
 | 
|  class NegotiatingHostAuthenticator : public NegotiatingAuthenticatorBase {
 | 
|   public:
 | 
| +  virtual ~NegotiatingHostAuthenticator();
 | 
| +
 | 
|    // Creates a host authenticator, using a fixed shared secret/PIN hash.
 | 
| -  NegotiatingHostAuthenticator(
 | 
| +  static scoped_ptr<Authenticator> CreateWithSharedSecret(
 | 
|        const std::string& local_cert,
 | 
|        scoped_refptr<RsaKeyPair> key_pair,
 | 
|        const std::string& shared_secret_hash,
 | 
|        AuthenticationMethod::HashFunction hash_function);
 | 
|  
 | 
| -  virtual ~NegotiatingHostAuthenticator();
 | 
| +  // Creates a host authenticator, using third party authentication.
 | 
| +  static scoped_ptr<Authenticator> CreateWithThirdPartyAuth(
 | 
| +      const std::string& local_cert,
 | 
| +      scoped_refptr<RsaKeyPair> key_pair,
 | 
| +      scoped_ptr<ThirdPartyHostAuthenticator::TokenValidator> token_validator);
 | 
|  
 | 
|    // Overriden from Authenticator.
 | 
|    virtual void ProcessMessage(const buzz::XmlElement* message,
 | 
| @@ -41,6 +48,10 @@ class NegotiatingHostAuthenticator : public NegotiatingAuthenticatorBase {
 | 
|    virtual scoped_ptr<buzz::XmlElement> GetNextMessage() OVERRIDE;
 | 
|  
 | 
|   private:
 | 
| +  NegotiatingHostAuthenticator(
 | 
| +      const std::string& local_cert,
 | 
| +      scoped_refptr<RsaKeyPair> key_pair);
 | 
| +
 | 
|    // (Asynchronously) creates an authenticator, and stores it in
 | 
|    // |current_authenticator_|. Authenticators that can be started in either
 | 
|    // state will be created in |preferred_initial_state|.
 | 
| @@ -50,8 +61,13 @@ class NegotiatingHostAuthenticator : public NegotiatingAuthenticatorBase {
 | 
|  
 | 
|    std::string local_cert_;
 | 
|    scoped_refptr<RsaKeyPair> local_key_pair_;
 | 
| +
 | 
| +  // Used only for shared secret host authenticators.
 | 
|    std::string shared_secret_hash_;
 | 
|  
 | 
| +  // Used only for third party host authenticators.
 | 
| +  scoped_ptr<ThirdPartyHostAuthenticator::TokenValidator> token_validator_;
 | 
| +
 | 
|    DISALLOW_COPY_AND_ASSIGN(NegotiatingHostAuthenticator);
 | 
|  };
 | 
|  
 | 
| 
 |