android_system_core/libs/utils
Christopher Tate ad2030d99e 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.
2013-07-30 13:56:51 -07:00
..
Android.mk get rid of LogSocket which wasn't even implemented (enabled) 2013-07-30 13:56:50 -07:00
Asset.cpp auto import from //depot/cupcake/@135843 2013-07-30 13:56:49 -07:00
AssetDir.cpp auto import from //depot/cupcake/@135843 2013-07-30 13:56:49 -07:00
AssetManager.cpp Update aapt badging for native code, configs, density, etc. 2013-07-30 13:56:50 -07:00
BackupData.cpp Helper API cleanup. Allows multiple helpers to function, 2013-07-30 13:56:50 -07:00
BackupHelpers.cpp Preserve file access mode when backing up / restoring files 2013-07-30 13:56:51 -07:00
BufferedTextOutput.cpp auto import from //depot/cupcake/@135843 2013-07-30 13:56:49 -07:00
CallStack.cpp some work to try to reduce the code size of some native libraries 2013-07-30 13:56:50 -07:00
CharacterData.h rename a few files to camel-case, add copyright notices 2013-07-30 13:56:50 -07:00
Debug.cpp auto import from //depot/cupcake/@135843 2013-07-30 13:56:49 -07:00
file_backup_helper.cpp donut snapshot 2013-07-30 13:56:50 -07:00
FileMap.cpp auto import from //depot/cupcake/@135843 2013-07-30 13:56:49 -07:00
futex_synchro.c This should fix the simulator build. 2013-07-30 13:56:50 -07:00
misc.cpp auto import from //depot/cupcake/@135843 2013-07-30 13:56:49 -07:00
MODULE_LICENSE_APACHE2 auto import from //depot/cupcake/@135843 2013-07-30 13:56:49 -07:00
NOTICE auto import from //depot/cupcake/@135843 2013-07-30 13:56:49 -07:00
README auto import from //depot/cupcake/@135843 2013-07-30 13:56:49 -07:00
RefBase.cpp auto import from //depot/cupcake/@135843 2013-07-30 13:56:49 -07:00
ResourceTypes.cpp fix warnings that will show up with GCC 4.4 (in master) 2013-07-30 13:56:50 -07:00
SharedBuffer.cpp auto import from //depot/cupcake/@135843 2013-07-30 13:56:49 -07:00
Static.cpp checkpoint: split libutils into libutils + libbinder 2013-07-30 13:56:50 -07:00
StopWatch.cpp auto import from //depot/cupcake/@135843 2013-07-30 13:56:49 -07:00
String8.cpp auto import from //depot/cupcake/@135843 2013-07-30 13:56:49 -07:00
String16.cpp auto import from //branches/cupcake/...@137873 2013-07-30 13:56:49 -07:00
StringArray.cpp rename string_array.h to StringArray.h and move the implementation from the header file to a new cpp file. 2013-07-30 13:56:50 -07:00
SystemClock.cpp auto import from //depot/cupcake/@135843 2013-07-30 13:56:49 -07:00
TextOutput.cpp some work to try to reduce the code size of some native libraries 2013-07-30 13:56:50 -07:00
Threads.cpp auto import from //depot/cupcake/@136594 2013-07-30 13:56:49 -07:00
Timers.cpp get rid of sleepForInterval() which didn't seem to be used anywhere in the source tree. Also get rid of ported.h which seem to be used only (possibly) in the sim. moved the implementation there. 2013-07-30 13:56:50 -07:00
Unicode.cpp rename a few files to camel-case, add copyright notices 2013-07-30 13:56:50 -07:00
VectorImpl.cpp auto import from //depot/cupcake/@135843 2013-07-30 13:56:49 -07:00
ZipFileCRO.cpp rename a few files to camel-case, add copyright notices 2013-07-30 13:56:50 -07:00
ZipFileRO.cpp rename a few files to camel-case, add copyright notices 2013-07-30 13:56:50 -07:00
ZipUtils.cpp rename a few files to camel-case, add copyright notices 2013-07-30 13:56:50 -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.