summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarco Nelissen <marcone@google.com>2014-03-20 13:13:23 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2014-03-20 13:13:23 -0700
commitc0af9cafba1217e2585777964730c70e40957dcd (patch)
tree9b545f200fe4d880f1898c9f425ea71a7dcb9dad
parentac9a96da65f6eae4513654adaad8a457d1c1575c (diff)
parentb14d72bce04e990639305890b2aca3ccad5b3ebb (diff)
downloadframeworks_native-c0af9cafba1217e2585777964730c70e40957dcd.zip
frameworks_native-c0af9cafba1217e2585777964730c70e40957dcd.tar.gz
frameworks_native-c0af9cafba1217e2585777964730c70e40957dcd.tar.bz2
am b14d72bc: am d070009e: am df6774c9: am 7c1cdbdd: am e23f8b8f: am 1f70863d: am 37b44969: Add support for writing byte arrays to parcels
* commit 'b14d72bce04e990639305890b2aca3ccad5b3ebb': Add support for writing byte arrays to parcels
-rw-r--r--include/binder/Parcel.h1
-rw-r--r--libs/binder/Parcel.cpp11
2 files changed, 12 insertions, 0 deletions
diff --git a/include/binder/Parcel.h b/include/binder/Parcel.h
index 3ff95d2..40ba529 100644
--- a/include/binder/Parcel.h
+++ b/include/binder/Parcel.h
@@ -103,6 +103,7 @@ public:
status_t writeStrongBinder(const sp<IBinder>& val);
status_t writeWeakBinder(const wp<IBinder>& val);
status_t write(const Flattenable& val);
+ status_t writeByteArray(size_t len, const uint8_t *val);
template<typename T>
status_t write(const LightFlattenable<T>& val);
diff --git a/libs/binder/Parcel.cpp b/libs/binder/Parcel.cpp
index 8f7f7e7..53b29a4 100644
--- a/libs/binder/Parcel.cpp
+++ b/libs/binder/Parcel.cpp
@@ -617,6 +617,17 @@ status_t Parcel::writeInt32(int32_t 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)
{
return writeAligned(val);