diff options
| author | 2014-03-14 23:32:45 +0000 | |
|---|---|---|
| committer | 2014-03-14 23:32:45 +0000 | |
| commit | 446ef4bae2605f4d4ef83c57803a9f8c2e901f8e (patch) | |
| tree | 8362165a1ee0b89830c3f65b464e156fea6ffa14 | |
| parent | c45011f27209d5d548be3f96f2a23f7ff7f48c4c (diff) | |
| parent | f0190bff38b6c29abbfc4a877442f71fc3d7dad8 (diff) | |
am f0190bff: Add support for writing byte arrays to parcels
* commit 'f0190bff38b6c29abbfc4a877442f71fc3d7dad8':
Add support for writing byte arrays to parcels
| -rw-r--r-- | include/binder/Parcel.h | 1 | ||||
| -rw-r--r-- | libs/binder/Parcel.cpp | 10 |
2 files changed, 11 insertions, 0 deletions
diff --git a/include/binder/Parcel.h b/include/binder/Parcel.h index ed2e7df2c3..ce630bd9ff 100644 --- a/include/binder/Parcel.h +++ b/include/binder/Parcel.h @@ -105,6 +105,7 @@ public: status_t writeStrongBinder(const sp<IBinder>& val); status_t writeWeakBinder(const wp<IBinder>& val); status_t writeInt32Array(size_t len, const int32_t *val); + status_t writeByteArray(size_t len, const uint8_t *val); template<typename T> status_t write(const Flattenable<T>& val); diff --git a/libs/binder/Parcel.cpp b/libs/binder/Parcel.cpp index 003bddd83e..48d57dc15d 100644 --- a/libs/binder/Parcel.cpp +++ b/libs/binder/Parcel.cpp @@ -631,6 +631,16 @@ status_t Parcel::writeInt32Array(size_t len, const int32_t *val) { } return ret; } +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) { |