replicant-frameworks_native/libs/utils
..
Android.mk
Asset.cpp
AssetDir.cpp
AssetManager.cpp
Binder.cpp
BpBinder.cpp
BufferedTextOutput.cpp
CallStack.cpp
characterData.h
Debug.cpp
executablepath_darwin.cpp
executablepath_linux.cpp
FileMap.cpp
futex_synchro.c
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
Pipe.cpp
ported.cpp
ProcessState.cpp
README
RefBase.cpp
ResourceTypes.cpp
SharedBuffer.cpp
Socket.cpp
Static.cpp
StopWatch.cpp
String8.cpp
String16.cpp
SystemClock.cpp
TextOutput.cpp
Threads.cpp
TimerProbe.cpp
Timers.cpp
Unicode.cpp
VectorImpl.cpp
ZipEntry.cpp
ZipFile.cpp
ZipFileCRO.cpp
ZipFileRO.cpp
ZipUtils.cpp

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.