blob: c5102894ce2177594a3338396f371bf2d87197aa [file] [log] [blame]
// Copyright 2018 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.
library chromium.cast;
using fuchsia.ui.gfx;
using fuchsia.web;
/// Describes the configuration under which a Cast application should run.
table ApplicationConfig {
/// Cast application Id.
1: string id;
/// Name to display to the user when referring to this application.
2: string display_name;
/// URL from which the application should be loaded, if it has a web-based
/// implementation.
3: string web_url;
4: reserved;
// If true, enable remote debugging for this application.
// if false or unset, remote debugging is disabled for this application.
5: bool enable_remote_debugging;
/// List of directories whose contents are served via `fuchsia-dir://`
/// URLs. Networking will be disabled if any directories are set.
6: vector<fuchsia.web.ContentDirectoryProvider>
content_directories_for_isolated_application;
/// The URL of the agent to handle this application.
7: string agent_url;
/// Simulates a different resolution for rendering.
8: fuchsia.ui.gfx.vec2 force_content_dimensions;
/// List of the web permissions that should be granted to the application.
9: vector<fuchsia.web.PermissionDescriptor> permissions;
};
/// Service interface for working with application configurations.
[Discoverable]
protocol ApplicationConfigManager {
/// Returns the ApplicationConfig for the specified application Id.
GetConfig(string id) -> (ApplicationConfig config);
};