15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved. 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file. 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 52a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#ifndef REMOTING_HOST_CHROMOTING_MESSAGES_H_ 62a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define REMOTING_HOST_CHROMOTING_MESSAGES_H_ 72a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 82a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "ipc/ipc_platform_file.h" 92a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "net/base/ip_endpoint.h" 1090dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#include "remoting/host/chromoting_param_traits.h" 112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "remoting/host/screen_resolution.h" 122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "remoting/protocol/transport.h" 1390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#include "third_party/webrtc/modules/desktop_capture/desktop_geometry.h" 14868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "third_party/webrtc/modules/desktop_capture/mouse_cursor_shape.h" 152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif // REMOTING_HOST_CHROMOTING_MESSAGES_H_ 175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Multiply-included message file, no traditional include guard. 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ipc/ipc_message_macros.h" 205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define IPC_MESSAGE_START ChromotingMsgStart 225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)//----------------------------------------------------------------------------- 242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Chromoting messages sent from the daemon. 255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Requests the receiving process to crash producing a crash dump. The daemon 275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// sends this message when a fatal error has been detected indicating that 282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// the receiving process misbehaves. The daemon passes the location of the code 295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// that detected the error. 302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_MESSAGE_CONTROL3(ChromotingDaemonMsg_Crash, 315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) std::string /* function_name */, 325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) std::string /* file_name */, 335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int /* line_number */) 345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)//----------------------------------------------------------------------------- 362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Chromoting messages sent from the daemon to the network process. 372a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Delivers the host configuration (and updates) to the network process. 395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)IPC_MESSAGE_CONTROL1(ChromotingDaemonNetworkMsg_Configuration, std::string) 405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 415d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)// Initializes the pairing registry on Windows. The passed key handles are 425d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)// already duplicated by the sender. 435d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)IPC_MESSAGE_CONTROL2(ChromotingDaemonNetworkMsg_InitializePairingRegistry, 445d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) IPC::PlatformFileForTransit /* privileged_key */, 455d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) IPC::PlatformFileForTransit /* unprivileged_key */) 465d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Notifies the network process that the terminal |terminal_id| has been 485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// disconnected from the desktop session. 495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)IPC_MESSAGE_CONTROL1(ChromotingDaemonNetworkMsg_TerminalDisconnected, 505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int /* terminal_id */) 515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Notifies the network process that |terminal_id| is now attached to 535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// a desktop integration process. |desktop_process| is the handle of the desktop 542a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// process. |desktop_pipe| is the client end of the desktop-to-network pipe 555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// opened. 565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// 575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Windows only: |desktop_pipe| has to be duplicated from the desktop process 585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// by the receiver of the message. |desktop_process| is already duplicated by 595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// the sender. 605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)IPC_MESSAGE_CONTROL3(ChromotingDaemonNetworkMsg_DesktopAttached, 615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int /* terminal_id */, 622a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) base::ProcessHandle /* desktop_process */, 635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IPC::PlatformFileForTransit /* desktop_pipe */) 645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)//----------------------------------------------------------------------------- 665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Chromoting messages sent from the network to the daemon process. 675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 682a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Connects the terminal |terminal_id| (i.e. a remote client) to a desktop 695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// session. 702a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_MESSAGE_CONTROL3(ChromotingNetworkHostMsg_ConnectTerminal, 712a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) int /* terminal_id */, 722a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) remoting::ScreenResolution /* resolution */, 732a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) bool /* virtual_terminal */) 745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Disconnects the terminal |terminal_id| from the desktop session it was 765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// connected to. 775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)IPC_MESSAGE_CONTROL1(ChromotingNetworkHostMsg_DisconnectTerminal, 785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int /* terminal_id */) 795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 802a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Changes the screen resolution in the given desktop session. 812a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_MESSAGE_CONTROL2(ChromotingNetworkDaemonMsg_SetScreenResolution, 822a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) int /* terminal_id */, 832a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) remoting::ScreenResolution /* resolution */) 845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 852a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Serialized remoting::protocol::TransportRoute structure. 862a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_BEGIN(SerializedTransportRoute) 872a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) IPC_STRUCT_MEMBER(int, type) 882a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) IPC_STRUCT_MEMBER(net::IPAddressNumber, remote_address) 892a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) IPC_STRUCT_MEMBER(int, remote_port) 902a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) IPC_STRUCT_MEMBER(net::IPAddressNumber, local_address) 912a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) IPC_STRUCT_MEMBER(int, local_port) 922a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_END() 932a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 942a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Hosts status notifications (see HostStatusObserver interface) sent by 952a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// IpcHostEventLogger. 962a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_MESSAGE_CONTROL1(ChromotingNetworkDaemonMsg_AccessDenied, 972a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) std::string /* jid */) 982a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 992a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_MESSAGE_CONTROL1(ChromotingNetworkDaemonMsg_ClientAuthenticated, 1002a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) std::string /* jid */) 1012a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1022a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_MESSAGE_CONTROL1(ChromotingNetworkDaemonMsg_ClientConnected, 1032a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) std::string /* jid */) 1042a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1052a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_MESSAGE_CONTROL1(ChromotingNetworkDaemonMsg_ClientDisconnected, 1062a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) std::string /* jid */) 1072a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1082a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_MESSAGE_CONTROL3(ChromotingNetworkDaemonMsg_ClientRouteChange, 1092a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) std::string /* jid */, 1102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) std::string /* channel_name */, 1112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) SerializedTransportRoute /* route */) 1122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_MESSAGE_CONTROL1(ChromotingNetworkDaemonMsg_HostStarted, 1142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) std::string /* xmpp_login */) 1152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_MESSAGE_CONTROL0(ChromotingNetworkDaemonMsg_HostShutdown) 1175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)//----------------------------------------------------------------------------- 1195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Chromoting messages sent from the desktop to the daemon process. 1205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Notifies the daemon that a desktop integration process has been initialized. 1225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// |desktop_pipe| specifies the client end of the desktop pipe. It is to be 1235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// forwarded to the desktop environment stub. 1245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// 1255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Windows only: |desktop_pipe| has to be duplicated from the desktop process by 1265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// the receiver of the message. 1275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)IPC_MESSAGE_CONTROL1(ChromotingDesktopDaemonMsg_DesktopAttached, 1285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IPC::PlatformFileForTransit /* desktop_pipe */) 1292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Asks the daemon to inject Secure Attention Sequence (SAS) in the session 1312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// where the desktop process is running. 1322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_MESSAGE_CONTROL0(ChromotingDesktopDaemonMsg_InjectSas) 1332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)//----------------------------------------------------------------------------- 1352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Chromoting messages sent from the desktop to the network process. 1362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 13790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)// Notifies the network process that a shared buffer has been created. 1382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_MESSAGE_CONTROL3(ChromotingDesktopNetworkMsg_CreateSharedBuffer, 1392a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) int /* id */, 1402a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) IPC::PlatformFileForTransit /* handle */, 1412a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) uint32 /* size */) 1422a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1432a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Request the network process to stop using a shared buffer. 1442a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_MESSAGE_CONTROL1(ChromotingDesktopNetworkMsg_ReleaseSharedBuffer, 1452a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) int /* id */) 1462a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 14790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)// Serialized webrtc::DesktopFrame. 14890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)IPC_STRUCT_BEGIN(SerializedDesktopFrame) 1492a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // ID of the shared memory buffer containing the pixels. 1502a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) IPC_STRUCT_MEMBER(int, shared_buffer_id) 1512a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1522a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // Width of a single row of pixels in bytes. 1532a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) IPC_STRUCT_MEMBER(int, bytes_per_row) 1542a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1552a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // Captured region. 15690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) IPC_STRUCT_MEMBER(std::vector<webrtc::DesktopRect>, dirty_region) 1572a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1582a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // Dimensions of the buffer in pixels. 15990dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) IPC_STRUCT_MEMBER(webrtc::DesktopSize, dimensions) 1602a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1612a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // Time spent in capture. Unit is in milliseconds. 1622a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) IPC_STRUCT_MEMBER(int, capture_time_ms) 1632a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1642a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // Sequence number supplied by client for performance tracking. 1652a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) IPC_STRUCT_MEMBER(int64, client_sequence_number) 1662a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1672a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // DPI for this frame. 16890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) IPC_STRUCT_MEMBER(webrtc::DesktopVector, dpi) 1692a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_END() 1702a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1712a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Notifies the network process that a shared buffer has been created. 1722a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_MESSAGE_CONTROL1(ChromotingDesktopNetworkMsg_CaptureCompleted, 17390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) SerializedDesktopFrame /* frame */ ) 1742a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1752a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Carries a cursor share update from the desktop session agent to the client. 1766e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)IPC_MESSAGE_CONTROL1(ChromotingDesktopNetworkMsg_MouseCursor, 1776e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) webrtc::MouseCursor /* cursor */ ) 1782a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1792a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Carries a clipboard event from the desktop session agent to the client. 1802a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// |serialized_event| is a serialized protocol::ClipboardEvent. 1812a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_MESSAGE_CONTROL1(ChromotingDesktopNetworkMsg_InjectClipboardEvent, 1822a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) std::string /* serialized_event */ ) 1832a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1842a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Requests the network process to terminate the client session. 1852a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_MESSAGE_CONTROL0(ChromotingDesktopNetworkMsg_DisconnectSession) 1862a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1872a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Carries an audio packet from the desktop session agent to the client. 1882a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// |serialized_packet| is a serialized AudioPacket. 1892a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_MESSAGE_CONTROL1(ChromotingDesktopNetworkMsg_AudioPacket, 1902a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) std::string /* serialized_packet */ ) 1912a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1922a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)//----------------------------------------------------------------------------- 1932a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Chromoting messages sent from the network to the desktop process. 1942a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1952a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Passes the client session data to the desktop session agent and starts it. 1962a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// This must be the first message received from the host. 197b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)IPC_MESSAGE_CONTROL3(ChromotingNetworkDesktopMsg_StartSessionAgent, 1982a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) std::string /* authenticated_jid */, 199b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) remoting::ScreenResolution /* resolution */, 200b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) bool /* virtual_terminal */) 2012a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 2022a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_MESSAGE_CONTROL0(ChromotingNetworkDesktopMsg_CaptureFrame) 2032a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 2042a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Carries a clipboard event from the client to the desktop session agent. 2052a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// |serialized_event| is a serialized protocol::ClipboardEvent. 2062a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_MESSAGE_CONTROL1(ChromotingNetworkDesktopMsg_InjectClipboardEvent, 2072a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) std::string /* serialized_event */ ) 2082a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 2092a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Carries a keyboard event from the client to the desktop session agent. 2102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// |serialized_event| is a serialized protocol::KeyEvent. 2112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_MESSAGE_CONTROL1(ChromotingNetworkDesktopMsg_InjectKeyEvent, 2122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) std::string /* serialized_event */ ) 2132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 214effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch// Carries a keyboard event from the client to the desktop session agent. 215effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch// |serialized_event| is a serialized protocol::TextEvent. 216effb81e5f8246d0db0270817048dc992db66e9fbBen MurdochIPC_MESSAGE_CONTROL1(ChromotingNetworkDesktopMsg_InjectTextEvent, 217effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch std::string /* serialized_event */ ) 218effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch 2192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Carries a mouse event from the client to the desktop session agent. 2202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// |serialized_event| is a serialized protocol::MouseEvent. 2212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_MESSAGE_CONTROL1(ChromotingNetworkDesktopMsg_InjectMouseEvent, 2222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) std::string /* serialized_event */ ) 2232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 2242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Changes the screen resolution in the desktop session. 2252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_MESSAGE_CONTROL1(ChromotingNetworkDesktopMsg_SetScreenResolution, 2262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) remoting::ScreenResolution /* resolution */) 227