| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef REMOTING_HOST_CLIENT_SESSION_H_ | 5 #ifndef REMOTING_HOST_CLIENT_SESSION_H_ |
| 6 #define REMOTING_HOST_CLIENT_SESSION_H_ | 6 #define REMOTING_HOST_CLIENT_SESSION_H_ |
| 7 | 7 |
| 8 #include <list> | 8 #include <string> |
| 9 | 9 |
| 10 #include "base/memory/ref_counted.h" | 10 #include "base/memory/ref_counted.h" |
| 11 #include "base/memory/weak_ptr.h" | 11 #include "base/memory/weak_ptr.h" |
| 12 #include "base/sequenced_task_runner_helpers.h" | 12 #include "base/sequenced_task_runner_helpers.h" |
| 13 #include "base/threading/non_thread_safe.h" | 13 #include "base/threading/non_thread_safe.h" |
| 14 #include "base/time.h" | 14 #include "base/time.h" |
| 15 #include "base/timer.h" | 15 #include "base/timer.h" |
| 16 #include "remoting/base/capabilities.h" |
| 16 #include "remoting/host/client_session_control.h" | 17 #include "remoting/host/client_session_control.h" |
| 17 #include "remoting/host/mouse_clamping_filter.h" | 18 #include "remoting/host/mouse_clamping_filter.h" |
| 18 #include "remoting/host/remote_input_filter.h" | 19 #include "remoting/host/remote_input_filter.h" |
| 19 #include "remoting/protocol/clipboard_echo_filter.h" | 20 #include "remoting/protocol/clipboard_echo_filter.h" |
| 20 #include "remoting/protocol/clipboard_filter.h" | 21 #include "remoting/protocol/clipboard_filter.h" |
| 21 #include "remoting/protocol/clipboard_stub.h" | 22 #include "remoting/protocol/clipboard_stub.h" |
| 22 #include "remoting/protocol/connection_to_client.h" | 23 #include "remoting/protocol/connection_to_client.h" |
| 23 #include "remoting/protocol/host_stub.h" | 24 #include "remoting/protocol/host_stub.h" |
| 24 #include "remoting/protocol/input_event_tracker.h" | 25 #include "remoting/protocol/input_event_tracker.h" |
| 25 #include "remoting/protocol/input_filter.h" | 26 #include "remoting/protocol/input_filter.h" |
| (...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 97 const base::TimeDelta& max_duration); | 98 const base::TimeDelta& max_duration); |
| 98 virtual ~ClientSession(); | 99 virtual ~ClientSession(); |
| 99 | 100 |
| 100 // protocol::HostStub interface. | 101 // protocol::HostStub interface. |
| 101 virtual void NotifyClientResolution( | 102 virtual void NotifyClientResolution( |
| 102 const protocol::ClientResolution& resolution) OVERRIDE; | 103 const protocol::ClientResolution& resolution) OVERRIDE; |
| 103 virtual void ControlVideo( | 104 virtual void ControlVideo( |
| 104 const protocol::VideoControl& video_control) OVERRIDE; | 105 const protocol::VideoControl& video_control) OVERRIDE; |
| 105 virtual void ControlAudio( | 106 virtual void ControlAudio( |
| 106 const protocol::AudioControl& audio_control) OVERRIDE; | 107 const protocol::AudioControl& audio_control) OVERRIDE; |
| 108 virtual void SetCapabilities( |
| 109 const protocol::Capabilities& capabilities) OVERRIDE; |
| 107 | 110 |
| 108 // protocol::ConnectionToClient::EventHandler interface. | 111 // protocol::ConnectionToClient::EventHandler interface. |
| 109 virtual void OnConnectionAuthenticated( | 112 virtual void OnConnectionAuthenticated( |
| 110 protocol::ConnectionToClient* connection) OVERRIDE; | 113 protocol::ConnectionToClient* connection) OVERRIDE; |
| 111 virtual void OnConnectionChannelsConnected( | 114 virtual void OnConnectionChannelsConnected( |
| 112 protocol::ConnectionToClient* connection) OVERRIDE; | 115 protocol::ConnectionToClient* connection) OVERRIDE; |
| 113 virtual void OnConnectionClosed(protocol::ConnectionToClient* connection, | 116 virtual void OnConnectionClosed(protocol::ConnectionToClient* connection, |
| 114 protocol::ErrorCode error) OVERRIDE; | 117 protocol::ErrorCode error) OVERRIDE; |
| 115 virtual void OnSequenceNumberUpdated( | 118 virtual void OnSequenceNumberUpdated( |
| 116 protocol::ConnectionToClient* connection, int64 sequence_number) OVERRIDE; | 119 protocol::ConnectionToClient* connection, int64 sequence_number) OVERRIDE; |
| (...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 202 scoped_refptr<base::SingleThreadTaskRunner> input_task_runner_; | 205 scoped_refptr<base::SingleThreadTaskRunner> input_task_runner_; |
| 203 scoped_refptr<base::SingleThreadTaskRunner> video_capture_task_runner_; | 206 scoped_refptr<base::SingleThreadTaskRunner> video_capture_task_runner_; |
| 204 scoped_refptr<base::SingleThreadTaskRunner> video_encode_task_runner_; | 207 scoped_refptr<base::SingleThreadTaskRunner> video_encode_task_runner_; |
| 205 scoped_refptr<base::SingleThreadTaskRunner> network_task_runner_; | 208 scoped_refptr<base::SingleThreadTaskRunner> network_task_runner_; |
| 206 scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner_; | 209 scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner_; |
| 207 | 210 |
| 208 // Schedulers for audio and video capture. | 211 // Schedulers for audio and video capture. |
| 209 scoped_refptr<AudioScheduler> audio_scheduler_; | 212 scoped_refptr<AudioScheduler> audio_scheduler_; |
| 210 scoped_refptr<VideoScheduler> video_scheduler_; | 213 scoped_refptr<VideoScheduler> video_scheduler_; |
| 211 | 214 |
| 215 // The set of all capabilities supported by the client. |
| 216 scoped_ptr<Capabilities> client_capabilities_; |
| 217 |
| 218 // The set of all capabilities supported by the host. |
| 219 Capabilities host_capabilities_; |
| 220 |
| 212 // Used to inject mouse and keyboard input and handle clipboard events. | 221 // Used to inject mouse and keyboard input and handle clipboard events. |
| 213 scoped_ptr<InputInjector> input_injector_; | 222 scoped_ptr<InputInjector> input_injector_; |
| 214 | 223 |
| 215 // Used to apply client-requested changes in screen resolution. | 224 // Used to apply client-requested changes in screen resolution. |
| 216 scoped_ptr<ScreenControls> screen_controls_; | 225 scoped_ptr<ScreenControls> screen_controls_; |
| 217 | 226 |
| 218 DISALLOW_COPY_AND_ASSIGN(ClientSession); | 227 DISALLOW_COPY_AND_ASSIGN(ClientSession); |
| 219 }; | 228 }; |
| 220 | 229 |
| 221 } // namespace remoting | 230 } // namespace remoting |
| 222 | 231 |
| 223 #endif // REMOTING_HOST_CLIENT_SESSION_H_ | 232 #endif // REMOTING_HOST_CLIENT_SESSION_H_ |
| OLD | NEW |