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

Unified Diff: mojo/android/system/core_impl.cc

Issue 397493007: Add support for MojoCreateMessagePipeOptions struct to Java bindings (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebasing Created 6 years, 5 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/android/system/core_impl.cc
diff --git a/mojo/android/system/core_impl.cc b/mojo/android/system/core_impl.cc
index 2d74a0f8a4576a8b7aa7236104a65ba5de55f5a0..36b28dce830b80852743bc1225bca0035bf640e2 100644
--- a/mojo/android/system/core_impl.cc
+++ b/mojo/android/system/core_impl.cc
@@ -75,11 +75,21 @@ static jint WaitMany(JNIEnv* env,
return MojoWaitMany(handle_start, signals_start, nb_handles, deadline);
}
-static jobject CreateMessagePipe(JNIEnv* env, jobject jcaller) {
+static jobject CreateMessagePipe(JNIEnv* env,
+ jobject jcaller,
+ jobject options_buffer) {
+ const MojoCreateMessagePipeOptions* options = NULL;
+ if (options_buffer) {
+ const void* buffer_start = env->GetDirectBufferAddress(options_buffer);
+ DCHECK(buffer_start);
+ const size_t buffer_size = env->GetDirectBufferCapacity(options_buffer);
+ DCHECK_EQ(buffer_size, sizeof(MojoCreateMessagePipeOptions));
+ options = static_cast<const MojoCreateMessagePipeOptions*>(buffer_start);
+ DCHECK_EQ(options->struct_size, buffer_size);
+ }
MojoHandle handle1;
MojoHandle handle2;
- // TODO(vtl): Add support for the options struct.
- MojoResult result = MojoCreateMessagePipe(NULL, &handle1, &handle2);
+ MojoResult result = MojoCreateMessagePipe(options, &handle1, &handle2);
return Java_CoreImpl_newNativeCreationResult(env, result, handle1, handle2)
.Release();
}

Powered by Google App Engine
This is Rietveld 408576698