1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef REMOTING_PROTOCOL_FAKE_AUTHENTICATOR_H_
6 #define REMOTING_PROTOCOL_FAKE_AUTHENTICATOR_H_
8 #include "base/callback.h"
9 #include "base/memory/weak_ptr.h"
10 #include "remoting/protocol/authenticator.h"
11 #include "remoting/protocol/channel_authenticator.h"
16 class FakeChannelAuthenticator : public ChannelAuthenticator {
18 FakeChannelAuthenticator(bool accept, bool async);
19 virtual ~FakeChannelAuthenticator();
21 // ChannelAuthenticator interface.
22 virtual void SecureAndAuthenticate(
23 scoped_ptr<net::StreamSocket> socket,
24 const DoneCallback& done_callback) OVERRIDE;
29 scoped_ptr<net::StreamSocket> socket);
31 void OnAuthBytesWritten(int result);
32 void OnAuthBytesRead(int result);
37 scoped_ptr<net::StreamSocket> socket_;
38 DoneCallback done_callback_;
41 bool did_write_bytes_;
43 base::WeakPtrFactory<FakeChannelAuthenticator> weak_factory_;
45 DISALLOW_COPY_AND_ASSIGN(FakeChannelAuthenticator);
48 class FakeAuthenticator : public Authenticator {
61 FakeAuthenticator(Type type, int round_trips, Action action, bool async);
62 virtual ~FakeAuthenticator();
64 // Authenticator interface.
65 virtual State state() const OVERRIDE;
66 virtual RejectionReason rejection_reason() const OVERRIDE;
67 virtual void ProcessMessage(const buzz::XmlElement* message,
68 const base::Closure& resume_callback) OVERRIDE;
69 virtual scoped_ptr<buzz::XmlElement> GetNextMessage() OVERRIDE;
70 virtual scoped_ptr<ChannelAuthenticator>
71 CreateChannelAuthenticator() const OVERRIDE;
79 // Total number of messages that have been processed.
82 DISALLOW_COPY_AND_ASSIGN(FakeAuthenticator);
85 class FakeHostAuthenticatorFactory : public AuthenticatorFactory {
87 FakeHostAuthenticatorFactory(
88 int round_trips, FakeAuthenticator::Action action, bool async);
89 virtual ~FakeHostAuthenticatorFactory();
91 // AuthenticatorFactory interface.
92 virtual scoped_ptr<Authenticator> CreateAuthenticator(
93 const std::string& local_jid,
94 const std::string& remote_jid,
95 const buzz::XmlElement* first_message) OVERRIDE;
99 FakeAuthenticator::Action action_;
102 DISALLOW_COPY_AND_ASSIGN(FakeHostAuthenticatorFactory);
105 } // namespace protocol
106 } // namespace remoting
108 #endif // REMOTING_PROTOCOL_FAKE_AUTHENTICATOR_H_