OLD | NEW |
| (Empty) |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 module shell.mojom; | |
6 | |
7 import "services/shell/public/interfaces/connector.mojom"; | |
8 | |
9 struct ServiceInfo { | |
10 uint32 id; | |
11 Identity identity; | |
12 uint32 pid; | |
13 }; | |
14 | |
15 // Implemented by a client that wishes to be informed when the list of running | |
16 // services changes. | |
17 interface ServiceManagerListener { | |
18 // Called once when the listener is added via | |
19 // ServiceManager::AddInstanceListener() to provide the initial list of | |
20 // services that the listener observes changes against. | |
21 OnInit(array<ServiceInfo> running_services); | |
22 | |
23 // Called when the Service Manager has started tracking a Service. This | |
24 // happens when the Service Manager first handles a request to launch the | |
25 // Service, before a process is created for it. | |
26 OnServiceCreated(ServiceInfo service); | |
27 | |
28 // Called when a pid is available for the service. This could be because the | |
29 // Service Manager created a process for it, or because an existing one was | |
30 // assigned to it. | |
31 OnServiceStarted(Identity identity, uint32 pid); | |
32 | |
33 // Called when the Service Manager has stopped tracking a service. (i.e. when | |
34 // it has ended/quit). | |
35 OnServiceStopped(Identity identity); | |
36 }; | |
37 | |
38 interface ServiceManager { | |
39 // The listener is removed when the |listener| pipe is closed. | |
40 AddListener(ServiceManagerListener listener); | |
41 }; | |
OLD | NEW |