void Write(const void* buf, uint32_t size);
int Read(void* buf, uint32_t size);
- const std::vector<uint8_t>& GetRaw();
void ResetReader();
void Clear();
void Reset(const void* buf, uint32_t size);
int Read(T* d);
void SetByteOrder(bool big_endian);
- bool IsBigEndian();
+ bool IsBigEndian() const;
+ uint8_t* GetData() const;
+ size_t GetDataSize() const;
+ size_t GetDataCapacity() const;
+ void SetDataCapacity(size_t size);
+ uint8_t* Detach(size_t* size);
+ uint32_t GetReader() const;
+ std::vector<uint8_t> ToRaw();
private:
friend class Parcel;
- explicit Impl(Parcel* parent, bool big_endian = false);
+ explicit Impl(Parcel* parent, size_t data_capacity, uint8_t* data = nullptr);
private:
Parcel* parent_;
- bool big_endian_;
- std::vector<uint8_t> data_;
- uint64_t reader_ = 0;
+ size_t data_capacity_;
+ bool big_endian_ = false;
+ size_t data_size_ = 0;
+ uint8_t* data_ = nullptr;
+ uint32_t reader_ = 0;
};
} // naemspace tizen_base