blob: b70c227dc04042496901ceef750db3cfbe747304 [file] [log] [blame]
// Copyright 2021 The Fuchsia 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 fuchsia.component.decl;
using fuchsia.data;
/// A program declaration.
///
/// This declaration is set by executable components to designate the runner to
/// use and pass runner-specific program information to it.
///
/// To learn more about runners, see:
/// https://fuchsia.dev/fuchsia-src/glossary#runner
type Program = table {
/// The name of the runner to use to run the component. Must match a `RunnerRegistration` in the
/// component's environment. If this value is not supplied, the component must 'use' a runner.
/// If this value is supplied, the component may 'use' a runner, but it must be identical
/// (matching name, from environment).
1: runner name;
/// (Required) Information about the program to run when the component is
/// executed. The component manager provides the contents of this dictionary
/// to the runner when executing this program.
///
/// For instance, this might contain a path to the program's executable
/// image, or program arguments.
///
/// * The keys represent namespaced properties, delimited by ".".
/// * Properties may be nested in values, but only in the case of an object
/// vector.
2: info fuchsia.data.Dictionary;
};