| // 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; |
| |
| /// This interface is exposed to all Module instances in a story. It allows to |
| /// create Link instances and run more Module instances. |
| @discoverable |
| protocol ModuleContext { |
| /// When a module calls [RemoveSelfFromStory()] the framework will stop the |
| /// module and remove it from the story. If there are no more running modules |
| /// in the story the story will be deleted. |
| RemoveSelfFromStory(); |
| }; |
| |
| /// This interface defines the protocol over which a Module can communicate about |
| /// an ongoing activity to the framework. It is provided to Modules via |
| /// ModuleContext.StartOngoingActivity(). |
| protocol OngoingActivity {}; |
| |
| type OngoingActivityType = strict enum { |
| UNSPECIFIED = 0; |
| VIDEO = 1; |
| AUDIO = 2; |
| }; |