blob: cd28a1036dababc37b02baad8087d7a602fc0932 [file] [log] [blame]
// Copyright 2019 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.sys2;
using fuchsia.component;
/// Statically declares a component instance collection.
table CollectionDecl {
/// The name of the collection. Instances created in the collection are
/// scoped to this name.
1: fuchsia.component.name name;
/// The durability of instances in the collection.
2: Durability durability;
/// The environment assigned to child instances in this collection.
///
/// Must be non-empty, reference an environment defined in the containing
/// `ComponentDecl`, and contain only the following characters:
/// [a-z0-9-_.].
3: fuchsia.component.name environment;
};
/// The durability of component instances created in a collection.
enum Durability {
/// An instance exists until either it or its parent is destroyed.
PERSISTENT = 1;
/// An instance exists until either its parent instance is stopped
/// or it is explicitly destroyed.
TRANSIENT = 2;
};