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

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

Issue 2427443002: Replace remaining shell references with service manager (Closed)
Patch Set: Created 4 years, 2 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
Index: services/service_manager/public/interfaces/connector.mojom
diff --git a/services/service_manager/public/interfaces/connector.mojom b/services/service_manager/public/interfaces/connector.mojom
index a9fe3c97d7d3c1c66db477530377e8a8a8b0a4fb..b1e7314c42fb14e423764fc9201257ec8c2b4001 100644
--- a/services/service_manager/public/interfaces/connector.mojom
+++ b/services/service_manager/public/interfaces/connector.mojom
@@ -15,104 +15,104 @@ enum ConnectResult {
// The connection was established successfully.
SUCCEEDED,
- // The name or user id supplied was malformed, or the application specified
- // by |name| could not be loaded.
+ // The name or user id supplied was malformed, or the service specified by
+ // |name| could not be loaded.
INVALID_ARGUMENT,
// The connection was blocked by policy. Either connections to |name| are
- // forbidden from this app by the CapabilityFilter, or the application
- // attempted to connect using a user id other than its own,
- // kInheritUserID or kRootUserID.
+ // forbidden from this app by the CapabilityFilter, or the service attempted
+ // to connect using a user id other than its own, |kInheritUserID| or
+ // |kRootUserID|.
ACCESS_DENIED
};
-// A collection of metadata that disambiguates instances in the shell.
+// A collection of metadata that disambiguates instances in the service manager.
struct Identity {
- // A mojo: or exe: name identifying an application.
+ // A service: or exe: name identifying a service.
string name;
- // The user id of the target application instance to connect to. If no such
- // instance exists, the shell may start one. This user id will be passed to
- // the new instance via Initialize().
- // When connecting to other applications, applications must generally pass
- // kInheritUserID for this value, and the shell will either connect to an
- // existing instance matching the caller's user id, create a new instance
- // matching the caller's user id, or connect to an existing instance running
- // as kRootUserID. By default, applications do not have the ability to set
+ // The user id of the target service instance to connect to. If no such
+ // instance exists, the service manager may start one. This user id will be
+ // passed to the new instance via Initialize().
+ //
+ // When connecting to other services, services must generally pass
+ // kInheritUserID for this value, and the service manager will either connect
+ // to an existing instance matching the caller's user id, create a new
+ // instance matching the caller's user id, or connect to an existing instance
+ // running as kRootUserID. By default, services do not have the ability to set
// arbitrary values to this field, and doing so will result in a connection
- // error on the remote service provider. An application with the ability to
- // launch applications with arbitrary user ids (e.g. a login app) may set this
- // value to something meaningful to it. The user id string is a valid guid of
- // the form "%08X-%04X-%04X-%04X-%012llX", and (aside from the root user whose
+ // error on the remote service provider.
+ //
+ // A service with the ability to launch other services with arbitrary user ids
+ // (e.g. a login service) may set this value to something meaningful to it.
+ // The user id string is a valid guid of the form
+ // "%08X-%04X-%04X-%04X-%012llX", and (aside from the root user whose
// guid is defined above) intended to be not-guessable.
- // When an application is initialized or receives a connection from another
- // application, this value is always the resolved user id, never
- // kInheritUserID.
+ //
+ // When a service is initialized or receives a connection from another
+ // service, this value is always the resolved user id, never |kInheritUserID|.
string user_id;
- // An application may spawn multiple instances with the same name,user_id
+ // A service may spawn multiple instances with the same (name, user_id)
// pair, provided they are started with unique values of this field.
// TODO(beng): enforce the emptiness of this parameter unless the client bears
// the appropriate capability.
string instance;
};
-// Implemented by an object in the shell associated with a specific instance.
-// Tells it the PID for a process launched by the client. See
-// ClientProcessConnection.
+// Implemented by an object in the service manager associated with a specific
+// instance. Tells the service manager the PID for a process launched by the
+// client. See |ClientProcessConnection|.
interface PIDReceiver {
SetPID(uint32 pid);
};
-// Typically, the shell will start a process for a service the first time it
-// receives a connection request for it. This struct allows a client to start
-// the process itself and provide the shell the pipes it needs to communicate
-// with it. When an instance of this struct is supplied to Connect(), the client
-// owns the lifetime of the child process, not the shell. The shell binds the
-// |service| pipe, and when it closes destroys the associated instance but
-// the process stays alive.
+// Typically, the service manager will start a process for a service the first
+// time it receives a connection request for it. This struct allows a client to
+// start the process itself and provide the service manager the pipes it needs
+// to communicate with it. When an instance of this struct is supplied to
+// Connect(), the client owns the lifetime of the child process, not the service
+// manager. The service manager binds the |service| pipe, and when it closes
+// destroys the associated instance but the process stays alive.
struct ClientProcessConnection {
- // Provides the shell the ability to bind a Service from the client process to
- // the instance it creates.
+ // Provides the service manager the ability to bind a Service from the client
+ // process to the instance it creates.
handle<message_pipe> service;
- // Allows the client process launcher to tell the shell the PID of the process
- // it created (the pid isn't supplied directly here as the process may not
- // have been launched by the time Connect() is called.)
+ // Allows the client process launcher to tell the service manager the PID of
+ // the process it created (the pid isn't supplied directly here as the process
+ // may not have been launched by the time Connect() is called.)
handle<message_pipe> pid_receiver_request;
};
// Encapsulates establishing connections with other Services.
interface Connector {
- // Requests a connection with another application. The application originating
- // the request is referred to as the "source" and the one receiving the
- // "target".
+ // Requests a connection with another service. The service originating the
+ // request is referred to as the "source" and the one receiving the "target".
//
// The connection is embodied by a pair of message pipes binding the
// InterfaceProvider interface, which allows both the source and target
- // applications to export interfaces to one another. The interfaces bound via
- // these InterfaceProviders are brokered by the shell according to the
- // security policy defined by each application in its manifest .
+ // services to export interfaces to one another. The interfaces bound via
+ // these InterfaceProviders are brokered by the service manager according to
+ // the security policy defined by each service in its manifest.
//
- // If the target application is not running, the shell will run it, calling
- // its Initialize() method before completing the connection.
+ // If the target service is not running, the service manager will run it,
+ // calling its OnStart() method before completing the connection.
//
// Parameters:
//
// target
- // Identifies the target application instance to connect to.
+ // Identifies the target service instance to connect to.
//
// remote_interfaces
- // Allows the source application access to interface implementations
- // exposed by the target application. The interfaces accessible via this
- // InterfaceParameter are filtered by the security policy described by the
- // source and target application manifests.
+ // Allows the source service access to interface implementations exposed by
+ // the target service. The interfaces accessible via this InterfaceProvider
+ // are filtered by the security policy described by the source and target
+ // service manifests.
//
// client_process_connection
- // When non-null, supplies control pipes the shell can use to bind a
- // process created by the client, instead of creating one itself.
- // TODO(beng): access to this parameter should be restricted by a
- // capability.
+ // When non-null, supplies control pipes the service manager can use to
+ // bind a process created by the client, instead of creating one itself.
//
// Response parameters:
//
@@ -120,9 +120,10 @@ interface Connector {
// Indicates the result of the Connect() operation.
//
// user_id
- // The user id the shell ran the target application as. Typically a client
- // passes kInheritUserID as the user id to Connect() which is resolved by
- // the shell into a valid user id returned through this callback.
+ // The user id the service manager ran the target service as. Typically a
+ // client passes |kInheritUserID| as the user id to Connect(), which is
+ // resolved by the service manager into a valid user id returned through
+ // this callback.
//
Connect(Identity target,
InterfaceProvider&? remote_interfaces,

Powered by Google App Engine
This is Rietveld 408576698