OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef MOJO_SHELL_SHELL_H_ | 5 #ifndef MOJO_SHELL_SHELL_H_ |
6 #define MOJO_SHELL_SHELL_H_ | 6 #define MOJO_SHELL_SHELL_H_ |
7 | 7 |
8 #include <map> | 8 #include <map> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
107 | 107 |
108 // Completes a connection between a source and target application as defined | 108 // Completes a connection between a source and target application as defined |
109 // by |params|, exchanging InterfaceProviders between them. If no existing | 109 // by |params|, exchanging InterfaceProviders between them. If no existing |
110 // instance of the target application is running, one will be loaded. | 110 // instance of the target application is running, one will be loaded. |
111 // | 111 // |
112 // If |client| is not null, there must not be an instance of the target | 112 // If |client| is not null, there must not be an instance of the target |
113 // application already running. The shell will create a new instance and use | 113 // application already running. The shell will create a new instance and use |
114 // |client| to control it. | 114 // |client| to control it. |
115 void Connect(scoped_ptr<ConnectParams> params, mojom::ShellClientPtr client); | 115 void Connect(scoped_ptr<ConnectParams> params, mojom::ShellClientPtr client); |
116 | 116 |
117 // Returns a running instance matching |identity|. | 117 // Returns a running instance matching |identity|. This might be an instance |
| 118 // running as a different user if one is available that services all users. |
118 Instance* GetExistingInstance(const Identity& identity) const; | 119 Instance* GetExistingInstance(const Identity& identity) const; |
119 // Like GetExistingInstance, but if no instance for |identity.user_id()| is | |
120 // found, looks for kRootUserID too. | |
121 Instance* GetExistingOrRootInstance(const Identity& identity) const; | |
122 | 120 |
123 void NotifyPIDAvailable(uint32_t id, base::ProcessId pid); | 121 void NotifyPIDAvailable(uint32_t id, base::ProcessId pid); |
124 | 122 |
125 // Attempt to complete the connection requested by |params| by connecting to | 123 // Attempt to complete the connection requested by |params| by connecting to |
126 // an existing instance. If there is an existing instance, |params| is taken, | 124 // an existing instance. If there is an existing instance, |params| is taken, |
127 // and this function returns true. | 125 // and this function returns true. |
128 bool ConnectToExistingInstance(scoped_ptr<ConnectParams>* params); | 126 bool ConnectToExistingInstance(scoped_ptr<ConnectParams>* params); |
129 | 127 |
130 Instance* CreateInstance(const Identity& target, | 128 Instance* CreateInstance(const Identity& target, |
131 const CapabilitySpec& spec); | 129 const CapabilitySpec& spec); |
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
197 | 195 |
198 DISALLOW_COPY_AND_ASSIGN(Shell); | 196 DISALLOW_COPY_AND_ASSIGN(Shell); |
199 }; | 197 }; |
200 | 198 |
201 mojom::Connector::ConnectCallback EmptyConnectCallback(); | 199 mojom::Connector::ConnectCallback EmptyConnectCallback(); |
202 | 200 |
203 } // namespace shell | 201 } // namespace shell |
204 } // namespace mojo | 202 } // namespace mojo |
205 | 203 |
206 #endif // MOJO_SHELL_SHELL_H_ | 204 #endif // MOJO_SHELL_SHELL_H_ |
OLD | NEW |