summaryrefslogtreecommitdiffstats
path: root/remoting/host/chromoting_host.h
diff options
context:
space:
mode:
Diffstat (limited to 'remoting/host/chromoting_host.h')
-rw-r--r--remoting/host/chromoting_host.h23
1 files changed, 10 insertions, 13 deletions
diff --git a/remoting/host/chromoting_host.h b/remoting/host/chromoting_host.h
index fc6daaf..f754c27 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_;