| 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_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 <cstdint> |
| 9 | |
| 10 #include <map> | 9 #include <map> |
| 11 #include <memory> | 10 #include <memory> |
| 12 | 11 |
| 13 #include "base/macros.h" | 12 #include "base/macros.h" |
| 14 #include "base/memory/ref_counted.h" | 13 #include "base/memory/ref_counted.h" |
| 15 #include "base/memory/shared_memory_handle.h" | 14 #include "base/memory/shared_memory_handle.h" |
| 16 #include "base/memory/weak_ptr.h" | 15 #include "base/memory/weak_ptr.h" |
| 17 #include "base/process/process.h" | 16 #include "base/process/process.h" |
| 18 #include "base/sequenced_task_runner_helpers.h" | 17 #include "base/sequenced_task_runner_helpers.h" |
| 19 #include "ipc/ipc_listener.h" | 18 #include "ipc/ipc_listener.h" |
| (...skipping 17 matching lines...) Expand all Loading... |
| 37 | 36 |
| 38 namespace webrtc { | 37 namespace webrtc { |
| 39 class MouseCursor; | 38 class MouseCursor; |
| 40 } // namespace webrtc | 39 } // namespace webrtc |
| 41 | 40 |
| 42 struct SerializedDesktopFrame; | 41 struct SerializedDesktopFrame; |
| 43 | 42 |
| 44 namespace remoting { | 43 namespace remoting { |
| 45 | 44 |
| 46 class AudioPacket; | 45 class AudioPacket; |
| 47 class ClientSession; | |
| 48 class ClientSessionControl; | 46 class ClientSessionControl; |
| 49 class DesktopSessionConnector; | 47 class DesktopSessionConnector; |
| 50 struct DesktopSessionProxyTraits; | 48 struct DesktopSessionProxyTraits; |
| 51 class IpcAudioCapturer; | 49 class IpcAudioCapturer; |
| 52 class IpcMouseCursorMonitor; | 50 class IpcMouseCursorMonitor; |
| 53 class IpcVideoFrameCapturer; | 51 class IpcVideoFrameCapturer; |
| 54 class ScreenControls; | 52 class ScreenControls; |
| 55 | 53 |
| 56 // DesktopSessionProxy is created by an owning DesktopEnvironment to route | 54 // DesktopSessionProxy is created by an owning DesktopEnvironment to route |
| 57 // requests from stubs to the DesktopSessionAgent instance through | 55 // requests from stubs to the DesktopSessionAgent instance through |
| (...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 129 void InjectKeyEvent(const protocol::KeyEvent& event); | 127 void InjectKeyEvent(const protocol::KeyEvent& event); |
| 130 void InjectTextEvent(const protocol::TextEvent& event); | 128 void InjectTextEvent(const protocol::TextEvent& event); |
| 131 void InjectMouseEvent(const protocol::MouseEvent& event); | 129 void InjectMouseEvent(const protocol::MouseEvent& event); |
| 132 void InjectTouchEvent(const protocol::TouchEvent& event); | 130 void InjectTouchEvent(const protocol::TouchEvent& event); |
| 133 void StartInputInjector( | 131 void StartInputInjector( |
| 134 std::unique_ptr<protocol::ClipboardStub> client_clipboard); | 132 std::unique_ptr<protocol::ClipboardStub> client_clipboard); |
| 135 | 133 |
| 136 // API used to implement the SessionController interface. | 134 // API used to implement the SessionController interface. |
| 137 void SetScreenResolution(const ScreenResolution& resolution); | 135 void SetScreenResolution(const ScreenResolution& resolution); |
| 138 | 136 |
| 137 uint32_t desktop_session_id() const { return desktop_session_id_; } |
| 138 |
| 139 private: | 139 private: |
| 140 friend class base::DeleteHelper<DesktopSessionProxy>; | 140 friend class base::DeleteHelper<DesktopSessionProxy>; |
| 141 friend struct DesktopSessionProxyTraits; | 141 friend struct DesktopSessionProxyTraits; |
| 142 | 142 |
| 143 class IpcSharedBufferCore; | 143 class IpcSharedBufferCore; |
| 144 class IpcSharedBuffer; | 144 class IpcSharedBuffer; |
| 145 typedef std::map<int, scoped_refptr<IpcSharedBufferCore> > SharedBuffers; | 145 typedef std::map<int, scoped_refptr<IpcSharedBufferCore> > SharedBuffers; |
| 146 | 146 |
| 147 ~DesktopSessionProxy() override; | 147 ~DesktopSessionProxy() override; |
| 148 | 148 |
| (...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 219 ScreenResolution screen_resolution_; | 219 ScreenResolution screen_resolution_; |
| 220 | 220 |
| 221 // True if |this| has been connected to the desktop session. | 221 // True if |this| has been connected to the desktop session. |
| 222 bool is_desktop_session_connected_; | 222 bool is_desktop_session_connected_; |
| 223 | 223 |
| 224 bool virtual_terminal_; | 224 bool virtual_terminal_; |
| 225 | 225 |
| 226 // True if touch events are supported by the desktop session. | 226 // True if touch events are supported by the desktop session. |
| 227 bool supports_touch_events_; | 227 bool supports_touch_events_; |
| 228 | 228 |
| 229 // Stores the session id for the proxied desktop process. |
| 230 uint32_t desktop_session_id_ = UINT32_MAX; |
| 231 |
| 229 DISALLOW_COPY_AND_ASSIGN(DesktopSessionProxy); | 232 DISALLOW_COPY_AND_ASSIGN(DesktopSessionProxy); |
| 230 }; | 233 }; |
| 231 | 234 |
| 232 // Destroys |DesktopSessionProxy| instances on the caller's thread. | 235 // Destroys |DesktopSessionProxy| instances on the caller's thread. |
| 233 struct DesktopSessionProxyTraits { | 236 struct DesktopSessionProxyTraits { |
| 234 static void Destruct(const DesktopSessionProxy* desktop_session_proxy); | 237 static void Destruct(const DesktopSessionProxy* desktop_session_proxy); |
| 235 }; | 238 }; |
| 236 | 239 |
| 237 } // namespace remoting | 240 } // namespace remoting |
| 238 | 241 |
| 239 #endif // REMOTING_HOST_DESKTOP_SESSION_PROXY_H_ | 242 #endif // REMOTING_HOST_DESKTOP_SESSION_PROXY_H_ |
| OLD | NEW |