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