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 "net_supplier_info.h" 17 18 #include "parcel.h" 19 #include "refbase.h" 20 21 #include "net_mgr_log_wrapper.h" 22 namespace OHOS { 23 namespace NetManagerStandard { Marshalling(Parcel & parcel) const24bool NetSupplierInfo::Marshalling(Parcel &parcel) const 25 { 26 if (!parcel.WriteBool(isAvailable_)) { 27 return false; 28 } 29 if (!parcel.WriteBool(isRoaming_)) { 30 return false; 31 } 32 if (!parcel.WriteInt8(strength_)) { 33 return false; 34 } 35 if (!parcel.WriteUint32(frequency_)) { 36 return false; 37 } 38 if (!parcel.WriteUint32(linkUpBandwidthKbps_)) { 39 return false; 40 } 41 if (!parcel.WriteUint32(linkDownBandwidthKbps_)) { 42 return false; 43 } 44 if (!parcel.WriteInt32(uid_)) { 45 return false; 46 } 47 if (!parcel.WriteString(ident_)) { 48 return false; 49 } 50 return true; 51 } 52 Unmarshalling(Parcel & parcel)53sptr<NetSupplierInfo> NetSupplierInfo::Unmarshalling(Parcel &parcel) 54 { 55 sptr<NetSupplierInfo> ptr = new (std::nothrow) NetSupplierInfo(); 56 if (ptr == nullptr) { 57 NETMGR_LOG_E("make_unique<NetSupplierInfo>() failed"); 58 return nullptr; 59 } 60 if (!parcel.ReadBool(ptr->isAvailable_)) { 61 return nullptr; 62 } 63 if (!parcel.ReadBool(ptr->isRoaming_)) { 64 return nullptr; 65 } 66 if (!parcel.ReadInt8(ptr->strength_)) { 67 NETMGR_LOG_E("read strength_ from parcel failed"); 68 return nullptr; 69 } 70 if (!parcel.ReadUint32(ptr->frequency_)) { 71 return nullptr; 72 } 73 if (!parcel.ReadUint32(ptr->linkUpBandwidthKbps_)) { 74 return nullptr; 75 } 76 if (!parcel.ReadUint32(ptr->linkDownBandwidthKbps_)) { 77 return nullptr; 78 } 79 if (!parcel.ReadInt32(ptr->uid_)) { 80 return nullptr; 81 } 82 if (!parcel.ReadString(ptr->ident_)) { 83 return nullptr; 84 } 85 return ptr; 86 } 87 Marshalling(Parcel & parcel,const sptr<NetSupplierInfo> & object)88bool NetSupplierInfo::Marshalling(Parcel &parcel, const sptr<NetSupplierInfo> &object) 89 { 90 if (object == nullptr) { 91 NETMGR_LOG_E("NetSupplierInfo object ptr is nullptr"); 92 return false; 93 } 94 if (!parcel.WriteBool(object->isAvailable_)) { 95 return false; 96 } 97 if (!parcel.WriteBool(object->isRoaming_)) { 98 return false; 99 } 100 if (!parcel.WriteInt8(object->strength_)) { 101 return false; 102 } 103 if (!parcel.WriteUint32(object->frequency_)) { 104 return false; 105 } 106 if (!parcel.WriteUint32(object->linkUpBandwidthKbps_)) { 107 return false; 108 } 109 if (!parcel.WriteUint32(object->linkDownBandwidthKbps_)) { 110 return false; 111 } 112 if (!parcel.WriteInt32(object->uid_)) { 113 return false; 114 } 115 if (!parcel.WriteString(object->ident_)) { 116 return false; 117 } 118 return true; 119 } 120 ToString(const std::string & tab) const121std::string NetSupplierInfo::ToString(const std::string &tab) const 122 { 123 std::string str; 124 str.append(tab); 125 str.append("[NetSupplierInfo]"); 126 127 str.append(tab); 128 str.append("isAvailable_ = "); 129 str.append(std::to_string(isAvailable_)); 130 131 str.append(tab); 132 str.append("isRoaming_ = "); 133 str.append(std::to_string(isRoaming_)); 134 135 str.append(tab); 136 str.append("strength_ = "); 137 str.append(std::to_string(strength_)); 138 139 str.append(tab); 140 str.append("frequency_ = "); 141 str.append(std::to_string(frequency_)); 142 143 str.append(tab); 144 str.append("linkUpBandwidthKbps_ = "); 145 str.append(std::to_string(linkUpBandwidthKbps_)); 146 147 str.append(tab); 148 str.append("linkDownBandwidthKbps_ = "); 149 str.append(std::to_string(linkDownBandwidthKbps_)); 150 151 str.append(tab); 152 str.append("uid_ = "); 153 str.append(std::to_string(uid_)); 154 155 str.append(tab); 156 str.append("ident_ = "); 157 str.append(ident_); 158 159 return str; 160 } 161 } // namespace NetManagerStandard 162 } // namespace OHOS