Home | History | Annotate | Download | only in protocol
      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 
     16 namespace remoting {
     17 namespace protocol {
     18 
     19 extern const char kTestJid[];
     20 
     21 // FakeSession is a dummy protocol::Session that uses FakeStreamSocket for all
     22 // channels.
     23 class 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