diff options
author | Marco Nelissen <marcone@google.com> | 2014-03-20 11:06:54 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2014-03-20 11:06:54 -0700 |
commit | d070009ecdb9e8c58ce5d1540d5bcba5587a0448 (patch) | |
tree | f5b30e36b3d0a73bc06a4874af151a1373ed790c | |
parent | 50d36d58369cdf48bc6fcdba96b36c846be8587a (diff) | |
parent | df6774c9a3c1460554208925f38dde08953b6d0b (diff) | |
download | frameworks_native-d070009ecdb9e8c58ce5d1540d5bcba5587a0448.zip frameworks_native-d070009ecdb9e8c58ce5d1540d5bcba5587a0448.tar.gz frameworks_native-d070009ecdb9e8c58ce5d1540d5bcba5587a0448.tar.bz2 |
am df6774c9: am 7c1cdbdd: am e23f8b8f: am 1f70863d: am 37b44969: Add support for writing byte arrays to parcels
* commit 'df6774c9a3c1460554208925f38dde08953b6d0b':
Add support for writing byte arrays to parcels
-rw-r--r-- | include/binder/Parcel.h | 1 | ||||
-rw-r--r-- | libs/binder/Parcel.cpp | 11 |
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 4c15913..cb90b83 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); |