// Copyright 2016 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. module mojo.shell.test.mojom; // An interface implemented by an application exposing different ways for the // application to "shut down" from the caller and shell's perspective. interface LifecycleControl { // Method for ping-pong acknowledgement. Ping() => (); // Perform any normal cleanup and shut down normally. GracefulQuit(); // Crash immediately and leave the shell and clients to deal with the // consequences. Crash(); // Not actually a shutdown from the client's perspective, but the Shell is no // longer tracking this application. CloseShellConnection(); }; // Implemented by an app that connects to another app, thereby creating an // instance for it in the shell. interface Parent { // Connects to another app and runs the callback when that app has acked a // Ping. ConnectToChild() => (); Quit(); };