blob: 1ca1c18a55c95dfc5ad8360c264cf2132e0c0c89 [file] [log] [blame]
// Copyright 2016 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.modular;
/// Information about a story as provided to the SessionShell.
struct StoryInfo {
/// URL of the first module run in this story. This module is free to
/// run more modules in the story. Used for display purposes only.
// TODO(thatguy): Remove this. It is not being set any more.
string? url;
/// The ID of the Story, used to reference it in method arguments.
string id;
/// Wallclock time when the story was last focused. From
/// `ZX_CLOCK_UTC`, thus nanoseconds since UNIX epoch (1970-01-01 00:00 UTC).
///
/// A value of zero means the story has never been focused.
int64 last_focus_time;
/// Data the SessionShell wants to keep associated with this Story, like
/// title, a color, or a display rank.
vector<StoryInfoExtraEntry>? extra;
};
/// Information about a story as provided to the SessionShell.
/// For transition purposes only.
table StoryInfo2 {
/// The ID of the Story, used to reference it in method arguments.
1: string id;
/// Wallclock time when the story was last focused. From
/// ZX_CLOCK_UTC, thus nanoseconds since UNIX epoch (1970-01-01 00:00 UTC).
///
/// A value of zero means the story has never been focused.
2: int64 last_focus_time;
/// Collection of user-defined key-value attributes that describe
/// this story.
///
/// The `Annotation.value` field of each `Annotation` is always set.
3: vector<Annotation>:MAX_ANNOTATIONS_PER_STORY annotations;
};
struct StoryInfoExtraEntry {
string key;
string value;
};