179b946e8f2ccb552e1a3fe8222f660b9a76cc001Dianne Hackborn/*
279b946e8f2ccb552e1a3fe8222f660b9a76cc001Dianne Hackborn * Copyright (C) 2010 The Android Open Source Project
379b946e8f2ccb552e1a3fe8222f660b9a76cc001Dianne Hackborn *
479b946e8f2ccb552e1a3fe8222f660b9a76cc001Dianne Hackborn * Licensed under the Apache License, Version 2.0 (the "License");
579b946e8f2ccb552e1a3fe8222f660b9a76cc001Dianne Hackborn * you may not use this file except in compliance with the License.
679b946e8f2ccb552e1a3fe8222f660b9a76cc001Dianne Hackborn * You may obtain a copy of the License at
779b946e8f2ccb552e1a3fe8222f660b9a76cc001Dianne Hackborn *
879b946e8f2ccb552e1a3fe8222f660b9a76cc001Dianne Hackborn *      http://www.apache.org/licenses/LICENSE-2.0
979b946e8f2ccb552e1a3fe8222f660b9a76cc001Dianne Hackborn *
1079b946e8f2ccb552e1a3fe8222f660b9a76cc001Dianne Hackborn * Unless required by applicable law or agreed to in writing, software
1179b946e8f2ccb552e1a3fe8222f660b9a76cc001Dianne Hackborn * distributed under the License is distributed on an "AS IS" BASIS,
1279b946e8f2ccb552e1a3fe8222f660b9a76cc001Dianne Hackborn * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1379b946e8f2ccb552e1a3fe8222f660b9a76cc001Dianne Hackborn * See the License for the specific language governing permissions and
1479b946e8f2ccb552e1a3fe8222f660b9a76cc001Dianne Hackborn * limitations under the License.
1579b946e8f2ccb552e1a3fe8222f660b9a76cc001Dianne Hackborn */
1679b946e8f2ccb552e1a3fe8222f660b9a76cc001Dianne Hackborn
1779b946e8f2ccb552e1a3fe8222f660b9a76cc001Dianne Hackborn
1879b946e8f2ccb552e1a3fe8222f660b9a76cc001Dianne Hackborn#ifndef ANDROID_ASSET_MANAGER_JNI_H
1979b946e8f2ccb552e1a3fe8222f660b9a76cc001Dianne Hackborn#define ANDROID_ASSET_MANAGER_JNI_H
2079b946e8f2ccb552e1a3fe8222f660b9a76cc001Dianne Hackborn
2179b946e8f2ccb552e1a3fe8222f660b9a76cc001Dianne Hackborn#include <android/asset_manager.h>
2279b946e8f2ccb552e1a3fe8222f660b9a76cc001Dianne Hackborn#include <jni.h>
2379b946e8f2ccb552e1a3fe8222f660b9a76cc001Dianne Hackborn
2490887627f185ea795fd8620bb916bd14a9f51041David 'Digit' Turner#ifdef __cplusplus
2590887627f185ea795fd8620bb916bd14a9f51041David 'Digit' Turnerextern "C" {
2690887627f185ea795fd8620bb916bd14a9f51041David 'Digit' Turner#endif
2779b946e8f2ccb552e1a3fe8222f660b9a76cc001Dianne Hackborn
2879b946e8f2ccb552e1a3fe8222f660b9a76cc001Dianne Hackborn/**
2979b946e8f2ccb552e1a3fe8222f660b9a76cc001Dianne Hackborn * Given a Dalvik AssetManager object, obtain the corresponding native AAssetManager
3079b946e8f2ccb552e1a3fe8222f660b9a76cc001Dianne Hackborn * object.  Note that the caller is responsible for obtaining and holding a VM reference
3179b946e8f2ccb552e1a3fe8222f660b9a76cc001Dianne Hackborn * to the jobject to prevent its being garbage collected while the native object is
3279b946e8f2ccb552e1a3fe8222f660b9a76cc001Dianne Hackborn * in use.
3379b946e8f2ccb552e1a3fe8222f660b9a76cc001Dianne Hackborn */
3479b946e8f2ccb552e1a3fe8222f660b9a76cc001Dianne HackbornAAssetManager* AAssetManager_fromJava(JNIEnv* env, jobject assetManager);
3579b946e8f2ccb552e1a3fe8222f660b9a76cc001Dianne Hackborn
3690887627f185ea795fd8620bb916bd14a9f51041David 'Digit' Turner#ifdef __cplusplus
3790887627f185ea795fd8620bb916bd14a9f51041David 'Digit' Turner};
3890887627f185ea795fd8620bb916bd14a9f51041David 'Digit' Turner#endif
3979b946e8f2ccb552e1a3fe8222f660b9a76cc001Dianne Hackborn
4090887627f185ea795fd8620bb916bd14a9f51041David 'Digit' Turner#endif      // ANDROID_ASSET_MANAGER_JNI_H
41