Index: mojo/shell/public/interfaces/shell_resolver.mojom |
diff --git a/mojo/shell/public/interfaces/shell_resolver.mojom b/mojo/shell/public/interfaces/shell_resolver.mojom |
index 090bf838b1fd9286872ada841fe06f59d57d6357..0c4e841858ccdf01b6b7321158971e0a77f153bf 100644 |
--- a/mojo/shell/public/interfaces/shell_resolver.mojom |
+++ b/mojo/shell/public/interfaces/shell_resolver.mojom |
@@ -6,34 +6,33 @@ module mojo.shell.mojom; |
import "mojo/shell/public/interfaces/capabilities.mojom"; |
+// The result of a Resolve operation via ShellResolver. |
+struct ResolveResult { |
+ // The mojo: name that was requested to be resolved. |
+ string name; |
+ |
+ // The mojo: name of the physical package supplying the requested name. This |
+ // could be the same name that was passed, or the name of a package that |
+ // contains it. |
+ string resolved_name; |
+ |
+ // An additional piece of metadata that identifies what instance |name| should |
+ // be run in. It's possible that |name| may provide several services that |
+ // should be run as different instances. |
+ string qualifier; |
+ |
+ // The set of capabilities provided and required by |name|. |
+ CapabilitySpec capabilities; |
+ |
+ // A file URL to the package specified by |name|. |
+ // TODO(beng): What if resolved_mojo_name needs to be re-resolved? |
+ string package_url; |
+}; |
+ |
// Implemented exclusively for the Mojo Shell's use in resolving mojo: names |
// and reading static manifest information. |
interface ShellResolver { |
- // Resolves |mojo_name| to the following metadata: |
- // |
- // resolved_mojo_name |
- // another mojo: name of an application implementing mojo::ShellClientFactory |
- // that can handle connections to |mojo_name|. |
- // |
- // qualifier |
- // an additional piece of metadata that identifies what instance |
- // |resolved_mojo_name| should be run in. It's possible that |
- // |resolved_mojo_name| may provide several services that should be run as |
- // different instances. |
- // |
- // mojo_file_url |
- // a file URL to the application specified in |resolved_mojo_name| |
- // TODO(beng): what if |resolved_mojo_name| needs to be re-resolved?? |
- // |
- // filter |
- // the base CapabilityFilter within which an instance of |resolved_mojo_name| |
- // must be run for |mojo_name|. |
- // |
- // If |mojo_name| can't be resolved (i.e. not a mojo: or exe: scheme), then |
- // the callback will be run with null |mojo_file_url|, and |filter|. |
- ResolveMojoName(string mojo_name) => |
- (string resolved_mojo_name, |
- string qualifier, |
- CapabilitySpec? capability_spec, |
- string? mojo_file_url); |
+ // Resolves |mojo_name| and returns a ResolveResult containing metadata from |
+ // the catalog that the Shell uses to run an instance of it. |
+ ResolveMojoName(string mojo_name) => (ResolveResult result); |
}; |