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/host/client_session_control.h" | 16 #include "remoting/host/client_session_control.h" |
17 #include "remoting/host/mouse_clamping_filter.h" | 17 #include "remoting/host/mouse_clamping_filter.h" |
18 #include "remoting/host/remote_input_filter.h" | 18 #include "remoting/host/remote_input_filter.h" |
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
97 const base::TimeDelta& max_duration); | 97 const base::TimeDelta& max_duration); |
98 virtual ~ClientSession(); | 98 virtual ~ClientSession(); |
99 | 99 |
100 // protocol::HostStub interface. | 100 // protocol::HostStub interface. |
101 virtual void NotifyClientResolution( | 101 virtual void NotifyClientResolution( |
102 const protocol::ClientResolution& resolution) OVERRIDE; | 102 const protocol::ClientResolution& resolution) OVERRIDE; |
103 virtual void ControlVideo( | 103 virtual void ControlVideo( |
104 const protocol::VideoControl& video_control) OVERRIDE; | 104 const protocol::VideoControl& video_control) OVERRIDE; |
105 virtual void ControlAudio( | 105 virtual void ControlAudio( |
106 const protocol::AudioControl& audio_control) OVERRIDE; | 106 const protocol::AudioControl& audio_control) OVERRIDE; |
| 107 virtual void SetCapabilities( |
| 108 const protocol::Capabilities& capabilities) OVERRIDE; |
107 | 109 |
108 // protocol::ConnectionToClient::EventHandler interface. | 110 // protocol::ConnectionToClient::EventHandler interface. |
109 virtual void OnConnectionAuthenticated( | 111 virtual void OnConnectionAuthenticated( |
110 protocol::ConnectionToClient* connection) OVERRIDE; | 112 protocol::ConnectionToClient* connection) OVERRIDE; |
111 virtual void OnConnectionChannelsConnected( | 113 virtual void OnConnectionChannelsConnected( |
112 protocol::ConnectionToClient* connection) OVERRIDE; | 114 protocol::ConnectionToClient* connection) OVERRIDE; |
113 virtual void OnConnectionClosed(protocol::ConnectionToClient* connection, | 115 virtual void OnConnectionClosed(protocol::ConnectionToClient* connection, |
114 protocol::ErrorCode error) OVERRIDE; | 116 protocol::ErrorCode error) OVERRIDE; |
115 virtual void OnSequenceNumberUpdated( | 117 virtual void OnSequenceNumberUpdated( |
116 protocol::ConnectionToClient* connection, int64 sequence_number) OVERRIDE; | 118 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_; | 204 scoped_refptr<base::SingleThreadTaskRunner> input_task_runner_; |
203 scoped_refptr<base::SingleThreadTaskRunner> video_capture_task_runner_; | 205 scoped_refptr<base::SingleThreadTaskRunner> video_capture_task_runner_; |
204 scoped_refptr<base::SingleThreadTaskRunner> video_encode_task_runner_; | 206 scoped_refptr<base::SingleThreadTaskRunner> video_encode_task_runner_; |
205 scoped_refptr<base::SingleThreadTaskRunner> network_task_runner_; | 207 scoped_refptr<base::SingleThreadTaskRunner> network_task_runner_; |
206 scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner_; | 208 scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner_; |
207 | 209 |
208 // Schedulers for audio and video capture. | 210 // Schedulers for audio and video capture. |
209 scoped_refptr<AudioScheduler> audio_scheduler_; | 211 scoped_refptr<AudioScheduler> audio_scheduler_; |
210 scoped_refptr<VideoScheduler> video_scheduler_; | 212 scoped_refptr<VideoScheduler> video_scheduler_; |
211 | 213 |
| 214 // The set of all capabilities supported by the client. |
| 215 scoped_ptr<std::string> client_capabilities_; |
| 216 |
| 217 // The set of all capabilities supported by the host. |
| 218 std::string host_capabilities_; |
| 219 |
212 // Used to inject mouse and keyboard input and handle clipboard events. | 220 // Used to inject mouse and keyboard input and handle clipboard events. |
213 scoped_ptr<InputInjector> input_injector_; | 221 scoped_ptr<InputInjector> input_injector_; |
214 | 222 |
215 // Used to apply client-requested changes in screen resolution. | 223 // Used to apply client-requested changes in screen resolution. |
216 scoped_ptr<ScreenControls> screen_controls_; | 224 scoped_ptr<ScreenControls> screen_controls_; |
217 | 225 |
218 DISALLOW_COPY_AND_ASSIGN(ClientSession); | 226 DISALLOW_COPY_AND_ASSIGN(ClientSession); |
219 }; | 227 }; |
220 | 228 |
221 } // namespace remoting | 229 } // namespace remoting |
222 | 230 |
223 #endif // REMOTING_HOST_CLIENT_SESSION_H_ | 231 #endif // REMOTING_HOST_CLIENT_SESSION_H_ |
OLD | NEW |