am 37b44969: Add support for writing byte arrays to parcels

* commit '37b44969c0ca1d00e213da685dfbb2807f2bab30':
  Add support for writing byte arrays to parcels
This commit is contained in:
Marco Nelissen 2014-03-20 10:04:42 -07:00 committed by Android Git Automerger
commit 1f70863d13
2 changed files with 12 additions and 0 deletions

View File

@ -101,6 +101,7 @@ public:
status_t writeStrongBinder(const sp<IBinder>& val); status_t writeStrongBinder(const sp<IBinder>& val);
status_t writeWeakBinder(const wp<IBinder>& val); status_t writeWeakBinder(const wp<IBinder>& val);
status_t write(const Flattenable& val); status_t write(const Flattenable& val);
status_t writeByteArray(size_t len, const uint8_t *val);
// Place a native_handle into the parcel (the native_handle's file- // Place a native_handle into the parcel (the native_handle's file-
// descriptors are dup'ed, so it is safe to delete the native_handle // descriptors are dup'ed, so it is safe to delete the native_handle

View File

@ -617,6 +617,17 @@ status_t Parcel::writeInt32(int32_t val)
return writeAligned(val); return writeAligned(val);
} }
status_t Parcel::writeByteArray(size_t len, const uint8_t *val) {
if (!val) {
return writeAligned(-1);
}
status_t ret = writeAligned(len);
if (ret == NO_ERROR) {
ret = write(val, len * sizeof(*val));
}
return ret;
}
status_t Parcel::writeInt64(int64_t val) status_t Parcel::writeInt64(int64_t val)
{ {
return writeAligned(val); return writeAligned(val);