1/* //device/libs/android_runtime/android_util_Binder.h
2**
3** Copyright 2006, The Android Open Source Project
4**
5** Licensed under the Apache License, Version 2.0 (the "License");
6** you may not use this file except in compliance with the License.
7** You may obtain a copy of the License at
8**
9**     http://www.apache.org/licenses/LICENSE-2.0
10**
11** Unless required by applicable law or agreed to in writing, software
12** distributed under the License is distributed on an "AS IS" BASIS,
13** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14** See the License for the specific language governing permissions and
15** limitations under the License.
16*/
17
18#ifndef ANDROID_UTIL_BINDER_H
19#define ANDROID_UTIL_BINDER_H
20
21#include <binder/IBinder.h>
22
23#include "jni.h"
24
25namespace android {
26
27// Converstion to/from Java IBinder Object and C++ IBinder instance.
28extern jobject javaObjectForIBinder(JNIEnv* env, const sp<IBinder>& val);
29extern sp<IBinder> ibinderForJavaObject(JNIEnv* env, jobject obj);
30
31extern jobject newParcelFileDescriptor(JNIEnv* env, jobject fileDesc);
32
33extern void set_dalvik_blockguard_policy(JNIEnv* env, jint strict_policy);
34
35extern void signalExceptionForError(JNIEnv* env, jobject obj, status_t err,
36        bool canThrowRemoteException = false, int parcelSize = 0);
37
38}
39
40#endif
41