blob: 258f0556507c612ba74eef6cc8b575b1ebfe39a2 [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;
/// This interface is exposed to all Module instances in a story. It allows to
/// create Link instances and run more Module instances.
@discoverable
closed 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.
strict 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().
closed protocol OngoingActivity {};
type OngoingActivityType = strict enum {
UNSPECIFIED = 0;
VIDEO = 1;
AUDIO = 2;
};