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 |