OLD | NEW |
| (Empty) |
1 // Copyright 2016 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 mojo.shell.mojom; | |
6 | |
7 import "mojo/shell/public/interfaces/capabilities.mojom"; | |
8 | |
9 // The result of a Resolve operation via ShellResolver. | |
10 struct ResolveResult { | |
11 // The mojo: name that was requested to be resolved. | |
12 string name; | |
13 | |
14 // The mojo: name of the physical package supplying the requested name. This | |
15 // could be the same name that was passed, or the name of a package that | |
16 // contains it. | |
17 string resolved_name; | |
18 | |
19 // An additional piece of metadata that identifies what instance |name| should | |
20 // be run in. It's possible that |name| may provide several services that | |
21 // should be run as different instances. | |
22 string qualifier; | |
23 | |
24 // The set of capabilities provided and required by |name|. | |
25 CapabilitySpec capabilities; | |
26 | |
27 // A file URL to the package specified by |name|. | |
28 // TODO(beng): What if resolved_mojo_name needs to be re-resolved? | |
29 string package_url; | |
30 }; | |
31 | |
32 // Implemented exclusively for the Mojo Shell's use in resolving mojo: names | |
33 // and reading static manifest information. | |
34 interface ShellResolver { | |
35 // Resolves |mojo_name| and returns a ResolveResult containing metadata from | |
36 // the catalog that the Shell uses to run an instance of it. | |
37 ResolveMojoName(string mojo_name) => (ResolveResult result); | |
38 }; | |
OLD | NEW |