blob: 800edff5a345a355ab730e1768944f3c9c6f12c1 [file] [log] [blame]
// Copyright 2019 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;
/// StoryShellFactory creates or returns an existing `StoryShell` for a particular story.
/// This is intended to be implemented by session shells that want to implement
/// StoryShell functionality themselves.
@discoverable
closed protocol StoryShellFactory {
/// Requests a StoryShell for the story with the given `story_id`.
strict AttachStory(resource struct {
story_id string:MAX;
story_shell server_end:StoryShell;
});
/// Instructs the session shell to teardown the story shell with the given `story_id`.
/// This will be called before the story is stopped.
strict DetachStory(struct {
story_id string:MAX;
}) -> ();
};