Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(181)

Side by Side Diff: remoting/host/desktop_session_proxy.h

Issue 1864213002: Convert //remoting to use std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Mac IWYU Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « remoting/host/desktop_session_agent.cc ('k') | remoting/host/desktop_session_proxy.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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_DESKTOP_SESSION_PROXY_H_ 5 #ifndef REMOTING_HOST_DESKTOP_SESSION_PROXY_H_
6 #define REMOTING_HOST_DESKTOP_SESSION_PROXY_H_ 6 #define REMOTING_HOST_DESKTOP_SESSION_PROXY_H_
7 7
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <map> 10 #include <map>
11 #include <memory>
11 12
12 #include "base/macros.h" 13 #include "base/macros.h"
13 #include "base/memory/ref_counted.h" 14 #include "base/memory/ref_counted.h"
14 #include "base/memory/scoped_ptr.h"
15 #include "base/memory/shared_memory_handle.h" 15 #include "base/memory/shared_memory_handle.h"
16 #include "base/memory/weak_ptr.h" 16 #include "base/memory/weak_ptr.h"
17 #include "base/process/process.h" 17 #include "base/process/process.h"
18 #include "base/sequenced_task_runner_helpers.h" 18 #include "base/sequenced_task_runner_helpers.h"
19 #include "ipc/ipc_listener.h" 19 #include "ipc/ipc_listener.h"
20 #include "ipc/ipc_platform_file.h" 20 #include "ipc/ipc_platform_file.h"
21 #include "remoting/host/audio_capturer.h" 21 #include "remoting/host/audio_capturer.h"
22 #include "remoting/host/desktop_environment.h" 22 #include "remoting/host/desktop_environment.h"
23 #include "remoting/host/screen_resolution.h" 23 #include "remoting/host/screen_resolution.h"
24 #include "remoting/proto/event.pb.h" 24 #include "remoting/proto/event.pb.h"
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
75 DesktopSessionProxy( 75 DesktopSessionProxy(
76 scoped_refptr<base::SingleThreadTaskRunner> audio_capture_task_runner, 76 scoped_refptr<base::SingleThreadTaskRunner> audio_capture_task_runner,
77 scoped_refptr<base::SingleThreadTaskRunner> caller_task_runner, 77 scoped_refptr<base::SingleThreadTaskRunner> caller_task_runner,
78 scoped_refptr<base::SingleThreadTaskRunner> io_task_runner, 78 scoped_refptr<base::SingleThreadTaskRunner> io_task_runner,
79 base::WeakPtr<ClientSessionControl> client_session_control, 79 base::WeakPtr<ClientSessionControl> client_session_control,
80 base::WeakPtr<DesktopSessionConnector> desktop_session_connector, 80 base::WeakPtr<DesktopSessionConnector> desktop_session_connector,
81 bool virtual_terminal, 81 bool virtual_terminal,
82 bool supports_touch_events); 82 bool supports_touch_events);
83 83
84 // Mirrors DesktopEnvironment. 84 // Mirrors DesktopEnvironment.
85 scoped_ptr<AudioCapturer> CreateAudioCapturer(); 85 std::unique_ptr<AudioCapturer> CreateAudioCapturer();
86 scoped_ptr<InputInjector> CreateInputInjector(); 86 std::unique_ptr<InputInjector> CreateInputInjector();
87 scoped_ptr<ScreenControls> CreateScreenControls(); 87 std::unique_ptr<ScreenControls> CreateScreenControls();
88 scoped_ptr<webrtc::DesktopCapturer> CreateVideoCapturer(); 88 std::unique_ptr<webrtc::DesktopCapturer> CreateVideoCapturer();
89 scoped_ptr<webrtc::MouseCursorMonitor> CreateMouseCursorMonitor(); 89 std::unique_ptr<webrtc::MouseCursorMonitor> CreateMouseCursorMonitor();
90 std::string GetCapabilities() const; 90 std::string GetCapabilities() const;
91 void SetCapabilities(const std::string& capabilities); 91 void SetCapabilities(const std::string& capabilities);
92 92
93 // IPC::Listener implementation. 93 // IPC::Listener implementation.
94 bool OnMessageReceived(const IPC::Message& message) override; 94 bool OnMessageReceived(const IPC::Message& message) override;
95 void OnChannelConnected(int32_t peer_pid) override; 95 void OnChannelConnected(int32_t peer_pid) override;
96 void OnChannelError() override; 96 void OnChannelError() override;
97 97
98 // Connects to the desktop session agent. 98 // Connects to the desktop session agent.
99 bool AttachToDesktop(base::Process desktop_process, 99 bool AttachToDesktop(base::Process desktop_process,
(...skipping 23 matching lines...) Expand all
123 // Called on the |video_capture_task_runner_| thread. 123 // Called on the |video_capture_task_runner_| thread.
124 void SetMouseCursorMonitor( 124 void SetMouseCursorMonitor(
125 const base::WeakPtr<IpcMouseCursorMonitor>& mouse_cursor_monitor); 125 const base::WeakPtr<IpcMouseCursorMonitor>& mouse_cursor_monitor);
126 126
127 // APIs used to implement the InputInjector interface. 127 // APIs used to implement the InputInjector interface.
128 void InjectClipboardEvent(const protocol::ClipboardEvent& event); 128 void InjectClipboardEvent(const protocol::ClipboardEvent& event);
129 void InjectKeyEvent(const protocol::KeyEvent& event); 129 void InjectKeyEvent(const protocol::KeyEvent& event);
130 void InjectTextEvent(const protocol::TextEvent& event); 130 void InjectTextEvent(const protocol::TextEvent& event);
131 void InjectMouseEvent(const protocol::MouseEvent& event); 131 void InjectMouseEvent(const protocol::MouseEvent& event);
132 void InjectTouchEvent(const protocol::TouchEvent& event); 132 void InjectTouchEvent(const protocol::TouchEvent& event);
133 void StartInputInjector(scoped_ptr<protocol::ClipboardStub> client_clipboard); 133 void StartInputInjector(
134 std::unique_ptr<protocol::ClipboardStub> client_clipboard);
134 135
135 // API used to implement the SessionController interface. 136 // API used to implement the SessionController interface.
136 void SetScreenResolution(const ScreenResolution& resolution); 137 void SetScreenResolution(const ScreenResolution& resolution);
137 138
138 private: 139 private:
139 friend class base::DeleteHelper<DesktopSessionProxy>; 140 friend class base::DeleteHelper<DesktopSessionProxy>;
140 friend struct DesktopSessionProxyTraits; 141 friend struct DesktopSessionProxyTraits;
141 142
142 class IpcSharedBufferCore; 143 class IpcSharedBufferCore;
143 class IpcSharedBuffer; 144 class IpcSharedBuffer;
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
178 // |caller_task_runner_|. 179 // |caller_task_runner_|.
179 // - background I/O is served on |io_task_runner_|. 180 // - background I/O is served on |io_task_runner_|.
180 scoped_refptr<base::SingleThreadTaskRunner> audio_capture_task_runner_; 181 scoped_refptr<base::SingleThreadTaskRunner> audio_capture_task_runner_;
181 scoped_refptr<base::SingleThreadTaskRunner> caller_task_runner_; 182 scoped_refptr<base::SingleThreadTaskRunner> caller_task_runner_;
182 scoped_refptr<base::SingleThreadTaskRunner> io_task_runner_; 183 scoped_refptr<base::SingleThreadTaskRunner> io_task_runner_;
183 184
184 // Points to the audio capturer receiving captured audio packets. 185 // Points to the audio capturer receiving captured audio packets.
185 base::WeakPtr<IpcAudioCapturer> audio_capturer_; 186 base::WeakPtr<IpcAudioCapturer> audio_capturer_;
186 187
187 // Points to the client stub passed to StartInputInjector(). 188 // Points to the client stub passed to StartInputInjector().
188 scoped_ptr<protocol::ClipboardStub> client_clipboard_; 189 std::unique_ptr<protocol::ClipboardStub> client_clipboard_;
189 190
190 // Used to disconnect the client session. 191 // Used to disconnect the client session.
191 base::WeakPtr<ClientSessionControl> client_session_control_; 192 base::WeakPtr<ClientSessionControl> client_session_control_;
192 193
193 // Used to create a desktop session and receive notifications every time 194 // Used to create a desktop session and receive notifications every time
194 // the desktop process is replaced. 195 // the desktop process is replaced.
195 base::WeakPtr<DesktopSessionConnector> desktop_session_connector_; 196 base::WeakPtr<DesktopSessionConnector> desktop_session_connector_;
196 197
197 // Points to the video capturer receiving captured video frames. 198 // Points to the video capturer receiving captured video frames.
198 base::WeakPtr<IpcVideoFrameCapturer> video_capturer_; 199 base::WeakPtr<IpcVideoFrameCapturer> video_capturer_;
199 200
200 // Points to the mouse cursor monitor receiving mouse cursor changes. 201 // Points to the mouse cursor monitor receiving mouse cursor changes.
201 base::WeakPtr<IpcMouseCursorMonitor> mouse_cursor_monitor_; 202 base::WeakPtr<IpcMouseCursorMonitor> mouse_cursor_monitor_;
202 203
203 // IPC channel to the desktop session agent. 204 // IPC channel to the desktop session agent.
204 scoped_ptr<IPC::ChannelProxy> desktop_channel_; 205 std::unique_ptr<IPC::ChannelProxy> desktop_channel_;
205 206
206 // Handle of the desktop process. 207 // Handle of the desktop process.
207 base::Process desktop_process_; 208 base::Process desktop_process_;
208 209
209 int pending_capture_frame_requests_; 210 int pending_capture_frame_requests_;
210 211
211 // Shared memory buffers by Id. Each buffer is owned by the corresponding 212 // Shared memory buffers by Id. Each buffer is owned by the corresponding
212 // frame. 213 // frame.
213 SharedBuffers shared_buffers_; 214 SharedBuffers shared_buffers_;
214 215
(...skipping 13 matching lines...) Expand all
228 }; 229 };
229 230
230 // Destroys |DesktopSessionProxy| instances on the caller's thread. 231 // Destroys |DesktopSessionProxy| instances on the caller's thread.
231 struct DesktopSessionProxyTraits { 232 struct DesktopSessionProxyTraits {
232 static void Destruct(const DesktopSessionProxy* desktop_session_proxy); 233 static void Destruct(const DesktopSessionProxy* desktop_session_proxy);
233 }; 234 };
234 235
235 } // namespace remoting 236 } // namespace remoting
236 237
237 #endif // REMOTING_HOST_DESKTOP_SESSION_PROXY_H_ 238 #endif // REMOTING_HOST_DESKTOP_SESSION_PROXY_H_
OLDNEW
« no previous file with comments | « remoting/host/desktop_session_agent.cc ('k') | remoting/host/desktop_session_proxy.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698