diff --git a/dsoftbus/depend/ipc/include/message_parcel.h b/dsoftbus/depend/ipc/include/message_parcel.h index 61534dfca1ed479a68e9e1f5adcd4dadfeae0108..e3ed991b3eaf28d59980c6b4501c28dc077f16b6 100644 --- a/dsoftbus/depend/ipc/include/message_parcel.h +++ b/dsoftbus/depend/ipc/include/message_parcel.h @@ -1,6 +1,7 @@ #ifndef _MESSAGE_PARCEL_H_ #define _MESSAGE_PARCEL_H_ +#include #include "parcel.h" #include "refbase.h" @@ -18,9 +19,13 @@ public: bool ContainFileDescriptors() const; sptr< IRemoteObject > ReadRemoteObject(); bool WriteRemoteObject(const sptr< IRemoteObject > &object); + bool WriteInterfaceToken(std::u16string name); + std::u16string ReadInterfaceToken(); + size_t GetRawDataSize() const; private: static constexpr size_t MAX_RAWDATA_SIZE = 128 * 1024 * 1024; // 128M int fd_; + size_t rawDataSize_; }; } //namespace OHOS diff --git a/dsoftbus/depend/ipc/message_parcel.cpp b/dsoftbus/depend/ipc/message_parcel.cpp index 02253efcd27268f3b99a91808b19a25869356d44..0dba88e0c46e20c46f41f791355902deae046b7f 100644 --- a/dsoftbus/depend/ipc/message_parcel.cpp +++ b/dsoftbus/depend/ipc/message_parcel.cpp @@ -47,7 +47,7 @@ bool MessageParcel::WriteRawData(const void *data, size_t size) if (!WriteInt32(size)) { return false; } - + rawDataSize_ = size; return WriteUnpadBuffer(data, size); } @@ -57,6 +57,7 @@ const void *MessageParcel::ReadRawData(size_t size) if (static_cast< unsigned int >(bufferSize) != size) { return nullptr; } + rawDataSize_ = size; return ReadUnpadBuffer(size); } @@ -70,4 +71,18 @@ bool MessageParcel::WriteRemoteObject(const sptr< IRemoteObject > &object) return true; } +bool MessageParcel::WriteInterfaceToken(std::u16string name) { + return WriteString16(name); +} + +std::u16string MessageParcel::ReadInterfaceToken() +{ + return ReadString16(); +} + +size_t MessageParcel::GetRawDataSize() const +{ + return rawDataSize_; +} + } //namespace OHOS