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