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

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

Issue 2610853013: Perform InterfaceProviderSpec intersection in the ServiceManager (Closed)
Patch Set: . Created 3 years, 11 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/service_context.h ('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 e5f8d681928bc6b713d660a1647405f0872eca47..207da8cd96e2534cc12a84dc579459160005593f 100644
--- a/services/service_manager/public/interfaces/service.mojom
+++ b/services/service_manager/public/interfaces/service.mojom
@@ -67,4 +67,32 @@ interface Service {
// seek to bind interface implementations exported by the target.
//
OnConnect(ServiceInfo source_info, InterfaceProvider&? interfaces) => ();
+
+ // Called when a request to bind an interface is received from another
+ // ("source") service. This is the result of that service calling
+ // BindInterface() on a Connector. By the time this method is called, the
+ // service manager has already completed a policy check to determine that this
+ // interface can be bound.
+ //
+ // The Service must respond to acknowledge receipt of the request.
+ //
+ // Parameters:
+ //
+ // source_info
+ // Contains the source identity and interface provider specs.
+ //
+ // interface_name
+ // The name of the interface to be bound.
+ //
+ // 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.
+ // TODO(beng): This should replace OnConnect().
+ OnBindInterface(ServiceInfo source_info,
+ string interface_name,
+ handle<message_pipe> interface_pipe) => ();
};
« no previous file with comments | « services/service_manager/public/cpp/service_context.h ('k') | services/service_manager/service_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698