aboutsummaryrefslogtreecommitdiff
path: root/cast/cast_core/api/common/application_config.proto
blob: cb426824c83f71c101d34170e4ab99d9d8d912a7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
// Copyright 2021 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//
// **** DO NOT EDIT - this .proto was automatically generated. ****
syntax = "proto3";

package cast.common;

option optimize_for = LITE_RUNTIME;

// Generic Cast application config.
message ApplicationConfig {
  // Cast application ID.
  string app_id = 1;

  // Cast application name.
  string display_name = 2;

  // Actual application config based on the type of runtime hosting it.
  oneof config {
    CastLiteApplicationConfig cast_lite_app_config = 3;
    CastWebApplicationConfig cast_web_app_config = 4;
    NativeApplicationConfig native_app_config = 5;
  }
}

// Config for applications running in CastLite runtime.
message CastLiteApplicationConfig {
  // Cast application URL (https). Will be augumented with URL rewrite rules to
  // add appropriate headers/parameters.
  string url = 1;
  // Below definitions are used only with legacy MSP API implementation of
  // CastLite.
  string api_url = 2;
  string api_key = 3;
  bool uses_server_session = 4;
  bool uses_grpc = 5;
  bool is_default_audio_receiver = 6;
  string session_id = 7;
}

// Config for applications running in Cast Web runtime.
message CastWebApplicationConfig {
  // Cast application URL (https). Will be augumented with URL rewrite rules to
  // add appropriate headers/parameters.
  string url = 1;

  // Collection of requested settings for the application.
  ApplicationSettings settings = 2;

  message ApplicationSettings {
    // Display settings requested by the application.
    DisplaySettings display_settings = 1;
  }

  // Contains display settings for an application.
  message DisplaySettings {
    enum DisplayHeight {
      HEIGHT_NATIVE = 0;  // The native resolution of the display.
      HEIGHT_720P = 1;    // Enforce 720p resolution of the display.
    }

    // Indicates the resolution height that the application supports/prefers.
    // The application may attempt to force 720p or render at the native
    // resolution of the display.   If the value is omitted, the
    // default is HEIGHT_NATIVE.
    DisplayHeight display_height = 1;
  }
}

// Config for applications running in native runtime.
message NativeApplicationConfig {
  // Cast application URL (https).
  // NOTE: this field is added ONLY FOR TESTING purposes. Proper integration
  // with native runtimes is still TBD.
  string url = 1;
}