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