Home | History | Annotate | Download | only in proto
      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
      3 // found in the LICENSE file.
      4 //
      5 // Protocol for control messages.
      6 
      7 syntax = "proto2";
      8 
      9 option optimize_for = LITE_RUNTIME;
     10 
     11 package remoting.protocol;
     12 
     13 message ClientResolution {
     14   // Legacy width and height of the client in Density-Independent Pixels
     15   optional int32 dips_width = 1;
     16   optional int32 dips_height = 2;
     17 
     18   // Width and height of the client in device pixels.
     19   optional int32 width = 3;
     20   optional int32 height = 4;
     21 
     22   // Horizontal and vertical DPI of the screen. If either of these is zero or
     23   // unset, the corresponding DPI should be assumed to be 96 (Windows' default)
     24   optional int32 x_dpi = 5;
     25   optional int32 y_dpi = 6;
     26 }
     27 
     28 message VideoControl {
     29   // Enables the video channel if true, pauses if false.
     30   optional bool enable = 1;
     31 
     32   // Controls whether lossless encode and color translation are requested.
     33   optional bool lossless_encode = 2;
     34   optional bool lossless_color = 3;
     35 }
     36 
     37 message AudioControl {
     38   // Enables the audio channel if true, pauses if false.
     39   optional bool enable = 1;
     40 }
     41 
     42 message CursorShapeInfo {
     43   // Width, height (in screen pixels) of the cursor.
     44   optional int32 width = 1;
     45   optional int32 height = 2;
     46 
     47   // X,Y coordinates (relative to upper-left corner) of the cursor hotspot.
     48   optional int32 hotspot_x = 3;
     49   optional int32 hotspot_y = 4;
     50 
     51   // Cursor pixmap data in 32-bit BGRA format.
     52   optional bytes data = 5;
     53 }
     54 
     55 message Capabilities {
     56   // List of capabilities supported by the sender (case sensitive, capabilities
     57   // are separated by spaces).
     58   optional string capabilities = 1;
     59 }
     60 
     61 message PairingRequest {
     62   // Human-readable name of the client.
     63   optional string client_name = 1;
     64 }
     65 
     66 message PairingResponse {
     67   // Unique identifier for this client.
     68   optional string client_id = 1;
     69 
     70   // Shared secret for this client.
     71   optional string shared_secret = 2;
     72 }
     73 
     74 message ExtensionMessage {
     75   // The message type. This is used to dispatch the message to the correct
     76   // recipient.
     77   optional string type = 1;
     78 
     79   // String-encoded message data. The client and host must agree on the encoding
     80   // for each message type; different message types need not shared the same
     81   // encoding.
     82   optional string data = 2;
     83 }