summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Marco Nelissen <marcone@google.com> 2014-03-14 23:33:08 +0000
committer Android Git Automerger <android-git-automerger@android.com> 2014-03-14 23:33:08 +0000
commit793be12c0f5a7878d1085e94e58a9c36c84f0911 (patch)
treedffe9ac889f2d09fe9220711b30ede1e0e72f054
parentd4dabf872ac0a12e12aebae9032f7d62762c2aeb (diff)
parentb730a45216991cf22c39451c47393b4bccae111b (diff)
am b730a452: am f0190bff: Add support for writing byte arrays to parcels
* commit 'b730a45216991cf22c39451c47393b4bccae111b': Add support for writing byte arrays to parcels
-rw-r--r--include/binder/Parcel.h1
-rw-r--r--libs/binder/Parcel.cpp10
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 159003d169..296cd5c775 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)
{