1e5d0e473Sopenharmony_ci/* 2e5d0e473Sopenharmony_ci * Copyright (C) 2021 Huawei Device Co., Ltd. 3e5d0e473Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 4e5d0e473Sopenharmony_ci * you may not use this file except in compliance with the License. 5e5d0e473Sopenharmony_ci * You may obtain a copy of the License at 6e5d0e473Sopenharmony_ci * 7e5d0e473Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 8e5d0e473Sopenharmony_ci * 9e5d0e473Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 10e5d0e473Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 11e5d0e473Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12e5d0e473Sopenharmony_ci * See the License for the specific language governing permissions and 13e5d0e473Sopenharmony_ci * limitations under the License. 14e5d0e473Sopenharmony_ci */ 15e5d0e473Sopenharmony_ci 16e5d0e473Sopenharmony_ci#ifndef SMS_RECEIVE_MANAGER_H 17e5d0e473Sopenharmony_ci#define SMS_RECEIVE_MANAGER_H 18e5d0e473Sopenharmony_ci 19e5d0e473Sopenharmony_ci#include <memory> 20e5d0e473Sopenharmony_ci 21e5d0e473Sopenharmony_ci#include "cdma_sms_receive_handler.h" 22e5d0e473Sopenharmony_ci#include "gsm_sms_receive_handler.h" 23e5d0e473Sopenharmony_ci#include "sms_receive_handler.h" 24e5d0e473Sopenharmony_ci#include "sms_sender.h" 25e5d0e473Sopenharmony_ci 26e5d0e473Sopenharmony_cinamespace OHOS { 27e5d0e473Sopenharmony_cinamespace Telephony { 28e5d0e473Sopenharmony_ciclass SmsReceiveManager : public std::enable_shared_from_this<SmsReceiveManager> { 29e5d0e473Sopenharmony_cipublic: 30e5d0e473Sopenharmony_ci explicit SmsReceiveManager(int32_t slotId); 31e5d0e473Sopenharmony_ci ~SmsReceiveManager(); 32e5d0e473Sopenharmony_ci void Init(); 33e5d0e473Sopenharmony_ci void SetCdmaSender(const std::weak_ptr<SmsSender> &smsSender); 34e5d0e473Sopenharmony_ci 35e5d0e473Sopenharmony_ciprivate: 36e5d0e473Sopenharmony_ci std::shared_ptr<GsmSmsReceiveHandler> gsmSmsReceiveHandler_; 37e5d0e473Sopenharmony_ci std::shared_ptr<CdmaSmsReceiveHandler> cdmaSmsReceiveHandler_; 38e5d0e473Sopenharmony_ci int32_t slotId_; 39e5d0e473Sopenharmony_ci}; 40e5d0e473Sopenharmony_ci} // namespace Telephony 41e5d0e473Sopenharmony_ci} // namespace OHOS 42e5d0e473Sopenharmony_ci#endif