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_CHROMOTING_MESSAGES_H_ | 5 #ifndef REMOTING_HOST_CHROMOTING_MESSAGES_H_ |
6 #define REMOTING_HOST_CHROMOTING_MESSAGES_H_ | 6 #define REMOTING_HOST_CHROMOTING_MESSAGES_H_ |
7 | 7 |
8 #include "ipc/ipc_platform_file.h" | 8 #include "ipc/ipc_platform_file.h" |
9 #include "net/base/ip_endpoint.h" | 9 #include "net/base/ip_endpoint.h" |
10 #include "remoting/host/chromoting_param_traits.h" | 10 #include "remoting/host/chromoting_param_traits.h" |
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
131 // Notifies the network process that a shared buffer has been created. | 131 // Notifies the network process that a shared buffer has been created. |
132 IPC_MESSAGE_CONTROL3(ChromotingDesktopNetworkMsg_CreateSharedBuffer, | 132 IPC_MESSAGE_CONTROL3(ChromotingDesktopNetworkMsg_CreateSharedBuffer, |
133 int /* id */, | 133 int /* id */, |
134 IPC::PlatformFileForTransit /* handle */, | 134 IPC::PlatformFileForTransit /* handle */, |
135 uint32 /* size */) | 135 uint32 /* size */) |
136 | 136 |
137 // Request the network process to stop using a shared buffer. | 137 // Request the network process to stop using a shared buffer. |
138 IPC_MESSAGE_CONTROL1(ChromotingDesktopNetworkMsg_ReleaseSharedBuffer, | 138 IPC_MESSAGE_CONTROL1(ChromotingDesktopNetworkMsg_ReleaseSharedBuffer, |
139 int /* id */) | 139 int /* id */) |
140 | 140 |
141 IPC_STRUCT_TRAITS_BEGIN(webrtc::MouseCursorShape) | |
142 IPC_STRUCT_TRAITS_MEMBER(size) | |
143 IPC_STRUCT_TRAITS_MEMBER(hotspot) | |
144 IPC_STRUCT_TRAITS_MEMBER(data) | |
145 IPC_STRUCT_TRAITS_END() | |
146 | |
147 // Serialized webrtc::DesktopFrame. | 141 // Serialized webrtc::DesktopFrame. |
148 IPC_STRUCT_BEGIN(SerializedDesktopFrame) | 142 IPC_STRUCT_BEGIN(SerializedDesktopFrame) |
149 // ID of the shared memory buffer containing the pixels. | 143 // ID of the shared memory buffer containing the pixels. |
150 IPC_STRUCT_MEMBER(int, shared_buffer_id) | 144 IPC_STRUCT_MEMBER(int, shared_buffer_id) |
151 | 145 |
152 // Width of a single row of pixels in bytes. | 146 // Width of a single row of pixels in bytes. |
153 IPC_STRUCT_MEMBER(int, bytes_per_row) | 147 IPC_STRUCT_MEMBER(int, bytes_per_row) |
154 | 148 |
155 // Captured region. | 149 // Captured region. |
156 IPC_STRUCT_MEMBER(std::vector<webrtc::DesktopRect>, dirty_region) | 150 IPC_STRUCT_MEMBER(std::vector<webrtc::DesktopRect>, dirty_region) |
157 | 151 |
158 // Dimensions of the buffer in pixels. | 152 // Dimensions of the buffer in pixels. |
159 IPC_STRUCT_MEMBER(webrtc::DesktopSize, dimensions) | 153 IPC_STRUCT_MEMBER(webrtc::DesktopSize, dimensions) |
160 | 154 |
161 // Time spent in capture. Unit is in milliseconds. | 155 // Time spent in capture. Unit is in milliseconds. |
162 IPC_STRUCT_MEMBER(int, capture_time_ms) | 156 IPC_STRUCT_MEMBER(int, capture_time_ms) |
163 | 157 |
164 // Sequence number supplied by client for performance tracking. | 158 // Sequence number supplied by client for performance tracking. |
165 IPC_STRUCT_MEMBER(int64, client_sequence_number) | 159 IPC_STRUCT_MEMBER(int64, client_sequence_number) |
166 | 160 |
167 // DPI for this frame. | 161 // DPI for this frame. |
168 IPC_STRUCT_MEMBER(webrtc::DesktopVector, dpi) | 162 IPC_STRUCT_MEMBER(webrtc::DesktopVector, dpi) |
169 IPC_STRUCT_END() | 163 IPC_STRUCT_END() |
170 | 164 |
171 // Notifies the network process that a shared buffer has been created. | 165 // Notifies the network process that a shared buffer has been created. |
172 IPC_MESSAGE_CONTROL1(ChromotingDesktopNetworkMsg_CaptureCompleted, | 166 IPC_MESSAGE_CONTROL1(ChromotingDesktopNetworkMsg_CaptureCompleted, |
173 SerializedDesktopFrame /* frame */ ) | 167 SerializedDesktopFrame /* frame */ ) |
174 | 168 |
175 // Carries a cursor share update from the desktop session agent to the client. | 169 // Carries a cursor share update from the desktop session agent to the client. |
176 IPC_MESSAGE_CONTROL1(ChromotingDesktopNetworkMsg_CursorShapeChanged, | 170 // N.B. |webrtc::MouseCursor| is immutable which makes it non-serializable by |
177 webrtc::MouseCursorShape /* cursor_shape */ ) | 171 // the IPC library. We work around this limitation by passing a scoped_ptr |
| 172 // instead. |cursor| must be non-NULL. |
| 173 IPC_MESSAGE_CONTROL1(ChromotingDesktopNetworkMsg_MouseCursor, |
| 174 scoped_ptr<webrtc::MouseCursor> /* cursor */ ) |
178 | 175 |
179 // Carries a clipboard event from the desktop session agent to the client. | 176 // Carries a clipboard event from the desktop session agent to the client. |
180 // |serialized_event| is a serialized protocol::ClipboardEvent. | 177 // |serialized_event| is a serialized protocol::ClipboardEvent. |
181 IPC_MESSAGE_CONTROL1(ChromotingDesktopNetworkMsg_InjectClipboardEvent, | 178 IPC_MESSAGE_CONTROL1(ChromotingDesktopNetworkMsg_InjectClipboardEvent, |
182 std::string /* serialized_event */ ) | 179 std::string /* serialized_event */ ) |
183 | 180 |
184 // Requests the network process to terminate the client session. | 181 // Requests the network process to terminate the client session. |
185 IPC_MESSAGE_CONTROL0(ChromotingDesktopNetworkMsg_DisconnectSession) | 182 IPC_MESSAGE_CONTROL0(ChromotingDesktopNetworkMsg_DisconnectSession) |
186 | 183 |
187 // Carries an audio packet from the desktop session agent to the client. | 184 // Carries an audio packet from the desktop session agent to the client. |
(...skipping 24 matching lines...) Expand all Loading... |
212 std::string /* serialized_event */ ) | 209 std::string /* serialized_event */ ) |
213 | 210 |
214 // Carries a mouse event from the client to the desktop session agent. | 211 // Carries a mouse event from the client to the desktop session agent. |
215 // |serialized_event| is a serialized protocol::MouseEvent. | 212 // |serialized_event| is a serialized protocol::MouseEvent. |
216 IPC_MESSAGE_CONTROL1(ChromotingNetworkDesktopMsg_InjectMouseEvent, | 213 IPC_MESSAGE_CONTROL1(ChromotingNetworkDesktopMsg_InjectMouseEvent, |
217 std::string /* serialized_event */ ) | 214 std::string /* serialized_event */ ) |
218 | 215 |
219 // Changes the screen resolution in the desktop session. | 216 // Changes the screen resolution in the desktop session. |
220 IPC_MESSAGE_CONTROL1(ChromotingNetworkDesktopMsg_SetScreenResolution, | 217 IPC_MESSAGE_CONTROL1(ChromotingNetworkDesktopMsg_SetScreenResolution, |
221 remoting::ScreenResolution /* resolution */) | 218 remoting::ScreenResolution /* resolution */) |
OLD | NEW |