History log of /system/core/include/utils/Flattenable.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
ddff6230495b66312ad93f652d0c79069a64dbbd 01-Aug-2013 Mathias Agopian <mathias@google.com> minor tweaks to FlattenableUtils

Change-Id: Ibfceec36434baac92c8815a18d902375d3fa1a6d
/system/core/include/utils/Flattenable.h
6d611a891d0c818bf3a34a7cad036f3f0064bc4a 30-Jul-2013 Mathias Agopian <mathias@google.com> Make Flattenable not virtual (libutils)

Making an object Flattenable doesn't force it to
become virtual anymore. For instance, Fence and GraphicBuffer
are now non-virtual classes.

Also change Flatennable protocol a bit so that it updates
its parameters (pointers, sizes) to make it easier
to implement a flattenable in terms of other flattenables.

Change-Id: Ie81dc7637180b3c2cfcbaf644f8987ca804eb891
/system/core/include/utils/Flattenable.h
2497a1524dd909d0eb933544c94d2c2e9e2c3394 13-Aug-2012 Mathias Agopian <mathias@google.com> improve [un]marshalling of non-binder objects

this change introduces a new class LightFlattenable<> which is
a protocol to flatten simple objects that don't require
binders or file descriptors; the benefit of this protocol is that
it doesn't require the objects to have a virtual table and give us
a consitant way of doing this.

we also introduce an implementation of this protocol for
POD structures, LightFlattenablePod<>.

Parcel has been update to handle this protocol automatically.

Sensor, Rect, Point and Region now use this new protocol.

Change-Id: Icb3ce7fa1d785249eb666f39c2129f2fc143ea4a
/system/core/include/utils/Flattenable.h
a580e68cc3bea688167eb5e55122bec8e83ab939 12-Feb-2010 Mathias Agopian <mathias@google.com> remove a dependency of GraphicBuffer (libui) on Parcel (libbinder).

Add a Flattenable interface to libutils which can be used to flatten
an object into bytestream + filedescriptor stream.
Parcel is modified to handle Flattenable. And GraphicBuffer implements
Flattenable.

Except for the overlay classes libui is now independent of libbinder.
/system/core/include/utils/Flattenable.h