blob: 293e5ac469adc0f19dff504fcc288cae09290e90 [file] [log] [blame]
Craig Donnerc7e8dae2017-01-03 10:24:58 -08001/*
2 * Copyright (C) 2017 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17/**
Krzysztof Kosiński22fb2ff2019-05-14 19:22:59 -070018 * @addtogroup AHardwareBuffer
19 * @{
20 */
21
22/**
Craig Donnerc7e8dae2017-01-03 10:24:58 -080023 * @file hardware_buffer_jni.h
Krzysztof Kosiński22fb2ff2019-05-14 19:22:59 -070024 * @brief JNI glue for native hardware buffers.
Craig Donnerc7e8dae2017-01-03 10:24:58 -080025 */
26
27#ifndef ANDROID_HARDWARE_BUFFER_JNI_H
28#define ANDROID_HARDWARE_BUFFER_JNI_H
29
30#include <sys/cdefs.h>
31
32#include <android/hardware_buffer.h>
33
34#include <jni.h>
35
36__BEGIN_DECLS
37
38/**
Krzysztof Kosiński22fb2ff2019-05-14 19:22:59 -070039 * Return the AHardwareBuffer wrapped by a Java HardwareBuffer object.
40 *
41 * This method does not acquire any additional reference to the AHardwareBuffer
42 * that is returned. To keep the AHardwareBuffer live after the Java
43 * HardwareBuffer object got garbage collected, be sure to use AHardwareBuffer_acquire()
44 * to acquire an additional reference.
Elliott Hughes05565472019-10-29 08:59:39 -070045 *
46 * Available since API level 26.
Craig Donnerc7e8dae2017-01-03 10:24:58 -080047 */
48AHardwareBuffer* AHardwareBuffer_fromHardwareBuffer(JNIEnv* env,
Krzysztof Kosiński22fb2ff2019-05-14 19:22:59 -070049 jobject hardwareBufferObj) __INTRODUCED_IN(26);
Craig Donnerc7e8dae2017-01-03 10:24:58 -080050
51/**
52 * Return a new Java HardwareBuffer object that wraps the passed native
53 * AHardwareBuffer object.
Elliott Hughes05565472019-10-29 08:59:39 -070054 *
55 * Available since API level 26.
Craig Donnerc7e8dae2017-01-03 10:24:58 -080056 */
57jobject AHardwareBuffer_toHardwareBuffer(JNIEnv* env,
Krzysztof Kosiński22fb2ff2019-05-14 19:22:59 -070058 AHardwareBuffer* hardwareBuffer) __INTRODUCED_IN(26);
Craig Donnerc7e8dae2017-01-03 10:24:58 -080059
60__END_DECLS
61
62#endif // ANDROID_HARDWARE_BUFFER_JNI_H
Krzysztof Kosiński22fb2ff2019-05-14 19:22:59 -070063
64/** @} */