diff options
Diffstat (limited to 'mojo/shell/public/interfaces/shell_resolver.mojom')
-rw-r--r-- | mojo/shell/public/interfaces/shell_resolver.mojom | 53 |
1 files changed, 26 insertions, 27 deletions
diff --git a/mojo/shell/public/interfaces/shell_resolver.mojom b/mojo/shell/public/interfaces/shell_resolver.mojom index 090bf83..0c4e841 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); }; |