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. 4 5#ifndef REMOTING_PROTOCOL_FAKE_SESSION_H_ 6#define REMOTING_PROTOCOL_FAKE_SESSION_H_ 7 8#include <map> 9#include <string> 10#include <vector> 11 12#include "base/memory/scoped_ptr.h" 13#include "remoting/protocol/fake_stream_socket.h" 14#include "remoting/protocol/session.h" 15 16namespace remoting { 17namespace protocol { 18 19extern const char kTestJid[]; 20 21// FakeSession is a dummy protocol::Session that uses FakeStreamSocket for all 22// channels. 23class FakeSession : public Session { 24 public: 25 FakeSession(); 26 virtual ~FakeSession(); 27 28 EventHandler* event_handler() { return event_handler_; } 29 30 void set_error(ErrorCode error) { error_ = error; } 31 32 bool is_closed() const { return closed_; } 33 34 FakeStreamChannelFactory& fake_channel_factory() { return channel_factory_; } 35 36 // Session interface. 37 virtual void SetEventHandler(EventHandler* event_handler) OVERRIDE; 38 virtual ErrorCode error() OVERRIDE; 39 virtual const std::string& jid() OVERRIDE; 40 virtual const CandidateSessionConfig* candidate_config() OVERRIDE; 41 virtual const SessionConfig& config() OVERRIDE; 42 virtual void set_config(const SessionConfig& config) OVERRIDE; 43 virtual StreamChannelFactory* GetTransportChannelFactory() OVERRIDE; 44 virtual StreamChannelFactory* GetMultiplexedChannelFactory() OVERRIDE; 45 virtual void Close() OVERRIDE; 46 47 public: 48 EventHandler* event_handler_; 49 scoped_ptr<const CandidateSessionConfig> candidate_config_; 50 SessionConfig config_; 51 52 FakeStreamChannelFactory channel_factory_; 53 54 std::string jid_; 55 56 ErrorCode error_; 57 bool closed_; 58 59 DISALLOW_COPY_AND_ASSIGN(FakeSession); 60}; 61 62} // namespace protocol 63} // namespace remoting 64 65#endif // REMOTING_PROTOCOL_FAKE_SESSION_H_ 66