template <typename T>
void Parcel::Impl::Write(T d) {
- WriteSize(sizeof(T));
auto* p = reinterpret_cast<uint8_t*>(&d);
std::copy(p, p + sizeof(T), std::back_inserter(data_));
}
template <typename T>
int Parcel::Impl::Read(T* d) {
- uint32_t size = 0;
- int ret = ReadSize(&size);
- if (ret != TIZEN_ERROR_NONE)
- return ret;
-
- if (size == 0 || size != sizeof(T))
- return TIZEN_ERROR_ILLEGAL_BYTE_SEQ;
-
+ uint32_t size = sizeof(T);
if (reader_ + size > data_.size())
return TIZEN_ERROR_ILLEGAL_BYTE_SEQ;
ret = parcel_get_raw(GetHandle(), reinterpret_cast<void**>(&raw), &size);
ASSERT_EQ(ret, PARCEL_ERROR_NONE);
ASSERT_NE(raw, nullptr);
- ASSERT_EQ(size, sizeof(uint32_t) + sizeof(int32_t));
+ ASSERT_EQ(size, sizeof(int32_t));
}
TEST_F(ParcelTest, parcel_get_raw_N) {
TEST_F(ParcelCppTest, GetRaw) {
GetHandle().WriteInt32(0);
auto& raw = GetHandle().GetRaw();
- ASSERT_EQ(raw.size(), sizeof(uint32_t) + sizeof(int32_t));
+ ASSERT_EQ(raw.size(), sizeof(int32_t));
}
TEST_F(ParcelCppTest, ResetReader) {