diff options
author | Marco Nelissen <marcone@google.com> | 2014-03-13 14:17:40 -0700 |
---|---|---|
committer | Marco Nelissen <marcone@google.com> | 2014-03-13 14:17:40 -0700 |
commit | f0190bff38b6c29abbfc4a877442f71fc3d7dad8 (patch) | |
tree | 000e81a079370bf6a2b957865b5b23d7000d4c25 | |
parent | 19d648195673b106152610e3787c95886946460f (diff) | |
download | android_frameworks_native-f0190bff38b6c29abbfc4a877442f71fc3d7dad8.tar.gz android_frameworks_native-f0190bff38b6c29abbfc4a877442f71fc3d7dad8.tar.bz2 android_frameworks_native-f0190bff38b6c29abbfc4a877442f71fc3d7dad8.zip |
Add support for writing byte arrays to parcels
b/13418320
Change-Id: I2285df9e9d3dc8a6a54055b13b352b81660bf45d
-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 c95f297b4..98f20de21 100644 --- a/include/binder/Parcel.h +++ b/include/binder/Parcel.h @@ -102,6 +102,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 021060657..17ffa05d9 100644 --- a/libs/binder/Parcel.cpp +++ b/libs/binder/Parcel.cpp @@ -628,6 +628,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) { |