summaryrefslogtreecommitdiffstats
path: root/include/utils/Flattenable.h
Commit message (Collapse)AuthorAgeFilesLines
* minor tweaks to FlattenableUtilsMathias Agopian2013-08-011-5/+8
| | | | Change-Id: Ibfceec36434baac92c8815a18d902375d3fa1a6d
* Make Flattenable not virtual (libutils)Mathias Agopian2013-07-311-25/+86
| | | | | | | | | | | | 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
* improve [un]marshalling of non-binder objectsMathias Agopian2013-07-301-0/+72
| | | | | | | | | | | | | | | | | 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
* remove a dependency of GraphicBuffer (libui) on Parcel (libbinder).Mathias Agopian2013-07-301-0/+62
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.