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

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

Issue 1312153003: jni_generator: Pass object parameters as JavaParamRef. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 5 years, 3 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
« no previous file with comments | « mojo/android/system/base_run_loop.cc ('k') | mojo/runner/android/bootstrap.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: mojo/android/system/core_impl.cc
diff --git a/mojo/android/system/core_impl.cc b/mojo/android/system/core_impl.cc
index 63191169b884dde7fa0a0f66033ed35fe29879c3..21589876b4897a2b13f94f73c1e58b9da6dda849 100644
--- a/mojo/android/system/core_impl.cc
+++ b/mojo/android/system/core_impl.cc
@@ -49,13 +49,14 @@ void AsyncWaitCallback(void* data, MojoResult result) {
namespace mojo {
namespace android {
-static jlong GetTimeTicksNow(JNIEnv* env, jobject jcaller) {
+static jlong GetTimeTicksNow(JNIEnv* env,
+ const JavaParamRef<jobject>& jcaller) {
return MojoGetTimeTicksNow();
}
static jint WaitMany(JNIEnv* env,
- jobject jcaller,
- jobject buffer,
+ const JavaParamRef<jobject>& jcaller,
+ const JavaParamRef<jobject>& buffer,
jlong deadline) {
// |buffer| contains, in this order
// input: The array of N handles (MojoHandle, 4 bytes each)
@@ -88,9 +89,10 @@ static jint WaitMany(JNIEnv* env,
result_index, states_start);
}
-static ScopedJavaLocalRef<jobject> CreateMessagePipe(JNIEnv* env,
- jobject jcaller,
- jobject options_buffer) {
+static ScopedJavaLocalRef<jobject> CreateMessagePipe(
+ JNIEnv* env,
+ const JavaParamRef<jobject>& jcaller,
+ const JavaParamRef<jobject>& options_buffer) {
const MojoCreateMessagePipeOptions* options = NULL;
if (options_buffer) {
const void* buffer_start = env->GetDirectBufferAddress(options_buffer);
@@ -107,9 +109,10 @@ static ScopedJavaLocalRef<jobject> CreateMessagePipe(JNIEnv* env,
return Java_CoreImpl_newNativeCreationResult(env, result, handle1, handle2);
}
-static ScopedJavaLocalRef<jobject> CreateDataPipe(JNIEnv* env,
- jobject jcaller,
- jobject options_buffer) {
+static ScopedJavaLocalRef<jobject> CreateDataPipe(
+ JNIEnv* env,
+ const JavaParamRef<jobject>& jcaller,
+ const JavaParamRef<jobject>& options_buffer) {
const MojoCreateDataPipeOptions* options = NULL;
if (options_buffer) {
const void* buffer_start = env->GetDirectBufferAddress(options_buffer);
@@ -126,10 +129,11 @@ static ScopedJavaLocalRef<jobject> CreateDataPipe(JNIEnv* env,
return Java_CoreImpl_newNativeCreationResult(env, result, handle1, handle2);
}
-static ScopedJavaLocalRef<jobject> CreateSharedBuffer(JNIEnv* env,
- jobject jcaller,
- jobject options_buffer,
- jlong num_bytes) {
+static ScopedJavaLocalRef<jobject> CreateSharedBuffer(
+ JNIEnv* env,
+ const JavaParamRef<jobject>& jcaller,
+ const JavaParamRef<jobject>& options_buffer,
+ jlong num_bytes) {
const MojoCreateSharedBufferOptions* options = 0;
if (options_buffer) {
const void* buffer_start = env->GetDirectBufferAddress(options_buffer);
@@ -145,13 +149,15 @@ static ScopedJavaLocalRef<jobject> CreateSharedBuffer(JNIEnv* env,
return Java_CoreImpl_newResultAndInteger(env, result, handle);
}
-static jint Close(JNIEnv* env, jobject jcaller, jint mojo_handle) {
+static jint Close(JNIEnv* env,
+ const JavaParamRef<jobject>& jcaller,
+ jint mojo_handle) {
return MojoClose(mojo_handle);
}
static jint Wait(JNIEnv* env,
- jobject jcaller,
- jobject buffer,
+ const JavaParamRef<jobject>& jcaller,
+ const JavaParamRef<jobject>& buffer,
jint mojo_handle,
jint signals,
jlong deadline) {
@@ -167,11 +173,11 @@ static jint Wait(JNIEnv* env,
}
static jint WriteMessage(JNIEnv* env,
- jobject jcaller,
+ const JavaParamRef<jobject>& jcaller,
jint mojo_handle,
- jobject bytes,
+ const JavaParamRef<jobject>& bytes,
jint num_bytes,
- jobject handles_buffer,
+ const JavaParamRef<jobject>& handles_buffer,
jint flags) {
const void* buffer_start = 0;
uint32_t buffer_size = 0;
@@ -193,12 +199,13 @@ static jint WriteMessage(JNIEnv* env,
mojo_handle, buffer_start, buffer_size, handles, num_handles, flags);
}
-static ScopedJavaLocalRef<jobject> ReadMessage(JNIEnv* env,
- jobject jcaller,
- jint mojo_handle,
- jobject bytes,
- jobject handles_buffer,
- jint flags) {
+static ScopedJavaLocalRef<jobject> ReadMessage(
+ JNIEnv* env,
+ const JavaParamRef<jobject>& jcaller,
+ jint mojo_handle,
+ const JavaParamRef<jobject>& bytes,
+ const JavaParamRef<jobject>& handles_buffer,
+ jint flags) {
void* buffer_start = 0;
uint32_t buffer_size = 0;
if (bytes) {
@@ -220,12 +227,13 @@ static ScopedJavaLocalRef<jobject> ReadMessage(JNIEnv* env,
num_handles);
}
-static ScopedJavaLocalRef<jobject> ReadData(JNIEnv* env,
- jobject jcaller,
- jint mojo_handle,
- jobject elements,
- jint elements_capacity,
- jint flags) {
+static ScopedJavaLocalRef<jobject> ReadData(
+ JNIEnv* env,
+ const JavaParamRef<jobject>& jcaller,
+ jint mojo_handle,
+ const JavaParamRef<jobject>& elements,
+ jint elements_capacity,
+ jint flags) {
void* buffer_start = 0;
uint32_t buffer_size = elements_capacity;
if (elements) {
@@ -239,11 +247,12 @@ static ScopedJavaLocalRef<jobject> ReadData(JNIEnv* env,
env, result, (result == MOJO_RESULT_OK) ? buffer_size : 0);
}
-static ScopedJavaLocalRef<jobject> BeginReadData(JNIEnv* env,
- jobject jcaller,
- jint mojo_handle,
- jint num_bytes,
- jint flags) {
+static ScopedJavaLocalRef<jobject> BeginReadData(
+ JNIEnv* env,
+ const JavaParamRef<jobject>& jcaller,
+ jint mojo_handle,
+ jint num_bytes,
+ jint flags) {
void const* buffer = 0;
uint32_t buffer_size = num_bytes;
MojoResult result =
@@ -257,18 +266,19 @@ static ScopedJavaLocalRef<jobject> BeginReadData(JNIEnv* env,
}
static jint EndReadData(JNIEnv* env,
- jobject jcaller,
+ const JavaParamRef<jobject>& jcaller,
jint mojo_handle,
jint num_bytes_read) {
return MojoEndReadData(mojo_handle, num_bytes_read);
}
-static ScopedJavaLocalRef<jobject> WriteData(JNIEnv* env,
- jobject jcaller,
- jint mojo_handle,
- jobject elements,
- jint limit,
- jint flags) {
+static ScopedJavaLocalRef<jobject> WriteData(
+ JNIEnv* env,
+ const JavaParamRef<jobject>& jcaller,
+ jint mojo_handle,
+ const JavaParamRef<jobject>& elements,
+ jint limit,
+ jint flags) {
void* buffer_start = env->GetDirectBufferAddress(elements);
DCHECK(buffer_start);
DCHECK(limit <= env->GetDirectBufferCapacity(elements));
@@ -279,11 +289,12 @@ static ScopedJavaLocalRef<jobject> WriteData(JNIEnv* env,
env, result, (result == MOJO_RESULT_OK) ? buffer_size : 0);
}
-static ScopedJavaLocalRef<jobject> BeginWriteData(JNIEnv* env,
- jobject jcaller,
- jint mojo_handle,
- jint num_bytes,
- jint flags) {
+static ScopedJavaLocalRef<jobject> BeginWriteData(
+ JNIEnv* env,
+ const JavaParamRef<jobject>& jcaller,
+ jint mojo_handle,
+ jint num_bytes,
+ jint flags) {
void* buffer = 0;
uint32_t buffer_size = num_bytes;
MojoResult result =
@@ -296,16 +307,17 @@ static ScopedJavaLocalRef<jobject> BeginWriteData(JNIEnv* env,
}
static jint EndWriteData(JNIEnv* env,
- jobject jcaller,
+ const JavaParamRef<jobject>& jcaller,
jint mojo_handle,
jint num_bytes_written) {
return MojoEndWriteData(mojo_handle, num_bytes_written);
}
-static ScopedJavaLocalRef<jobject> Duplicate(JNIEnv* env,
- jobject jcaller,
- jint mojo_handle,
- jobject options_buffer) {
+static ScopedJavaLocalRef<jobject> Duplicate(
+ JNIEnv* env,
+ const JavaParamRef<jobject>& jcaller,
+ jint mojo_handle,
+ const JavaParamRef<jobject>& options_buffer) {
const MojoDuplicateBufferHandleOptions* options = 0;
if (options_buffer) {
const void* buffer_start = env->GetDirectBufferAddress(options_buffer);
@@ -322,7 +334,7 @@ static ScopedJavaLocalRef<jobject> Duplicate(JNIEnv* env,
}
static ScopedJavaLocalRef<jobject> Map(JNIEnv* env,
- jobject jcaller,
+ const JavaParamRef<jobject>& jcaller,
jint mojo_handle,
jlong offset,
jlong num_bytes,
@@ -337,18 +349,21 @@ static ScopedJavaLocalRef<jobject> Map(JNIEnv* env,
return Java_CoreImpl_newResultAndBuffer(env, result, byte_buffer);
}
-static int Unmap(JNIEnv* env, jobject jcaller, jobject buffer) {
+static int Unmap(JNIEnv* env,
+ const JavaParamRef<jobject>& jcaller,
+ const JavaParamRef<jobject>& buffer) {
void* buffer_start = env->GetDirectBufferAddress(buffer);
DCHECK(buffer_start);
return MojoUnmapBuffer(buffer_start);
}
-static ScopedJavaLocalRef<jobject> AsyncWait(JNIEnv* env,
- jobject jcaller,
- jint mojo_handle,
- jint signals,
- jlong deadline,
- jobject callback) {
+static ScopedJavaLocalRef<jobject> AsyncWait(
+ JNIEnv* env,
+ const JavaParamRef<jobject>& jcaller,
+ jint mojo_handle,
+ jint signals,
+ jlong deadline,
+ const JavaParamRef<jobject>& callback) {
AsyncWaitCallbackData* callback_data =
new AsyncWaitCallbackData(env, jcaller, callback);
MojoAsyncWaitID cancel_id;
@@ -370,7 +385,7 @@ static ScopedJavaLocalRef<jobject> AsyncWait(JNIEnv* env,
}
static void CancelAsyncWait(JNIEnv* env,
- jobject jcaller,
+ const JavaParamRef<jobject>& jcaller,
jlong id,
jlong data_ptr) {
if (id == 0) {
@@ -385,8 +400,8 @@ static void CancelAsyncWait(JNIEnv* env,
}
static jint GetNativeBufferOffset(JNIEnv* env,
- jobject jcaller,
- jobject buffer,
+ const JavaParamRef<jobject>& jcaller,
+ const JavaParamRef<jobject>& buffer,
jint alignment) {
jint offset =
reinterpret_cast<uintptr_t>(env->GetDirectBufferAddress(buffer)) %
« no previous file with comments | « mojo/android/system/base_run_loop.cc ('k') | mojo/runner/android/bootstrap.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698