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

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

Issue 2760093002: Making callbacks in Android ChildProcessLauncher generic. (Closed)
Patch Set: Synced Created 3 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 2012 The Chromium Authors. All rights reserved. 1 // Copyright 2012 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;
6 6
7 import android.os.IBinder;
8
7 import org.chromium.base.process_launcher.ChildProcessCreationParams; 9 import org.chromium.base.process_launcher.ChildProcessCreationParams;
8 import org.chromium.base.process_launcher.FileDescriptorInfo; 10 import org.chromium.base.process_launcher.FileDescriptorInfo;
9 import org.chromium.content.common.IChildProcessCallback;
10 import org.chromium.content.common.IChildProcessService; 11 import org.chromium.content.common.IChildProcessService;
11 12
13 import javax.annotation.Nullable;
14
12 /** 15 /**
13 * Manages a connection between the browser activity and a child service. ChildP rocessConnection is 16 * Manages a connection between the browser activity and a child service. ChildP rocessConnection is
14 * responsible for estabilishing the connection (start()), closing it (stop()) a nd manipulating the 17 * responsible for estabilishing the connection (start()), closing it (stop()) a nd manipulating the
15 * bindings held onto the service (addStrongBinding(), removeStrongBinding(), 18 * bindings held onto the service (addStrongBinding(), removeStrongBinding(),
16 * removeInitialBinding()). 19 * removeInitialBinding()).
17 */ 20 */
18 public interface ChildProcessConnection { 21 public interface ChildProcessConnection {
19 /** 22 /**
20 * Used to notify the consumer about disconnection of the service. This call back is provided 23 * Used to notify the consumer about disconnection of the service. This call back is provided
21 * earlier than ConnectionCallbacks below, as a child process might die befo re the connection is 24 * earlier than ConnectionCallbacks below, as a child process might die befo re the connection is
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
75 * separate to allow to pass whatever parameters are available in start(), a nd complete the 78 * separate to allow to pass whatever parameters are available in start(), a nd complete the
76 * remainder later while reducing the connection setup latency. 79 * remainder later while reducing the connection setup latency.
77 * @param startCallback (optional) callback when the child process starts or fails to start. 80 * @param startCallback (optional) callback when the child process starts or fails to start.
78 */ 81 */
79 void start(StartCallback startCallback); 82 void start(StartCallback startCallback);
80 83
81 /** 84 /**
82 * Setups the connection after it was started with start(). 85 * Setups the connection after it was started with start().
83 * @param commandLine (optional) will be ignored if the command line was alr eady sent in start() 86 * @param commandLine (optional) will be ignored if the command line was alr eady sent in start()
84 * @param filesToBeMapped a list of file descriptors that should be register ed 87 * @param filesToBeMapped a list of file descriptors that should be register ed
85 * @param processCallback used for status updates regarding this process con nection 88 * @param callback optional client specified callbacks that the child can us e to communicate
89 * with the parent process
86 * @param connectionCallback will be called exactly once after the connectio n is set up or the 90 * @param connectionCallback will be called exactly once after the connectio n is set up or the
87 * setup fails 91 * setup fails
88 */ 92 */
89 void setupConnection(String[] commandLine, FileDescriptorInfo[] filesToBeMap ped, 93 void setupConnection(String[] commandLine, FileDescriptorInfo[] filesToBeMap ped,
90 IChildProcessCallback processCallback, ConnectionCallback connection Callback); 94 @Nullable IBinder callback, ConnectionCallback connectionCallback);
91 95
92 /** 96 /**
93 * Terminates the connection to IChildProcessService, closing all bindings. It is safe to call 97 * Terminates the connection to IChildProcessService, closing all bindings. It is safe to call
94 * this multiple times. 98 * this multiple times.
95 */ 99 */
96 void stop(); 100 void stop();
97 101
98 /** @return true iff the initial oom binding is currently bound. */ 102 /** @return true iff the initial oom binding is currently bound. */
99 boolean isInitialBindingBound(); 103 boolean isInitialBindingBound();
100 104
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
140 void addModerateBinding(); 144 void addModerateBinding();
141 145
142 /** 146 /**
143 * Called when the service is no longer in moderate use of the consumer. 147 * Called when the service is no longer in moderate use of the consumer.
144 */ 148 */
145 void removeModerateBinding(); 149 void removeModerateBinding();
146 150
147 /** @return true iff the moderate oom binding is currently bound. */ 151 /** @return true iff the moderate oom binding is currently bound. */
148 boolean isModerateBindingBound(); 152 boolean isModerateBindingBound();
149 } 153 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698