| // Copyright 2020 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. |
| /// The FIDL representation of the component ID Index. |
| /// |
| /// See (component ID index)[//docs/development/components/component_id_index.md] |
| /// for documentation on the schema. |
| library fuchsia.component.internal; |
| |
| using fuchsia.component; |
| |
| /// 256 bits encoded in lower-cased base64 (64 chars). |
| alias InstanceId = string:64; |
| |
| /// Top-level type describing the component ID index. |
| type ComponentIdIndex = table { |
| /// A list of component ID instance entries. |
| /// |
| /// Required, but may be empty. |
| 2: instances vector<InstanceIdEntry>:1024; |
| }; |
| |
| type InstanceIdEntry = table { |
| /// A 256-bit identifier encoded in base64 which is unique across all other |
| /// instance IDs in the index. |
| 1: instance_id InstanceId; |
| |
| /// The moniker identifying the component instance. |
| 3: moniker string:fuchsia.component.MAX_MONIKER_LENGTH; |
| }; |