1 /* 2 * Copyright (C) 2020 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 /** 18 * @addtogroup NdkBinder 19 * @{ 20 */ 21 22 /** 23 * @file binder_parcel_jni.h 24 * @brief Conversions between AParcel and android.os.Parcel 25 */ 26 27 #pragma once 28 29 #include <android/binder_parcel.h> 30 31 #include <jni.h> 32 33 __BEGIN_DECLS 34 35 /** 36 * Converts an android.os.Parcel object into an AParcel* object. 37 * 38 * If the parcel is null, null is returned. 39 * 40 * Available since API level 30. 41 * 42 * \param env Java environment. Must not be null. 43 * \param parcel android.os.Parcel java object. 44 * 45 * \return an AParcel object representing the Java parcel object. If either parameter is null, this 46 * will return null. This must be deleted with AParcel_delete. This does not take ownership of the 47 * jobject and is only good for as long as the jobject is alive. 48 */ 49 __attribute__((warn_unused_result)) AParcel* AParcel_fromJavaParcel(JNIEnv* env, jobject parcel) 50 __INTRODUCED_IN(30); 51 52 __END_DECLS 53 54 /** @} */ 55