1 /* 2 * Copyright (C) 2022 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 "mock_message_parcel_helper.h" 18 19 namespace { 20 bool g_bgTaskFwkAbnormalWriteRemoteObjectFlag = true; 21 bool g_bgTaskFwkAbnormalReadRemoteObjectFlag = true; 22 bool g_bgTaskFwkAbnormalWriteInterfaceTokenFlag = true; 23 bool g_bgTaskFwkAbnormalReadInterfaceTokenFlag = true; 24 bool g_bgTaskFwkAbnormalWriteString16Flag = true; 25 bool g_bgTaskFwkAbnormalReadInt32WithParamFlag = true; 26 bool g_bgTaskFwkAbnormalWriteInt32WithParamFlag = true; 27 bool g_bgTaskFwkAbnormalWriteParcelableFlag = true; 28 bool g_bgTaskFwkAbnormalWriteStringFlag = true; 29 bool g_bgTaskFwkAbnormalWriteUint32Flag = true; 30 bool g_bgTaskFwkAbnormalReadInt32Flag = true; 31 } 32 33 namespace OHOS { BgTaskFwkAbnormalSetWriteRemoteObjectFlag(bool flag)34void MessageParcelHelper::BgTaskFwkAbnormalSetWriteRemoteObjectFlag(bool flag) 35 { 36 g_bgTaskFwkAbnormalWriteRemoteObjectFlag = flag; 37 } 38 BgTaskFwkAbnormalSetWriteReadRemoteObjectFlag(bool flag)39void MessageParcelHelper::BgTaskFwkAbnormalSetWriteReadRemoteObjectFlag(bool flag) 40 { 41 g_bgTaskFwkAbnormalReadRemoteObjectFlag = flag; 42 } 43 BgTaskFwkAbnormalSetWriteInterfaceTokenFlag(bool flag)44void MessageParcelHelper::BgTaskFwkAbnormalSetWriteInterfaceTokenFlag(bool flag) 45 { 46 g_bgTaskFwkAbnormalWriteInterfaceTokenFlag = flag; 47 } 48 BgTaskFwkAbnormalSetReadInterfaceTokenFlag(bool flag)49void MessageParcelHelper::BgTaskFwkAbnormalSetReadInterfaceTokenFlag(bool flag) 50 { 51 g_bgTaskFwkAbnormalReadInterfaceTokenFlag = flag; 52 } 53 BgTaskFwkAbnormalSetWriteString16Flag(bool flag)54void MessageParcelHelper::BgTaskFwkAbnormalSetWriteString16Flag(bool flag) 55 { 56 g_bgTaskFwkAbnormalWriteString16Flag = flag; 57 } 58 BgTaskFwkAbnormalSetWriteReadInt32WithParamFlag(bool flag)59void MessageParcelHelper::BgTaskFwkAbnormalSetWriteReadInt32WithParamFlag(bool flag) 60 { 61 g_bgTaskFwkAbnormalReadInt32WithParamFlag = flag; 62 } 63 BgTaskFwkAbnormalSetWriteInt32WithParamFlag(bool flag)64void MessageParcelHelper::BgTaskFwkAbnormalSetWriteInt32WithParamFlag(bool flag) 65 { 66 g_bgTaskFwkAbnormalWriteInt32WithParamFlag = flag; 67 } 68 BgTaskFwkAbnormalSetWriteParcelableFlag(bool flag)69void MessageParcelHelper::BgTaskFwkAbnormalSetWriteParcelableFlag(bool flag) 70 { 71 g_bgTaskFwkAbnormalWriteParcelableFlag = flag; 72 } 73 BgTaskFwkAbnormalSetWriteStringFlag(bool flag)74void MessageParcelHelper::BgTaskFwkAbnormalSetWriteStringFlag(bool flag) 75 { 76 g_bgTaskFwkAbnormalWriteStringFlag = flag; 77 } 78 BgTaskFwkAbnormalSetWriteUint32Flag(bool flag)79void MessageParcelHelper::BgTaskFwkAbnormalSetWriteUint32Flag(bool flag) 80 { 81 g_bgTaskFwkAbnormalWriteUint32Flag = flag; 82 } 83 BgTaskFwkAbnormalSetReadInt32Flag(bool flag)84void MessageParcelHelper::BgTaskFwkAbnormalSetReadInt32Flag(bool flag) 85 { 86 g_bgTaskFwkAbnormalReadInt32Flag = flag; 87 } 88 WriteRemoteObject(const sptr<IRemoteObject> & object)89bool MessageParcel::WriteRemoteObject(const sptr<IRemoteObject> &object) 90 { 91 return g_bgTaskFwkAbnormalWriteRemoteObjectFlag; 92 } 93 WriteInterfaceToken(std::u16string name)94bool MessageParcel::WriteInterfaceToken(std::u16string name) 95 { 96 return g_bgTaskFwkAbnormalWriteInterfaceTokenFlag; 97 } 98 ReadInterfaceToken()99std::u16string MessageParcel::ReadInterfaceToken() 100 { 101 if (g_bgTaskFwkAbnormalReadInterfaceTokenFlag) { 102 return std::u16string(u"string"); 103 } 104 return std::u16string(); 105 } 106 WriteString16(const std::u16string & value)107bool Parcel::WriteString16(const std::u16string &value) 108 { 109 return g_bgTaskFwkAbnormalWriteString16Flag; 110 } 111 ReadInt32(int32_t & value)112bool Parcel::ReadInt32(int32_t &value) 113 { 114 return g_bgTaskFwkAbnormalReadInt32WithParamFlag; 115 } 116 WriteInt32(int32_t value)117bool Parcel::WriteInt32(int32_t value) 118 { 119 return g_bgTaskFwkAbnormalWriteInt32WithParamFlag; 120 } 121 WriteParcelable(const Parcelable * object)122bool Parcel::WriteParcelable(const Parcelable *object) 123 { 124 return g_bgTaskFwkAbnormalWriteParcelableFlag; 125 } 126 WriteString(const std::string & value)127bool Parcel::WriteString(const std::string &value) 128 { 129 return g_bgTaskFwkAbnormalWriteStringFlag; 130 } 131 WriteUint32(uint32_t value)132bool Parcel::WriteUint32(uint32_t value) 133 { 134 return g_bgTaskFwkAbnormalWriteUint32Flag; 135 } 136 ReadInt32()137int32_t Parcel::ReadInt32() 138 { 139 return 1; 140 } 141 } // namespace OHOS 142