Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(557)

Unified Diff: services/service_manager/public/interfaces/service.mojom

Issue 2850743004: Replace ServiceInfo with BindSourceInfo. (Closed)
Patch Set: . Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « services/service_manager/public/cpp/typemaps.gni ('k') | services/service_manager/service_manager.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: services/service_manager/public/interfaces/service.mojom
diff --git a/services/service_manager/public/interfaces/service.mojom b/services/service_manager/public/interfaces/service.mojom
index a0f14f46a38d42f8d53d4efb2acebf1a68d1892f..f4109ba4511fd59429c0d783615fdf9e0e580e72 100644
--- a/services/service_manager/public/interfaces/service.mojom
+++ b/services/service_manager/public/interfaces/service.mojom
@@ -9,13 +9,15 @@ import "services/service_manager/public/interfaces/interface_provider.mojom";
import "services/service_manager/public/interfaces/interface_provider_spec.mojom";
import "services/service_manager/public/interfaces/service_control.mojom";
-// Metadata describing an instance of a service.
-struct ServiceInfo {
+// Metadata describing an instance of a service that originated a call to
+// BindInterface().
+struct BindSourceInfo {
// The service's identity.
Identity identity;
- // The service's interface provider specs, from its manifest.
- map<string, InterfaceProviderSpec> interface_provider_specs;
+ // An array of the capabilities exposed by the target that are required by the
+ // source.
+ CapabilitySet required_capabilities;
};
// Implemented by any service which is known to the Service Manager, for which
@@ -45,8 +47,8 @@ interface Service {
// control_request
// An optional associated ServiceControl request.
//
- OnStart(ServiceInfo info) => (Connector&? connector_request,
- associated ServiceControl&? control_request);
+ OnStart(Identity identity) => (Connector&? connector_request,
+ associated ServiceControl&? control_request);
// Called when a request to bind an interface is received from another
// ("source") service. This is the result of that service calling
@@ -58,8 +60,8 @@ interface Service {
//
// Parameters:
//
- // source_info
- // Contains the source identity and interface provider specs.
+ // source
+ // Contains information about the source of the request.
//
// interface_name
// The name of the interface to be bound.
@@ -67,11 +69,7 @@ interface Service {
// interface_pipe
// The message pipe to bind the interface implementation to.
//
- // TODO(beng): It occurs to me that |source_info| leaks all metadata about
- // the source's capability requirements to the target. This seems
- // undesirable. The metadata supplied here should be germane to
- // fulfilling this request and no more.
- OnBindInterface(ServiceInfo source_info,
+ OnBindInterface(BindSourceInfo source,
string interface_name,
handle<message_pipe> interface_pipe) => ();
};
« no previous file with comments | « services/service_manager/public/cpp/typemaps.gni ('k') | services/service_manager/service_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698