blob: d5fa72e80b06f79597c56506fe1b9b34419bacb1 [file] [log] [blame]
// 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 service_manager.test.mojom;
// An interface implemented by a service exposing different ways for the
// service to "shut down" from the caller and service manager's perspective.
interface LifecycleControl {
// Method for ping-pong acknowledgement.
Ping() => ();
// Perform any normal cleanup and shut down normally.
GracefulQuit();
// Crash immediately and leave the service manager and clients to deal with
// the consequences.
Crash();
// Not actually a shutdown from the client's perspective, but the Service
// Manager is no longer tracking this service.
CloseServiceManagerConnection();
};
// Implemented by a service that connects to another service, thereby creating
// an instance for it in the service manager.
interface Parent {
// Connects to another service and runs the callback when that service has
// acked a Ping.
ConnectToChild() => ();
Quit();
};