blob: eacd9886595c8d3b23ef4e01ac7ac99c704968b7 [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
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;
};