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

Side by Side Diff: mojo/public/interfaces/application/application.mojom

Issue 943053003: Simple multi-url support for mojo apps (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: rebase + fix android Created 5 years, 9 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 unified diff | Download patch
OLDNEW
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 module mojo; 5 module mojo;
6 6
7 import "mojo/public/interfaces/application/service_provider.mojom"; 7 import "mojo/public/interfaces/application/service_provider.mojom";
8 import "mojo/public/interfaces/application/shell.mojom"; 8 import "mojo/public/interfaces/application/shell.mojom";
9 9
10 // This is the primary interface implemented by every Mojo application. It 10 // This is the primary interface implemented by every Mojo application. It
11 // allows the application to receive its startup arguments from the shell, and 11 // allows the application to receive its startup arguments from the shell, and
12 // to be notified of events that occur during its execution. 12 // to be notified of events that occur during its execution.
13 //
14 // TODO(aa): It would be good to reorder the parameters once we have interface
15 // versioning.
13 interface Application { 16 interface Application {
14 // Initializes the application with the specified arguments. This method is 17 // Initializes the application with the specified arguments. This method is
15 // guaranteed to be called before any other method is called, and will only be 18 // guaranteed to be called before any other method is called, and will only be
16 // called once. The |url| parameter is the final url the application was found 19 // called once.
17 // at, after all redirects and resolutions. 20 //
21 // The |url| parameter is the identity of the application as far as the shell
22 // is concerned. This will be the URL the application was found at, after all
23 // mappings, resolution, and redirects. And it will not include the
24 // querystring, since the querystring is not part of an application's
25 // identity.
18 Initialize(Shell shell, array<string>? args, string url); 26 Initialize(Shell shell, array<string>? args, string url);
19 27
20 // Called when another application (identified by |requestor_url|) attempts to 28 // Called when another application (identified by |requestor_url|) attempts to
21 // open a connection to this application. 29 // open a connection to this application.
22 // 30 //
23 // If the other application wants to request services from this application, 31 // If the other application wants to request services from this application,
24 // it will have passed a valid interface request through the |services| 32 // it will have passed a valid interface request through the |services|
25 // parameter (i.e. one containing a valid message pipe endpoint). This 33 // parameter (i.e. one containing a valid message pipe endpoint). This
26 // application may then bind an implementation of |ServiceProvider| to that 34 // application may then bind an implementation of |ServiceProvider| to that
27 // request in order to make services available to the other application. 35 // request in order to make services available to the other application.
28 // 36 //
29 // If the other application wants to offer services to this application, it 37 // If the other application wants to offer services to this application, it
30 // will have passed a bound interface through the |exposed_services| 38 // will have passed a bound interface through the |exposed_services|
31 // parameter. This application may then request services through that 39 // parameter. This application may then request services through that
32 // interface. 40 // interface.
33 // 41 //
34 // It is possible that both parameters will be valid/bound if the other 42 // It is possible that both parameters will be valid/bound if the other
35 // application wants to both request services from and offer services to this 43 // application wants to both request services from and offer services to this
36 // application. 44 // application.
37 // 45 //
38 // This application is free to ignore the |services| or |exposed_services| 46 // This application is free to ignore the |services| or |exposed_services|
39 // parameters if it does not wish to offer or request services. 47 // parameters if it does not wish to offer or request services.
48 //
49 // resolved_url is the URL that was requested to create this connection, after
50 // all mappings, resolutions, and redirects. This will include any querystring
51 // that was part of the request.
40 AcceptConnection(string requestor_url, 52 AcceptConnection(string requestor_url,
41 ServiceProvider&? services, 53 ServiceProvider&? services,
42 ServiceProvider? exposed_services); 54 ServiceProvider? exposed_services,
55 string resolved_url);
43 56
44 // Called to request the application shut itself down gracefully. 57 // Called to request the application shut itself down gracefully.
45 RequestQuit(); 58 RequestQuit();
46 }; 59 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698