[go: nahoru, domu]

blob: 699fa9c213cdaf73b1252c39ac2d88e3ea1af969 [file] [log] [blame]
// Copyright 2016 The Chromium Authors
// 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();
};