| // 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; |
| }; |