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_PROTOCOL_CLIENT_CONTROL_DISPATCHER_H_ | 5 #ifndef REMOTING_PROTOCOL_CLIENT_CONTROL_DISPATCHER_H_ |
6 #define REMOTING_PROTOCOL_CLIENT_CONTROL_DISPATCHER_H_ | 6 #define REMOTING_PROTOCOL_CLIENT_CONTROL_DISPATCHER_H_ |
7 | 7 |
8 #include "base/memory/ref_counted.h" | 8 #include "base/memory/ref_counted.h" |
9 #include "remoting/protocol/buffered_socket_writer.h" | 9 #include "remoting/protocol/buffered_socket_writer.h" |
10 #include "remoting/protocol/channel_dispatcher_base.h" | 10 #include "remoting/protocol/channel_dispatcher_base.h" |
(...skipping 21 matching lines...) Expand all Loading... |
32 | 32 |
33 // ClipboardStub implementation. | 33 // ClipboardStub implementation. |
34 virtual void InjectClipboardEvent(const ClipboardEvent& event) OVERRIDE; | 34 virtual void InjectClipboardEvent(const ClipboardEvent& event) OVERRIDE; |
35 | 35 |
36 // HostStub implementation. | 36 // HostStub implementation. |
37 virtual void NotifyClientResolution( | 37 virtual void NotifyClientResolution( |
38 const ClientResolution& resolution) OVERRIDE; | 38 const ClientResolution& resolution) OVERRIDE; |
39 virtual void ControlVideo(const VideoControl& video_control) OVERRIDE; | 39 virtual void ControlVideo(const VideoControl& video_control) OVERRIDE; |
40 virtual void ControlAudio(const AudioControl& audio_control) OVERRIDE; | 40 virtual void ControlAudio(const AudioControl& audio_control) OVERRIDE; |
41 virtual void SetCapabilities(const Capabilities& capabilities) OVERRIDE; | 41 virtual void SetCapabilities(const Capabilities& capabilities) OVERRIDE; |
| 42 virtual void RequestPairing( |
| 43 const PairingRequest& pairing_request, |
| 44 const base::Callback<void(const PairingReply&)>&) OVERRIDE; |
42 | 45 |
43 // Sets the ClientStub that will be called for each incoming control | 46 // Sets the ClientStub that will be called for each incoming control |
44 // message. |client_stub| must outlive this object. | 47 // message. |client_stub| must outlive this object. |
45 void set_client_stub(ClientStub* client_stub) { client_stub_ = client_stub; } | 48 void set_client_stub(ClientStub* client_stub) { client_stub_ = client_stub; } |
46 | 49 |
47 // Sets the ClipboardStub that will be called for each incoming clipboard | 50 // Sets the ClipboardStub that will be called for each incoming clipboard |
48 // message. |clipboard_stub| must outlive this object. | 51 // message. |clipboard_stub| must outlive this object. |
49 void set_clipboard_stub(ClipboardStub* clipboard_stub) { | 52 void set_clipboard_stub(ClipboardStub* clipboard_stub) { |
50 clipboard_stub_ = clipboard_stub; | 53 clipboard_stub_ = clipboard_stub; |
51 } | 54 } |
52 | 55 |
53 protected: | 56 protected: |
54 // ChannelDispatcherBase overrides. | 57 // ChannelDispatcherBase overrides. |
55 virtual void OnInitialized() OVERRIDE; | 58 virtual void OnInitialized() OVERRIDE; |
56 | 59 |
57 private: | 60 private: |
58 void OnMessageReceived(scoped_ptr<ControlMessage> message, | 61 void OnMessageReceived(scoped_ptr<ControlMessage> message, |
59 const base::Closure& done_task); | 62 const base::Closure& done_task); |
60 | 63 |
61 ClientStub* client_stub_; | 64 ClientStub* client_stub_; |
62 ClipboardStub* clipboard_stub_; | 65 ClipboardStub* clipboard_stub_; |
63 | 66 |
64 ProtobufMessageReader<ControlMessage> reader_; | 67 ProtobufMessageReader<ControlMessage> reader_; |
65 BufferedSocketWriter writer_; | 68 BufferedSocketWriter writer_; |
66 | 69 |
| 70 base::Callback<void(const PairingReply&)> latest_pairing_callback_; |
| 71 |
67 DISALLOW_COPY_AND_ASSIGN(ClientControlDispatcher); | 72 DISALLOW_COPY_AND_ASSIGN(ClientControlDispatcher); |
68 }; | 73 }; |
69 | 74 |
70 } // namespace protocol | 75 } // namespace protocol |
71 } // namespace remoting | 76 } // namespace remoting |
72 | 77 |
73 #endif // REMOTING_PROTOCOL_CLIENT_CONTROL_DISPATCHER_H_ | 78 #endif // REMOTING_PROTOCOL_CLIENT_CONTROL_DISPATCHER_H_ |
OLD | NEW |