1 /*
2 * Copyright (C) 2021 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 * http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16 #include "message_parcel.h"
17 #include "iremote_object.h"
18
19 namespace {
20 bool g_mockWriteInterfaceTokenRet = true;
21 }
22
MockWriteInterfaceToken(bool mockRet)23 void MockWriteInterfaceToken(bool mockRet)
24 {
25 g_mockWriteInterfaceTokenRet = mockRet;
26 }
27
28 namespace OHOS {
29
MessageParcel()30 MessageParcel::MessageParcel()
31 {}
32
MessageParcel(Allocator * allocator)33 MessageParcel::MessageParcel(Allocator *allocator)
34 : Parcel(allocator)
35 {
36 writeRawDataFd_ = -1;
37 readRawDataFd_ = -1;
38 kernelMappedWrite_ = nullptr;
39 kernelMappedRead_ = nullptr;
40 rawData_ = nullptr;
41 rawDataSize_ = 0;
42 }
43
~MessageParcel()44 MessageParcel::~MessageParcel()
45 {}
46
47
48 #ifndef CONFIG_IPC_SINGLE
WriteDBinderProxy(const sptr<IRemoteObject> & object,uint32_t handle,uint64_t stubIndex)49 bool MessageParcel::WriteDBinderProxy(const sptr<IRemoteObject> &object, uint32_t handle, uint64_t stubIndex)
50 {
51 return true;
52 }
53 #endif
54
WriteRemoteObject(const sptr<IRemoteObject> & object)55 bool MessageParcel::WriteRemoteObject(const sptr<IRemoteObject> &object)
56 {
57 return true;
58 }
59
ReadRemoteObject()60 sptr<IRemoteObject> MessageParcel::ReadRemoteObject()
61 {
62 sptr<IRemoteObject> temp = ReadObject<IRemoteObject>();
63 return temp;
64 }
65
WriteFileDescriptor(int fd)66 bool MessageParcel::WriteFileDescriptor(int fd)
67 {
68 return true;
69 }
70
ReadFileDescriptor()71 int MessageParcel::ReadFileDescriptor()
72 {
73 return 0;
74 }
75
ClearFileDescriptor()76 void MessageParcel::ClearFileDescriptor()
77 {}
78
ContainFileDescriptors() const79 bool MessageParcel::ContainFileDescriptors() const
80 {
81 return true;
82 }
83
WriteInterfaceToken(std::u16string name)84 bool MessageParcel::WriteInterfaceToken(std::u16string name)
85 {
86 return g_mockWriteInterfaceTokenRet;
87 }
88
ReadInterfaceToken()89 std::u16string MessageParcel::ReadInterfaceToken()
90 {
91 return ReadString16();
92 }
93
WriteRawData(const void * data,size_t size)94 bool MessageParcel::WriteRawData(const void *data, size_t size)
95 {
96 return true;
97 }
98
RestoreRawData(std::shared_ptr<char> rawData,size_t size)99 bool MessageParcel::RestoreRawData(std::shared_ptr<char> rawData, size_t size)
100 {
101 return true;
102 }
103
ReadRawData(size_t size)104 const void *MessageParcel::ReadRawData(size_t size)
105 {
106 return nullptr;
107 }
108
GetRawData() const109 const void *MessageParcel::GetRawData() const
110 {
111 return nullptr;
112 }
113
GetRawDataSize() const114 size_t MessageParcel::GetRawDataSize() const
115 {
116 return 0;
117 }
118
GetRawDataCapacity() const119 size_t MessageParcel::GetRawDataCapacity() const
120 {
121 return 0;
122 }
123
WriteNoException()124 void MessageParcel::WriteNoException()
125 {
126 WriteInt32(0);
127 }
128
ReadException()129 int32_t MessageParcel::ReadException()
130 {
131 return 0;
132 }
133
WriteAshmem(sptr<Ashmem> ashmem)134 bool MessageParcel::WriteAshmem(sptr<Ashmem> ashmem)
135 {
136 return true;
137 }
138
ReadAshmem()139 sptr<Ashmem> MessageParcel::ReadAshmem()
140 {
141 return nullptr;
142 }
143
Append(MessageParcel & data)144 bool MessageParcel::Append(MessageParcel &data)
145 {
146 return true;
147 }
148 } // namespace OHOS
149