1 /* 2 * Copyright (C) 2023 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 #include "dhcp_client_impl.h" 16 #include "dhcp_c_utils.h" 17 #include "dhcp_logger.h" 18 #include "inner_api/dhcp_client.h" 19 20 DEFINE_DHCPLOG_DHCP_LABEL("DhcpClient"); 21 22 namespace OHOS { 23 namespace DHCP { GetInstance(int systemAbilityId)24NO_SANITIZE("cfi") std::shared_ptr<DhcpClient> DhcpClient::GetInstance(int systemAbilityId) 25 { 26 std::shared_ptr<DhcpClientImpl> pImpl = DelayedSingleton<DhcpClientImpl>::GetInstance(); 27 if (pImpl && pImpl->Init(systemAbilityId)) { 28 DHCP_LOGI("init successfully!"); 29 return pImpl; 30 } 31 DHCP_LOGI("new dhcp client failed"); 32 return nullptr; 33 } 34 ~DhcpClient()35DhcpClient::~DhcpClient() 36 { 37 DHCP_LOGI("~DhcpClient()"); 38 } 39 } // namespace DHCP 40 } // namespace OHOS