diff options
Diffstat (limited to 'transport/HidlBinderSupport.cpp')
-rw-r--r-- | transport/HidlBinderSupport.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/transport/HidlBinderSupport.cpp b/transport/HidlBinderSupport.cpp index 02d10d0..352ed78 100644 --- a/transport/HidlBinderSupport.cpp +++ b/transport/HidlBinderSupport.cpp @@ -163,6 +163,20 @@ status_t writeEmbeddedToParcel(const hidl_string &string, parentOffset + hidl_string::kOffsetOfBuffer); } +android::status_t writeToParcel(const hidl_version &version, android::hardware::Parcel& parcel) { + return parcel.writeUint32(static_cast<uint32_t>(version.get_major()) << 16 | version.get_minor()); +} + +hidl_version* readFromParcel(const android::hardware::Parcel& parcel) { + uint32_t version; + android::status_t status = parcel.readUint32(&version); + if (status != OK) { + return nullptr; + } else { + return new hidl_version(version >> 16, version & 0xFFFF); + } +} + status_t readFromParcel(Status *s, const Parcel& parcel) { int32_t exception; status_t status = parcel.readInt32(&exception); |