OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 module service_manager.mojom; | 5 module service_manager.mojom; |
6 | 6 |
7 import "services/service_manager/public/interfaces/connector.mojom"; | 7 import "services/service_manager/public/interfaces/connector.mojom"; |
8 import "services/service_manager/public/interfaces/interface_provider.mojom"; | 8 import "services/service_manager/public/interfaces/interface_provider.mojom"; |
9 import "services/service_manager/public/interfaces/interface_provider_spec.mojom
"; | 9 import "services/service_manager/public/interfaces/interface_provider_spec.mojom
"; |
10 import "services/service_manager/public/interfaces/service_control.mojom"; | 10 import "services/service_manager/public/interfaces/service_control.mojom"; |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
60 // Parameters: | 60 // Parameters: |
61 // | 61 // |
62 // source_info | 62 // source_info |
63 // Contains the source identity and interface provider specs. | 63 // Contains the source identity and interface provider specs. |
64 // | 64 // |
65 // interfaces | 65 // interfaces |
66 // A request for an InterfaceProvider by which the source service may | 66 // A request for an InterfaceProvider by which the source service may |
67 // seek to bind interface implementations exported by the target. | 67 // seek to bind interface implementations exported by the target. |
68 // | 68 // |
69 OnConnect(ServiceInfo source_info, InterfaceProvider&? interfaces) => (); | 69 OnConnect(ServiceInfo source_info, InterfaceProvider&? interfaces) => (); |
| 70 |
| 71 // Called when a request to bind an interface is received from another |
| 72 // ("source") service. This is the result of that service calling |
| 73 // BindInterface() on a Connector. By the time this method is called, the |
| 74 // service manager has already completed a policy check to determine that this |
| 75 // interface can be bound. |
| 76 // |
| 77 // The Service must respond to acknowledge receipt of the request. |
| 78 // |
| 79 // Parameters: |
| 80 // |
| 81 // source_info |
| 82 // Contains the source identity and interface provider specs. |
| 83 // |
| 84 // interface_name |
| 85 // The name of the interface to be bound. |
| 86 // |
| 87 // interface_pipe |
| 88 // The message pipe to bind the interface implementation to. |
| 89 // |
| 90 // TODO(beng): It occurs to me that |source_info| leaks all metadata about |
| 91 // the source's capability requirements to the target. This seems |
| 92 // undesirable. The metadata supplied here should be germane to |
| 93 // fulfilling this request and no more. |
| 94 // TODO(beng): This should replace OnConnect(). |
| 95 OnBindInterface(ServiceInfo source_info, |
| 96 string interface_name, |
| 97 handle<message_pipe> interface_pipe) => (); |
70 }; | 98 }; |
OLD | NEW |