| // Copyright 2017 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; |
| |
| using fuchsia.mem; |
| |
| // Defines the attributes for a Link when the Link is created. |
| struct CreateLinkInfo { |
| // Passed as root_json argument to StoryProvider.CreateStoryWithInfo() |
| // Link.Set() to set the value in the root link of the new Story's primary |
| // module. |
| fuchsia.mem.Buffer initial_data; |
| |
| // If |allowed_types| is null, the Link contains JSON. No schema validation |
| // is performed. |
| LinkAllowedTypes? allowed_types; |
| }; |
| |
| struct LinkAllowedTypes { |
| // The Link must contain an Entity (see Link.SetEntity()) that has at least |
| // one of |allowed_entity_types| in its |Entity.GetTypes()| return value. |
| // |
| // If empty, allows any Entity type. |
| vector<string> allowed_entity_types; |
| }; |