chromium/remoting/proto/internal.proto

// Copyright 2012 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// Internal message types that should not be seen outside the protocol
// directory.

syntax = "proto2";

import "control.proto";
import "event.proto";

option optimize_for = LITE_RUNTIME;

package remoting.protocol;

// Represents a message being sent on the control channel.
// Next ID: 16
message ControlMessage {
  optional ClipboardEvent clipboard_event = 1;
  optional ClientResolution client_resolution = 2;
  optional CursorShapeInfo cursor_shape = 4;
  optional VideoControl video_control = 3;
  optional AudioControl audio_control = 5;
  optional Capabilities capabilities = 6;
  optional PairingRequest pairing_request = 7;
  optional PairingResponse pairing_response = 8;
  optional ExtensionMessage extension_message = 9;
  optional VideoLayout video_layout = 10;
  optional SelectDesktopDisplayRequest select_display = 11;
  optional KeyboardLayout keyboard_layout = 12;
  optional TransportInfo transport_info = 13;
  optional PeerConnectionParameters peer_connection_parameters = 14;
  optional ActiveDisplay active_display_changed = 15;
}

// Defines an event message on the event channel.
message EventMessage {
  // Client's timestamp used to estimate roundtrip latency.
  optional int64 timestamp = 1;

  optional KeyEvent key_event = 3;
  optional MouseEvent mouse_event = 4;
  optional TextEvent text_event = 5;
  optional TouchEvent touch_event = 6;
}