12d43be4eSopenharmony_ci/* 22d43be4eSopenharmony_ci * Copyright (c) 2022 Huawei Device Co., Ltd. 32d43be4eSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 42d43be4eSopenharmony_ci * you may not use this file except in compliance with the License. 52d43be4eSopenharmony_ci * You may obtain a copy of the License at 62d43be4eSopenharmony_ci * 72d43be4eSopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 82d43be4eSopenharmony_ci * 92d43be4eSopenharmony_ci * Unless required by applicable law or agreed to in writing, software 102d43be4eSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 112d43be4eSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 122d43be4eSopenharmony_ci * See the License for the specific language governing permissions and 132d43be4eSopenharmony_ci * limitations under the License. 142d43be4eSopenharmony_ci */ 152d43be4eSopenharmony_ci 162d43be4eSopenharmony_ci#include "statemachine_fuzzer.h" 172d43be4eSopenharmony_ci 182d43be4eSopenharmony_cinamespace OHOS { 192d43be4eSopenharmony_cinamespace Telephony { 202d43be4eSopenharmony_ciusing namespace AppExecFwk; 212d43be4eSopenharmony_ci 222d43be4eSopenharmony_cistd::shared_ptr<CellularDataStateMachine> StateMachineFuzzer::CreateCellularDataConnect(int32_t slotId) 232d43be4eSopenharmony_ci{ 242d43be4eSopenharmony_ci if (cellularDataStateMachine_ != nullptr) { 252d43be4eSopenharmony_ci return cellularDataStateMachine_; 262d43be4eSopenharmony_ci } 272d43be4eSopenharmony_ci sptr<DataConnectionManager> connectionManager = std::make_unique<DataConnectionManager>(slotId).release(); 282d43be4eSopenharmony_ci if (connectionManager == nullptr) { 292d43be4eSopenharmony_ci return nullptr; 302d43be4eSopenharmony_ci } 312d43be4eSopenharmony_ci connectionManager->Init(); 322d43be4eSopenharmony_ci cellularDataStateMachine_ = std::make_shared<CellularDataStateMachine>( 332d43be4eSopenharmony_ci connectionManager, std::static_pointer_cast<TelEventHandler>(shared_from_this())); 342d43be4eSopenharmony_ci return cellularDataStateMachine_; 352d43be4eSopenharmony_ci} 362d43be4eSopenharmony_ci} // namespace Telephony 372d43be4eSopenharmony_ci} // namespace OHOS