OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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_ICE_CONNECTION_TO_CLIENT_H_ | 5 #ifndef REMOTING_PROTOCOL_ICE_CONNECTION_TO_CLIENT_H_ |
6 #define REMOTING_PROTOCOL_ICE_CONNECTION_TO_CLIENT_H_ | 6 #define REMOTING_PROTOCOL_ICE_CONNECTION_TO_CLIENT_H_ |
7 | 7 |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 | 9 |
10 #include <memory> | 10 #include <memory> |
(...skipping 29 matching lines...) Expand all Loading... |
40 scoped_refptr<TransportContext> transport_context, | 40 scoped_refptr<TransportContext> transport_context, |
41 scoped_refptr<base::SingleThreadTaskRunner> video_encode_task_runner, | 41 scoped_refptr<base::SingleThreadTaskRunner> video_encode_task_runner, |
42 scoped_refptr<base::SingleThreadTaskRunner> audio_task_runner); | 42 scoped_refptr<base::SingleThreadTaskRunner> audio_task_runner); |
43 ~IceConnectionToClient() override; | 43 ~IceConnectionToClient() override; |
44 | 44 |
45 // ConnectionToClient interface. | 45 // ConnectionToClient interface. |
46 void SetEventHandler( | 46 void SetEventHandler( |
47 ConnectionToClient::EventHandler* event_handler) override; | 47 ConnectionToClient::EventHandler* event_handler) override; |
48 Session* session() override; | 48 Session* session() override; |
49 void Disconnect(ErrorCode error) override; | 49 void Disconnect(ErrorCode error) override; |
50 void OnInputEventReceived(int64_t timestamp) override; | |
51 std::unique_ptr<VideoStream> StartVideoStream( | 50 std::unique_ptr<VideoStream> StartVideoStream( |
52 std::unique_ptr<webrtc::DesktopCapturer> desktop_capturer) override; | 51 std::unique_ptr<webrtc::DesktopCapturer> desktop_capturer) override; |
53 std::unique_ptr<AudioStream> StartAudioStream( | 52 std::unique_ptr<AudioStream> StartAudioStream( |
54 std::unique_ptr<AudioSource> audio_source) override; | 53 std::unique_ptr<AudioSource> audio_source) override; |
55 ClientStub* client_stub() override; | 54 ClientStub* client_stub() override; |
56 void set_clipboard_stub(ClipboardStub* clipboard_stub) override; | 55 void set_clipboard_stub(ClipboardStub* clipboard_stub) override; |
57 void set_host_stub(HostStub* host_stub) override; | 56 void set_host_stub(HostStub* host_stub) override; |
58 void set_input_stub(InputStub* input_stub) override; | 57 void set_input_stub(InputStub* input_stub) override; |
59 | 58 |
60 private: | 59 private: |
61 // Session::EventHandler interface. | 60 // Session::EventHandler interface. |
62 void OnSessionStateChange(Session::State state) override; | 61 void OnSessionStateChange(Session::State state) override; |
63 | 62 |
64 // IceTransport::EventHandler interface. | 63 // IceTransport::EventHandler interface. |
65 void OnIceTransportRouteChange(const std::string& channel_name, | 64 void OnIceTransportRouteChange(const std::string& channel_name, |
66 const TransportRoute& route) override; | 65 const TransportRoute& route) override; |
67 void OnIceTransportError(ErrorCode error) override; | 66 void OnIceTransportError(ErrorCode error) override; |
68 | 67 |
69 // ChannelDispatcherBase::EventHandler interface. | 68 // ChannelDispatcherBase::EventHandler interface. |
70 void OnChannelInitialized(ChannelDispatcherBase* channel_dispatcher) override; | 69 void OnChannelInitialized(ChannelDispatcherBase* channel_dispatcher) override; |
71 void OnChannelClosed(ChannelDispatcherBase* channel_dispatcher) override; | 70 void OnChannelClosed(ChannelDispatcherBase* channel_dispatcher) override; |
72 | 71 |
| 72 // Callback passed to |event_dispatcher_| |
| 73 void OnInputEventReceived(int64_t timestamp); |
| 74 |
73 void NotifyIfChannelsReady(); | 75 void NotifyIfChannelsReady(); |
74 | 76 |
75 void CloseChannels(); | 77 void CloseChannels(); |
76 | 78 |
77 base::ThreadChecker thread_checker_; | 79 base::ThreadChecker thread_checker_; |
78 | 80 |
79 // Event handler for handling events sent from this object. | 81 // Event handler for handling events sent from this object. |
80 ConnectionToClient::EventHandler* event_handler_; | 82 ConnectionToClient::EventHandler* event_handler_; |
81 | 83 |
82 std::unique_ptr<Session> session_; | 84 std::unique_ptr<Session> session_; |
83 | 85 |
84 scoped_refptr<base::SingleThreadTaskRunner> video_encode_task_runner_; | 86 scoped_refptr<base::SingleThreadTaskRunner> video_encode_task_runner_; |
85 scoped_refptr<base::SingleThreadTaskRunner> audio_task_runner_; | 87 scoped_refptr<base::SingleThreadTaskRunner> audio_task_runner_; |
86 | 88 |
87 IceTransport transport_; | 89 IceTransport transport_; |
88 | 90 |
89 std::unique_ptr<HostControlDispatcher> control_dispatcher_; | 91 std::unique_ptr<HostControlDispatcher> control_dispatcher_; |
90 std::unique_ptr<HostEventDispatcher> event_dispatcher_; | 92 std::unique_ptr<HostEventDispatcher> event_dispatcher_; |
91 std::unique_ptr<HostVideoDispatcher> video_dispatcher_; | 93 std::unique_ptr<HostVideoDispatcher> video_dispatcher_; |
92 std::unique_ptr<AudioWriter> audio_writer_; | 94 std::unique_ptr<AudioWriter> audio_writer_; |
93 | 95 |
94 DISALLOW_COPY_AND_ASSIGN(IceConnectionToClient); | 96 DISALLOW_COPY_AND_ASSIGN(IceConnectionToClient); |
95 }; | 97 }; |
96 | 98 |
97 } // namespace protocol | 99 } // namespace protocol |
98 } // namespace remoting | 100 } // namespace remoting |
99 | 101 |
100 #endif // REMOTING_PROTOCOL_ICE_CONNECTION_TO_CLIENT_H_ | 102 #endif // REMOTING_PROTOCOL_ICE_CONNECTION_TO_CLIENT_H_ |
OLD | NEW |