]>
src.bluestatic.org Git - minibind.git/blob - jni/minibind/parcel.cc
1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
11 Parcel::Parcel() : data_(), objects_() {}
15 void Parcel::WriteInterfaceToken(const std::string
& str
) {
19 void Parcel::WriteUTF8(const std::string
& str
) {
20 data_
.insert(data_
.end(), str
.begin(), str
.end());
23 void Parcel::WriteUInt32(uint32_t ui32
) {
24 data_
.push_back((ui32
>> 24) & 0xff);
25 data_
.push_back((ui32
>> 16) & 0xff);
26 data_
.push_back((ui32
>> 8) & 0xff);
27 data_
.push_back((ui32
>> 0) & 0xff);
30 binder_uintptr_t
Parcel::DataPointer() const {
31 return reinterpret_cast<binder_uintptr_t
>(&data_
[0]);
34 size_t Parcel::DataSize() const {
38 void Parcel::SetDataSize(size_t size
) {
39 // TODO: handle object lifetimes
44 void Parcel::Print() const {
45 for (size_t i
= 0; i
< data_
.size(); i
+= 4) {
46 ALOG("%0x %0x %0x %0x", data_
[i
], data_
[i
+1], data_
[i
+2], data_
[i
+3]);
50 } // namespace minibind