From c2d70d2a98f83a655d63c5d7ade5bc05d9f4d4ad Mon Sep 17 00:00:00 2001 From: Dianne Hackborn Date: Thu, 21 Oct 2010 21:09:47 -0700 Subject: [PATCH] Update native headers/library to match current platform. Change-Id: I40ef2fa924881b9653fcddcd09c14455ac1ef37e --- .../android-9/arch-arm/lib/libandroid.so | Bin 60704 -> 60848 bytes .../include/android/native_activity.h | 6 ++ .../include/android/storage_manager.h | 69 ++++++++++++++++-- 3 files changed, 67 insertions(+), 8 deletions(-) diff --git a/ndk/platforms/android-9/arch-arm/lib/libandroid.so b/ndk/platforms/android-9/arch-arm/lib/libandroid.so index e8afccdcb4f555e47e493398cdb6a554b619a238..1ac0a9cc640d4e10fd1b7c16a9727b4f3bb51639 100644 GIT binary patch literal 60848 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 literal 60704 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 oxk!#9(Dbc + #ifdef __cplusplus extern "C" { #endif @@ -25,6 +27,60 @@ extern "C" { struct AStorageManager; typedef struct AStorageManager AStorageManager; +enum { + /* + * The OBB container is now mounted and ready for use. Can be returned + * as the status for callbacks made during asynchronous OBB actions. + */ + AOBB_STATE_MOUNTED = 1, + + /* + * The OBB container is now unmounted and not usable. Can be returned + * as the status for callbacks made during asynchronous OBB actions. + */ + AOBB_STATE_UNMOUNTED = 2, + + /* + * There was an internal system error encountered while trying to + * mount the OBB. Can be returned as the status for callbacks made + * during asynchronous OBB actions. + */ + AOBB_STATE_ERROR_INTERNAL = 20, + + /* + * The OBB could not be mounted by the system. Can be returned as the + * status for callbacks made during asynchronous OBB actions. + */ + AOBB_STATE_ERROR_COULD_NOT_MOUNT = 21, + + /* + * The OBB could not be unmounted. This most likely indicates that a + * file is in use on the OBB. Can be returned as the status for + * callbacks made during asynchronous OBB actions. + */ + AOBB_STATE_ERROR_COULD_NOT_UNMOUNT = 22, + + /* + * A call was made to unmount the OBB when it was not mounted. Can be + * returned as the status for callbacks made during asynchronous OBB + * actions. + */ + AOBB_STATE_ERROR_NOT_MOUNTED = 23, + + /* + * The OBB has already been mounted. Can be returned as the status for + * callbacks made during asynchronous OBB actions. + */ + AOBB_STATE_ERROR_ALREADY_MOUNTED = 24, + + /* + * The current application does not have permission to use this OBB. + * This could be because the OBB indicates it's owned by a different + * package. Can be returned as the status for callbacks made during + * asynchronous OBB actions. + */ + AOBB_STATE_ERROR_PERMISSION_DENIED = 25, +}; /** * Obtains a new instance of AStorageManager. @@ -39,22 +95,19 @@ void AStorageManager_delete(AStorageManager* mgr); /** * Callback function for asynchronous calls made on OBB files. */ -typedef void (*AStorageManager_obbCallbackFunc)(const char* filename, const char* state, void* data); - -/** - * Callback to call when requested asynchronous OBB operation is complete. - */ -void AStorageManager_setObbCallback(AStorageManager* mgr, AStorageManager_obbCallbackFunc cb, void* data); +typedef void (*AStorageManager_obbCallbackFunc)(const char* filename, const int32_t state, void* data); /** * Attempts to mount an OBB file. This is an asynchronous operation. */ -void AStorageManager_mountObb(AStorageManager* mgr, const char* filename, const char* key); +void AStorageManager_mountObb(AStorageManager* mgr, const char* filename, const char* key, + AStorageManager_obbCallbackFunc cb, void* data); /** * Attempts to unmount an OBB file. This is an asynchronous operation. */ -void AStorageManager_unmountObb(AStorageManager* mgr, const char* filename, const int force); +void AStorageManager_unmountObb(AStorageManager* mgr, const char* filename, const int force, + AStorageManager_obbCallbackFunc cb, void* data); /** * Check whether an OBB is mounted.