blob: 3cb8e1eb247aa24ed9762209d6357353d0cab04b [file] [log] [blame]
// Copyright 2024 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.element.manager.persistence;
using fuchsia.element;
/// Element Manager stores this top-level object (a list of persistent elements to launch at boot
/// time) in persistent storage.
type PersistentElements = table {
1: elements vector<Element>:MAX;
};
/// Each element is described by its annotations. As a minimum this will include the elements name
/// and the component URL.
type Element = table {
1: annotations vector<PersistentAnnotation>:MAX;
};
/// Same as Annotation but can be persisted.
type PersistentAnnotation = struct {
/// An identifier for this annotation.
key fuchsia.element.AnnotationKey;
/// The content of this annotation.
value PersistentAnnotationValue;
};
/// Same as AnnotationValue but can be persisted.
type PersistentAnnotationValue = strict union {
1: text string:MAX;
};