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 // Interface of a host that receives commands from a Chromoting client. | 5 // Interface of a host that receives commands from a Chromoting client. |
6 // | 6 // |
7 // This interface handles control messages defined in control.proto. | 7 // This interface handles control messages defined in control.proto. |
8 | 8 |
9 #ifndef REMOTING_PROTOCOL_HOST_STUB_H_ | 9 #ifndef REMOTING_PROTOCOL_HOST_STUB_H_ |
10 #define REMOTING_PROTOCOL_HOST_STUB_H_ | 10 #define REMOTING_PROTOCOL_HOST_STUB_H_ |
11 | 11 |
12 #include "base/basictypes.h" | 12 #include "base/basictypes.h" |
13 | 13 |
14 namespace remoting { | 14 namespace remoting { |
15 namespace protocol { | 15 namespace protocol { |
16 | 16 |
| 17 class Capabilities; |
17 class ClientResolution; | 18 class ClientResolution; |
18 class VideoControl; | 19 class VideoControl; |
19 class AudioControl; | 20 class AudioControl; |
20 | 21 |
21 class HostStub { | 22 class HostStub { |
22 public: | 23 public: |
23 HostStub() {} | 24 HostStub() {} |
24 | 25 |
25 // Notification of the client dimensions and pixel density. | 26 // Notification of the client dimensions and pixel density. |
26 // This may be used to resize the host display to match the client area. | 27 // This may be used to resize the host display to match the client area. |
27 virtual void NotifyClientResolution(const ClientResolution& resolution) = 0; | 28 virtual void NotifyClientResolution(const ClientResolution& resolution) = 0; |
28 | 29 |
29 // Configures video update properties. Currently only pausing & resuming the | 30 // Configures video update properties. Currently only pausing & resuming the |
30 // video channel is supported. | 31 // video channel is supported. |
31 virtual void ControlVideo(const VideoControl& video_control) = 0; | 32 virtual void ControlVideo(const VideoControl& video_control) = 0; |
32 | 33 |
33 // Configures audio properties. Currently only pausing & resuming the audio | 34 // Configures audio properties. Currently only pausing & resuming the audio |
34 // channel is supported. | 35 // channel is supported. |
35 virtual void ControlAudio(const AudioControl& audio_control) = 0; | 36 virtual void ControlAudio(const AudioControl& audio_control) = 0; |
36 | 37 |
| 38 // Passes the set of capabilities supported by the client to the host. |
| 39 virtual void SetCapabilities(const Capabilities& capabilities) = 0; |
| 40 |
37 protected: | 41 protected: |
38 virtual ~HostStub() {} | 42 virtual ~HostStub() {} |
39 | 43 |
40 private: | 44 private: |
41 DISALLOW_COPY_AND_ASSIGN(HostStub); | 45 DISALLOW_COPY_AND_ASSIGN(HostStub); |
42 }; | 46 }; |
43 | 47 |
44 } // namespace protocol | 48 } // namespace protocol |
45 } // namespace remoting | 49 } // namespace remoting |
46 | 50 |
47 #endif // REMOTING_PROTOCOL_HOST_STUB_H_ | 51 #endif // REMOTING_PROTOCOL_HOST_STUB_H_ |
OLD | NEW |