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

Unified Diff: mojo/public/java/application/src/org/chromium/mojo/application/ApplicationHelper.java

Issue 1061313003: Introduce intent manager. (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Created 5 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
Index: mojo/public/java/application/src/org/chromium/mojo/application/ApplicationHelper.java
diff --git a/mojo/public/java/application/src/org/chromium/mojo/application/ApplicationHelper.java b/mojo/public/java/application/src/org/chromium/mojo/application/ApplicationHelper.java
new file mode 100644
index 0000000000000000000000000000000000000000..d2b125ef8e15964cb5da25e71dc2bb86af3f0246
--- /dev/null
+++ b/mojo/public/java/application/src/org/chromium/mojo/application/ApplicationHelper.java
@@ -0,0 +1,40 @@
+// Copyright 2015 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+package org.chromium.mojo.application;
+
+import org.chromium.mojo.bindings.Interface;
+import org.chromium.mojo.bindings.Interface.Proxy;
+import org.chromium.mojo.bindings.InterfaceRequest;
+import org.chromium.mojo.system.Core;
+import org.chromium.mojo.system.Pair;
+import org.chromium.mojom.mojo.ServiceProvider;
+import org.chromium.mojom.mojo.Shell;
+
+/**
+ * Helper class to write mojo application.
+ */
+public class ApplicationHelper {
ppi 2015/04/07 15:42:13 just a thought - would it be fitting to call it mo
qsr 2015/04/08 10:04:13 Done.
+ /**
+ * Connects to a service in another application.
+ *
+ * @param core Implementation of the {@link Core} api.
+ * @param shell Instance of the shell.
+ * @param application URL to the application to use.
+ * @param manager {@link org.chromium.mojo.bindings.Interface.Manager} for the service to
+ * connect to.
+ * @return a proxy to the service.
+ */
+ public static <I extends Interface, P extends Proxy> P connectToService(
+ Core core, Shell shell, String application, Interface.Manager<I, P> manager) {
+ Pair<ServiceProvider.Proxy, InterfaceRequest<ServiceProvider>> ir =
ppi 2015/04/07 15:42:13 how about calling this |providerRequest|?
qsr 2015/04/08 10:04:13 Done.
+ ServiceProvider.MANAGER.getInterfaceRequest(core);
+ try (ServiceProvider.Proxy spp = ir.first) {
ppi 2015/04/07 15:42:13 how about calling this |provider|?
qsr 2015/04/08 10:04:13 Done.
+ shell.connectToApplication(application, ir.second, null);
+ Pair<P, InterfaceRequest<I>> fir = manager.getInterfaceRequest(core);
ppi 2015/04/07 15:42:13 how about calling this |serviceRequest|?
qsr 2015/04/08 10:04:13 Done.
+ spp.connectToService(manager.getName(), fir.second.passHandle());
+ return fir.first;
+ }
+ }
+}

Powered by Google App Engine
This is Rietveld 408576698