| // 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(); |
| }; |