aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorandroid-build-prod (mdb) <android-build-team-robot@google.com>2020-09-24 00:01:37 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2020-09-24 00:01:37 +0000
commitef9b4fec89644f323ae7c785cac092cf7c51262b (patch)
treef707a3c5499ffbfc0254f7e238f8eb5b09c12170
parent18b104885d320cd033837c892566d533fbedc451 (diff)
parentd6f20fa0d339241c4b058bc039aab4fabc16f434 (diff)
downloadplatform_libnativehelper-simpleperf-release.tar.gz
platform_libnativehelper-simpleperf-release.tar.bz2
platform_libnativehelper-simpleperf-release.zip
Merge "Snap for 6859336 from 67ebae821c782461d69beb1d9d27d9ca6979d27a to simpleperf-release" into simpleperf-releasesimpleperf-release
-rw-r--r--header_only_include/nativehelper/scoped_bytes.h82
-rw-r--r--include/nativehelper/ScopedBytes.h21
-rw-r--r--tests/Android.bp1
-rw-r--r--tests/scoped_bytes_test.cpp31
4 files changed, 0 insertions, 135 deletions
diff --git a/header_only_include/nativehelper/scoped_bytes.h b/header_only_include/nativehelper/scoped_bytes.h
deleted file mode 100644
index f58efa4..0000000
--- a/header_only_include/nativehelper/scoped_bytes.h
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#pragma once
-
-#include <jni.h>
-
-#include "nativehelper_utils.h"
-
-/**
- * ScopedBytesRO and ScopedBytesRW attempt to paper over the differences between byte[]s and
- * ByteBuffers. This in turn helps paper over the differences between non-direct ByteBuffers backed
- * by byte[]s, direct ByteBuffers backed by bytes[]s, and direct ByteBuffers not backed by byte[]s.
- * (On Android, this last group only contains MappedByteBuffers.)
- */
-template<bool readOnly>
-class ScopedBytes {
-public:
- ScopedBytes(JNIEnv* env, jobject object)
- : mEnv(env), mObject(object), mByteArray(nullptr), mPtr(nullptr)
- {
- if (mObject == nullptr) {
- jniThrowNullPointerException(mEnv);
- } else {
- jclass byteArrayClass = env->FindClass("[B");
- if (mEnv->IsInstanceOf(mObject, byteArrayClass)) {
- mByteArray = reinterpret_cast<jbyteArray>(mObject);
- mPtr = mEnv->GetByteArrayElements(mByteArray, nullptr);
- } else {
- mPtr = reinterpret_cast<jbyte*>(mEnv->GetDirectBufferAddress(mObject));
- }
- mEnv->DeleteLocalRef(byteArrayClass);
- }
- }
-
- ~ScopedBytes() {
- if (mByteArray != nullptr) {
- mEnv->ReleaseByteArrayElements(mByteArray, mPtr, readOnly ? JNI_ABORT : 0);
- }
- }
-
-private:
- JNIEnv* const mEnv;
- const jobject mObject;
- jbyteArray mByteArray;
-
-protected:
- jbyte* mPtr;
-
-private:
- DISALLOW_COPY_AND_ASSIGN(ScopedBytes);
-};
-
-class ScopedBytesRO : public ScopedBytes<true> {
-public:
- ScopedBytesRO(JNIEnv* env, jobject object) : ScopedBytes<true>(env, object) {}
- const jbyte* get() const {
- return mPtr;
- }
-};
-
-class ScopedBytesRW : public ScopedBytes<false> {
-public:
- ScopedBytesRW(JNIEnv* env, jobject object) : ScopedBytes<false>(env, object) {}
- jbyte* get() {
- return mPtr;
- }
-};
-
diff --git a/include/nativehelper/ScopedBytes.h b/include/nativehelper/ScopedBytes.h
deleted file mode 100644
index 7c369b1..0000000
--- a/include/nativehelper/ScopedBytes.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#pragma once
-
-#include "JNIHelp.h"
-#include <nativehelper/scoped_bytes.h>
-
diff --git a/tests/Android.bp b/tests/Android.bp
index ecf4c4a..9ac1260 100644
--- a/tests/Android.bp
+++ b/tests/Android.bp
@@ -5,7 +5,6 @@ cc_test {
test_suites: ["device-tests"],
host_supported: true,
srcs: [
- "scoped_bytes_test.cpp",
"scoped_local_frame_test.cpp",
"scoped_local_ref_test.cpp",
"scoped_primitive_array_test.cpp",
diff --git a/tests/scoped_bytes_test.cpp b/tests/scoped_bytes_test.cpp
deleted file mode 100644
index 17f0a5c..0000000
--- a/tests/scoped_bytes_test.cpp
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Copyright (C) 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "nativehelper/scoped_bytes.h"
-
-// This is a test that scoped headers work independently.
-
-void TestCompilationScopedBytesRO(JNIEnv* env) {
- jobject o = nullptr;
- ScopedBytesRO sb(env, o);
- sb.get();
-}
-
-void TestCompilationScopedBytesRW(JNIEnv* env) {
- jobject o = nullptr;
- ScopedBytesRW sb(env, o);
- sb.get();
-}