replicant-frameworks_native/libs/utils
Christopher Tate 5c2882b25c Preserve file access mode when backing up / restoring files
This change adds a fixed-size metadata block at the head of each file's content
entity.  The block is versioned, and fixed-size on the theory that it might be
nice to be able to recover the content (if not the full metadata) of the files
if we're ever confronted with data backed up some hypothetical future helper
that stored expanded metadata.

The net effect is that now on restore, we assign the same access mode to the
file that it originally had when backed up.

Also, some of the code was failing to properly free transient heap-based buffers
when it encountered errors.  This has been fixed with the addition of a tiny
stack-based object whose job it is to free() its designated pointer from its
destructor.
2009-06-23 17:40:44 -07:00
..
Android.mk rename a few files to camel-case, add copyright notices 2009-06-04 13:53:57 -07:00
Asset.cpp
AssetDir.cpp
AssetManager.cpp Update aapt badging for native code, configs, density, etc. 2009-05-18 15:22:00 -07:00
BackupData.cpp Helper API cleanup. Allows multiple helpers to function, 2009-06-22 13:02:24 -07:00
BackupHelpers.cpp Preserve file access mode when backing up / restoring files 2009-06-23 17:40:44 -07:00
Binder.cpp
BpBinder.cpp
BufferedTextOutput.cpp
CallStack.cpp
CharacterData.h rename a few files to camel-case, add copyright notices 2009-06-04 13:53:57 -07:00
Debug.cpp
executablepath_darwin.cpp
executablepath_linux.cpp
FileMap.cpp
futex_synchro.c This should fix the simulator build. 2009-05-22 12:25:56 -07:00
IDataConnection.cpp
IInterface.cpp
IMemory.cpp
InetAddress.cpp
IPCThreadState.cpp
IPermissionController.cpp
IServiceManager.cpp
LogSocket.cpp
MemoryBase.cpp
MemoryDealer.cpp
MemoryHeapBase.cpp
MemoryHeapPmem.cpp
misc.cpp
MODULE_LICENSE_APACHE2
NOTICE
Parcel.cpp Fix a major bug in Bundle when unparcelling from AIDL. 2009-05-22 13:51:47 -07:00
Pipe.cpp
ported.cpp
ProcessState.cpp
README
RefBase.cpp
ResourceTypes.cpp fix warnings that will show up with GCC 4.4 (in master) 2009-06-22 02:35:32 -07:00
SharedBuffer.cpp
Socket.cpp
Static.cpp
StopWatch.cpp
String8.cpp
String16.cpp
SystemClock.cpp
TextOutput.cpp
Threads.cpp
TimerProbe.cpp
Timers.cpp
Unicode.cpp rename a few files to camel-case, add copyright notices 2009-06-04 13:53:57 -07:00
VectorImpl.cpp
ZipEntry.cpp rename a few files to camel-case, add copyright notices 2009-06-04 13:53:57 -07:00
ZipFile.cpp rename a few files to camel-case, add copyright notices 2009-06-04 13:53:57 -07:00
ZipFileCRO.cpp rename a few files to camel-case, add copyright notices 2009-06-04 13:53:57 -07:00
ZipFileRO.cpp rename a few files to camel-case, add copyright notices 2009-06-04 13:53:57 -07:00
ZipUtils.cpp rename a few files to camel-case, add copyright notices 2009-06-04 13:53:57 -07:00

Android Utility Function Library

If you need a feature that is native to Linux but not present on other
platforms, construct a platform-dependent implementation that shares
the Linux interface.  That way the actual device runs as "light" as
possible.

If that isn't feasible, create a system-independent interface and hide
the details.

The ultimate goal is *not* to create a super-duper platform abstraction
layer.  The goal is to provide an optimized solution for Linux with
reasonable implementations for other platforms.