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

Side by Side Diff: content/public/android/java/src/org/chromium/content/browser/ServiceRegistry.java

Issue 1831173002: Scaffolding for Android implementation of PaymentRequest. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@mojo
Patch Set: ncarter@'s comments Created 4 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 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 package org.chromium.content.browser; 5 package org.chromium.content.browser;
please use gerrit instead 2016/04/06 18:34:44 tedchoc@: Should this package change from org.chro
Ted C 2016/04/06 19:46:56 It probably should go into content_public, but as
please use gerrit instead 2016/04/06 20:07:55 Writing a follow up.
6 6
7 import org.chromium.base.annotations.CalledByNative; 7 import org.chromium.base.annotations.CalledByNative;
8 import org.chromium.base.annotations.JNINamespace; 8 import org.chromium.base.annotations.JNINamespace;
9 import org.chromium.mojo.bindings.Interface; 9 import org.chromium.mojo.bindings.Interface;
10 import org.chromium.mojo.bindings.Interface.Proxy; 10 import org.chromium.mojo.bindings.Interface.Proxy;
11 import org.chromium.mojo.bindings.InterfaceRequest; 11 import org.chromium.mojo.bindings.InterfaceRequest;
12 import org.chromium.mojo.system.Core; 12 import org.chromium.mojo.system.Core;
13 import org.chromium.mojo.system.MessagePipeHandle; 13 import org.chromium.mojo.system.MessagePipeHandle;
14 import org.chromium.mojo.system.impl.CoreImpl; 14 import org.chromium.mojo.system.impl.CoreImpl;
15 15
16 /** 16 /**
17 * Java wrapper over Mojo ServiceRegistry held by the browser. 17 * Java wrapper over Mojo ServiceRegistry held by the browser.
18 */ 18 */
19 @JNINamespace("content") 19 @JNINamespace("content")
20 public class ServiceRegistry { 20 public class ServiceRegistry {
21 21
22 interface ImplementationFactory<I extends Interface> { 22 /**
23 * The interface that a factory should implement.
24 */
25 public interface ImplementationFactory<I extends Interface> {
23 I createImpl(); 26 I createImpl();
24 } 27 }
25 28
26 <I extends Interface, P extends Proxy> void addService( 29 /**
30 * Adds a service factory.
31 *
32 * @param manager The interface manager.
33 * @param factory The service factory.
34 */
35 public <I extends Interface, P extends Proxy> void addService(
27 Interface.Manager<I, P> manager, ImplementationFactory<I> factory) { 36 Interface.Manager<I, P> manager, ImplementationFactory<I> factory) {
28 nativeAddService(mNativeServiceRegistryAndroid, manager, factory, manage r.getName()); 37 nativeAddService(mNativeServiceRegistryAndroid, manager, factory, manage r.getName());
29 } 38 }
30 39
31 <I extends Interface, P extends Proxy> void removeService( 40 <I extends Interface, P extends Proxy> void removeService(
32 Interface.Manager<I, P> manager) { 41 Interface.Manager<I, P> manager) {
33 nativeRemoveService(mNativeServiceRegistryAndroid, manager.getName()); 42 nativeRemoveService(mNativeServiceRegistryAndroid, manager.getName());
34 } 43 }
35 44
36 <I extends Interface, P extends Proxy> void connectToRemoteService( 45 <I extends Interface, P extends Proxy> void connectToRemoteService(
(...skipping 30 matching lines...) Expand all
67 MessagePipeHandle handle = mCore.acquireNativeHandle(nativeHandle).toMes sagePipeHandle(); 76 MessagePipeHandle handle = mCore.acquireNativeHandle(nativeHandle).toMes sagePipeHandle();
68 manager.bind(factory.createImpl(), handle); 77 manager.bind(factory.createImpl(), handle);
69 } 78 }
70 79
71 private native void nativeAddService(long nativeServiceRegistryAndroid, 80 private native void nativeAddService(long nativeServiceRegistryAndroid,
72 Interface.Manager manager, ImplementationFactory factory, String nam e); 81 Interface.Manager manager, ImplementationFactory factory, String nam e);
73 private native void nativeRemoveService(long nativeServiceRegistryAndroid, S tring name); 82 private native void nativeRemoveService(long nativeServiceRegistryAndroid, S tring name);
74 private native void nativeConnectToRemoteService(long nativeServiceRegistryA ndroid, String name, 83 private native void nativeConnectToRemoteService(long nativeServiceRegistryA ndroid, String name,
75 int handle); 84 int handle);
76 } 85 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698