diff options
| author | 2014-03-14 23:33:08 +0000 | |
|---|---|---|
| committer | 2014-03-14 23:33:08 +0000 | |
| commit | 793be12c0f5a7878d1085e94e58a9c36c84f0911 (patch) | |
| tree | dffe9ac889f2d09fe9220711b30ede1e0e72f054 | |
| parent | d4dabf872ac0a12e12aebae9032f7d62762c2aeb (diff) | |
| parent | b730a45216991cf22c39451c47393b4bccae111b (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.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 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)  { |