blob: 6104e96e7b3524e127efe294e87c9804e9be6ee9 [file] [log] [blame]
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;
}