blob: 50e2b91ba878f48fe531c2a40282be8ab5a1209b [file] [log] [blame]
// Copyright 2018 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.internal;
/// A debug interface exposed by `basemgr` to allow developer tools to control
/// state within the `basemgr` process.
@discoverable
protocol BasemgrDebug {
/// Restarts the current session.
///
/// If the original session was started with a random session ID the new
/// session will use a different random ID. If the original session was
/// started with a stable ID the new session will use the same ID.
///
/// The restarted session will use the same configuration as the
/// current session.
///
/// If no session is running, does nothing.
RestartSession() -> ();
/// Starts a new session using a randomly generated session ID.
///
/// This has no effect if a session is already running.
StartSessionWithRandomId();
/// Kills the running instance of basemgr.
///
/// Closes the channel with ZX_OK after successful shutdown.
Shutdown();
};