Index: remoting/host/chromoting_host.h |
diff --git a/remoting/host/chromoting_host.h b/remoting/host/chromoting_host.h |
index fc6daaf957acf4bea2ba89f3b3a6bccd952eb72e..f754c272b04ca6bad2ababc9c92d45e2835a9cf8 100644 |
--- a/remoting/host/chromoting_host.h |
+++ b/remoting/host/chromoting_host.h |
@@ -12,6 +12,7 @@ |
#include "remoting/base/encoder.h" |
#include "remoting/host/access_verifier.h" |
#include "remoting/host/capturer.h" |
+#include "remoting/host/client_session.h" |
#include "remoting/host/desktop_environment.h" |
#include "remoting/host/heartbeat_sender.h" |
#include "remoting/jingle_glue/jingle_client.h" |
@@ -63,7 +64,7 @@ class ScreenRecorder; |
// incoming connection. |
class ChromotingHost : public base::RefCountedThreadSafe<ChromotingHost>, |
public protocol::ConnectionToClient::EventHandler, |
- public DesktopEnvironment::EventHandler, |
+ public ClientSession::EventHandler, |
public JingleClient::Callback { |
public: |
// Factory methods that must be used to create ChromotingHost instances. |
@@ -105,9 +106,11 @@ class ChromotingHost : public base::RefCountedThreadSafe<ChromotingHost>, |
virtual void OnStateChange(JingleClient* client, JingleClient::State state); |
//////////////////////////////////////////////////////////////////////////// |
- // DesktopEnvironment::EventHandler implementations |
- virtual void LocalLoginSucceeded(); |
- virtual void LocalLoginFailed(); |
+ // ClientSession::EventHandler implementations |
+ virtual void LocalLoginSucceeded( |
+ scoped_refptr<protocol::ConnectionToClient> client); |
+ virtual void LocalLoginFailed( |
+ scoped_refptr<protocol::ConnectionToClient> client); |
// Callback for ChromotingServer. |
void OnNewClientSession( |
@@ -118,13 +121,8 @@ class ChromotingHost : public base::RefCountedThreadSafe<ChromotingHost>, |
// |config| is transferred to the object. Must be called before Start(). |
void set_protocol_config(protocol::CandidateSessionConfig* config); |
- // This getter is only used in unit test. |
- protocol::HostStub* host_stub() const; |
- |
// This setter is only used in unit test to simulate client connection. |
- void set_connection(protocol::ConnectionToClient* conn) { |
- connection_ = conn; |
- } |
+ void AddClient(ClientSession* client); |
private: |
friend class base::RefCountedThreadSafe<ChromotingHost>; |
@@ -167,9 +165,8 @@ class ChromotingHost : public base::RefCountedThreadSafe<ChromotingHost>, |
AccessVerifier access_verifier_; |
- // A ConnectionToClient manages the connectino to a remote client. |
- // TODO(hclam): Expand this to a list of clients. |
- scoped_refptr<protocol::ConnectionToClient> connection_; |
+ // The connections to remote clients. |
+ std::vector<scoped_refptr<ClientSession> > clients_; |
// Session manager for the host process. |
scoped_refptr<ScreenRecorder> recorder_; |