1 /* 2 * Copyright (c) 2024 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 "ipsecvpn_config.h" 17 #include "netmgr_ext_log_wrapper.h" 18 19 namespace OHOS { 20 namespace NetManagerStandard { Marshalling(Parcel & parcel) const21bool IpsecVpnConfig::Marshalling(Parcel &parcel) const 22 { 23 bool allOK = SysVpnConfig::Marshalling(parcel) && 24 parcel.WriteString(ipsecPreSharedKey_) && 25 parcel.WriteString(ipsecIdentifier_) && 26 parcel.WriteString(swanctlConf_) && 27 parcel.WriteString(strongswanConf_) && 28 parcel.WriteString(ipsecCaCertConf_) && 29 parcel.WriteString(ipsecPrivateUserCertConf_) && 30 parcel.WriteString(ipsecPublicUserCertConf_) && 31 parcel.WriteString(ipsecPrivateServerCertConf_) && 32 parcel.WriteString(ipsecPublicServerCertConf_) && 33 parcel.WriteString(ipsecCaCertFilePath_) && 34 parcel.WriteString(ipsecPrivateUserCertFilePath_) && 35 parcel.WriteString(ipsecPublicUserCertFilePath_) && 36 parcel.WriteString(ipsecPrivateServerCertFilePath_) && 37 parcel.WriteString(ipsecPublicServerCertFilePath_); 38 return allOK; 39 } 40 Unmarshalling(Parcel & parcel)41sptr<IpsecVpnConfig> IpsecVpnConfig::Unmarshalling(Parcel &parcel) 42 { 43 sptr<IpsecVpnConfig> ptr = new (std::nothrow) IpsecVpnConfig(); 44 if (ptr == nullptr) { 45 NETMGR_EXT_LOG_E("IpsecVpnConfig ptr is null"); 46 return nullptr; 47 } 48 49 bool allOK = SysVpnConfig::Unmarshalling(parcel, ptr) && 50 parcel.ReadString(ptr->ipsecPreSharedKey_) && 51 parcel.ReadString(ptr->ipsecIdentifier_) && 52 parcel.ReadString(ptr->swanctlConf_) && 53 parcel.ReadString(ptr->strongswanConf_) && 54 parcel.ReadString(ptr->ipsecCaCertConf_) && 55 parcel.ReadString(ptr->ipsecPrivateUserCertConf_) && 56 parcel.ReadString(ptr->ipsecPublicUserCertConf_) && 57 parcel.ReadString(ptr->ipsecPrivateServerCertConf_) && 58 parcel.ReadString(ptr->ipsecPublicServerCertConf_) && 59 parcel.ReadString(ptr->ipsecCaCertFilePath_) && 60 parcel.ReadString(ptr->ipsecPrivateUserCertFilePath_) && 61 parcel.ReadString(ptr->ipsecPublicUserCertFilePath_) && 62 parcel.ReadString(ptr->ipsecPrivateServerCertFilePath_) && 63 parcel.ReadString(ptr->ipsecPublicServerCertFilePath_); 64 return allOK ? ptr : nullptr; 65 } 66 } // namespace NetManagerStandard 67 } // namespace OHOS