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/interface_provider.mojom"; | 7 import "services/service_manager/public/interfaces/interface_provider.mojom"; |
8 | 8 |
9 // TODO(beng): Determine who (if anyone) uses kRootUserID. | 9 // TODO(beng): Determine who (if anyone) uses kRootUserID. |
10 const string kRootUserID = "505C0EE9-3013-43C0-82B0-A84F50CF8D84"; | 10 const string kRootUserID = "505C0EE9-3013-43C0-82B0-A84F50CF8D84"; |
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
157 // process may not have been launched by the time BindInterface() is | 157 // process may not have been launched by the time BindInterface() is |
158 // called.) | 158 // called.) |
159 // | 159 // |
160 StartServiceWithProcess(Identity target, | 160 StartServiceWithProcess(Identity target, |
161 handle<message_pipe> service, | 161 handle<message_pipe> service, |
162 PIDReceiver& pid_receiver_request) => | 162 PIDReceiver& pid_receiver_request) => |
163 (ConnectResult result, Identity identity); | 163 (ConnectResult result, Identity identity); |
164 | 164 |
165 // Clones this Connector so it can be passed to another thread. | 165 // Clones this Connector so it can be passed to another thread. |
166 Clone(Connector& request); | 166 Clone(Connector& request); |
| 167 |
| 168 // Filter interface requests received from |source| according to the policy |
| 169 // specified in this service's manifest in an InterfaceProviderSpec named |
| 170 // |spec|. |
| 171 // |
| 172 // The flow is basically - remote service wishes to (generically) request |
| 173 // interfaces from this service, and so sends us an InterfaceProvider request |
| 174 // (|source_request|) which it would like us to bind. We forward this request |
| 175 // to the Service Manager, passing our actual InterfaceProvider implementation |
| 176 // in |target|. The Service Manager will only forward interface requests that |
| 177 // were permitted by intersecting |source|'s manifest requirements with the |
| 178 // contents of |spec|. |
| 179 FilterInterfaces(string spec, |
| 180 Identity source, |
| 181 InterfaceProvider& source_request, |
| 182 InterfaceProvider target); |
167 }; | 183 }; |
OLD | NEW |