blob: 0cb484a573fb9160c2864ee0e0f31f697db7c001 [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.diagnostics;
using fuchsia.ui.gfx;
using fuchsia.web;
/// Describes the configuration under which a Cast application should run.
resource 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;
/// The initial minimum severity of `console` logs that will be logged to the
/// [`fuchsia.logger/LogSink`] configured for this application. If not set, no
/// messages will be logged.
// TODO(crbug.com/1088094): Deprecate once there is another mechanism.
10: fuchsia.diagnostics.Severity initial_min_console_log_severity;
};
/// Service interface for working with application configurations.
[Discoverable]
protocol ApplicationConfigManager {
/// Returns the ApplicationConfig for the specified application Id.
GetConfig(string id) -> (ApplicationConfig config);
};