diff options
author | Orion Hodson <oth@google.com> | 2021-04-22 13:12:02 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2021-04-22 13:12:02 +0000 |
commit | d8553006aaa675cf5901b3126d218b585f800c43 (patch) | |
tree | 3e4f039ebf54a184d4f28a1272e82357057bc0db | |
parent | 168e9b4deb28fc10e014946a933973e1153a843c (diff) | |
parent | 352d0a475c85303172cf7a44a617805927b8150b (diff) | |
download | libnativehelper-d8553006aaa675cf5901b3126d218b585f800c43.tar.gz |
Merge "libnativehelper: add AFileDescriptor_{set,get}Fd" am: d92c714456 am: bcf00811a2 am: 352d0a475c
Original change: https://android-review.googlesource.com/c/platform/libnativehelper/+/1683325
Change-Id: I3d9f90c661955286741a716493beb08a2f06cd5c
-rw-r--r-- | file_descriptor_jni.c | 15 | ||||
-rw-r--r-- | include/android/file_descriptor_jni.h | 6 | ||||
-rw-r--r-- | libnativehelper.map.txt | 6 | ||||
-rw-r--r-- | libnativehelper_lazy.c | 22 |
4 files changed, 41 insertions, 8 deletions
diff --git a/file_descriptor_jni.c b/file_descriptor_jni.c index 7218a18..4a8a053 100644 --- a/file_descriptor_jni.c +++ b/file_descriptor_jni.c @@ -36,12 +36,23 @@ JNIEXPORT _Nullable jobject AFileDescriptor_create(JNIEnv* env) { JniConstants_FileDescriptor_init(env)); } -JNIEXPORT int AFileDescriptor_getFD(JNIEnv* env, jobject fileDescriptor) { +JNIEXPORT int AFileDescriptor_getFd(JNIEnv* env, jobject fileDescriptor) { EnsureArgumentIsFileDescriptor(env, fileDescriptor); return (*env)->GetIntField(env, fileDescriptor, JniConstants_FileDescriptor_descriptor(env)); } -JNIEXPORT void AFileDescriptor_setFD(JNIEnv* env, jobject fileDescriptor, int fd) { +JNIEXPORT int AFileDescriptor_getFD(JNIEnv* env, jobject fileDescriptor) { + // Method deprecated pending removal (b/185256332). + return AFileDescriptor_getFd(env, fileDescriptor); +} + +JNIEXPORT void AFileDescriptor_setFd(JNIEnv* env, jobject fileDescriptor, int fd) { EnsureArgumentIsFileDescriptor(env, fileDescriptor); (*env)->SetIntField(env, fileDescriptor, JniConstants_FileDescriptor_descriptor(env), fd); } + + +JNIEXPORT void AFileDescriptor_setFD(JNIEnv* env, jobject fileDescriptor, int fd) { + // Method deprecated pending removal (b/185256332). + AFileDescriptor_setFd(env, fileDescriptor, fd); +} diff --git a/include/android/file_descriptor_jni.h b/include/android/file_descriptor_jni.h index 793f7bc..4d4afa1 100644 --- a/include/android/file_descriptor_jni.h +++ b/include/android/file_descriptor_jni.h @@ -60,6 +60,9 @@ jobject AFileDescriptor_create(JNIEnv* env) __INTRODUCED_IN(31); * \param fileDescriptor a java.io.FileDescriptor instance. * \return the Unix file descriptor wrapped by \a fileDescriptor. */ +int AFileDescriptor_getFd(JNIEnv* env, jobject fileDescriptor) __INTRODUCED_IN(31); + +// Deprecated equivalent of AFileDescriptor_getFd (b/185256332). int AFileDescriptor_getFD(JNIEnv* env, jobject fileDescriptor) __INTRODUCED_IN(31); /** @@ -77,6 +80,9 @@ int AFileDescriptor_getFD(JNIEnv* env, jobject fileDescriptor) __INTRODUCED_IN(3 * \param fileDescriptor a java.io.FileDescriptor instance. * \param fd a Unix file descriptor that \a fileDescriptor will subsequently represent. */ +void AFileDescriptor_setFd(JNIEnv* env, jobject fileDescriptor, int fd) __INTRODUCED_IN(31); + +// Deprecated equivalent of AFileDescriptor_setFd (b/185256332). void AFileDescriptor_setFD(JNIEnv* env, jobject fileDescriptor, int fd) __INTRODUCED_IN(31); __END_DECLS diff --git a/libnativehelper.map.txt b/libnativehelper.map.txt index 0f5c3fa..b4c6d41 100644 --- a/libnativehelper.map.txt +++ b/libnativehelper.map.txt @@ -2,8 +2,10 @@ LIBNATIVEHELPER_S { # introduced=S global: # NDK API for libnativehelper. AFileDescriptor_create; - AFileDescriptor_getFD; - AFileDescriptor_setFD; + AFileDescriptor_getFd; + AFileDescriptor_setFd; + AFileDescriptor_getFD; // Deprecated pending removal (b/185256332). + AFileDescriptor_setFD; // Deprecated pending removal (b/185256332). # JNI Invocation methods available to platform and apps. JNI_CreateJavaVM; diff --git a/libnativehelper_lazy.c b/libnativehelper_lazy.c index e4795a0..9f696c3 100644 --- a/libnativehelper_lazy.c +++ b/libnativehelper_lazy.c @@ -39,8 +39,10 @@ enum MethodIndex { // NDK file descriptor API in file_descriptor_jni.h. k_AFileDescriptor_create, - k_AFileDescriptor_getFD, - k_AFileDescriptor_setFD, + k_AFileDescriptor_getFd, + k_AFileDescriptor_setFd, + k_AFileDescriptor_getFD, // Deprecated pending removal (b/185256332). + k_AFileDescriptor_setFD, // Deprecated pending removal (b/185256332). // JNI_Invocation API declared in jni.h. k_JNI_CreateJavaVM, @@ -122,8 +124,10 @@ static void InitializeOnce() { // NDK file descriptor API in file_descriptor_jni.h. BIND_SYMBOL(AFileDescriptor_create); - BIND_SYMBOL(AFileDescriptor_getFD); - BIND_SYMBOL(AFileDescriptor_setFD); + BIND_SYMBOL(AFileDescriptor_getFd); + BIND_SYMBOL(AFileDescriptor_setFd); + BIND_SYMBOL(AFileDescriptor_getFD); // Deprecated pending removal (b/185256332). + BIND_SYMBOL(AFileDescriptor_setFD); // Deprecated pending removal (b/185256332). // JNI_Invocation API declared in jni.h. BIND_SYMBOL(JNI_CreateJavaVM); @@ -194,6 +198,16 @@ jobject AFileDescriptor_create(JNIEnv* env) { INVOKE_METHOD(AFileDescriptor_create, M, env); } +int AFileDescriptor_getFd(JNIEnv* env, jobject fileDescriptor) { + typedef int (*M)(JNIEnv*, jobject); + INVOKE_METHOD(AFileDescriptor_getFd, M, env, fileDescriptor); +} + +void AFileDescriptor_setFd(JNIEnv* env, jobject fileDescriptor, int fd) { + typedef void (*M)(JNIEnv*, jobject, int); + INVOKE_VOID_METHOD(AFileDescriptor_setFd, M, env, fileDescriptor, fd); +} + int AFileDescriptor_getFD(JNIEnv* env, jobject fileDescriptor) { typedef int (*M)(JNIEnv*, jobject); INVOKE_METHOD(AFileDescriptor_getFD, M, env, fileDescriptor); |