1e5d0e473Sopenharmony_ci/* 2e5d0e473Sopenharmony_ci * Copyright (C) 2022 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#ifndef SMS_MMS_TEST_HELPER_H 16e5d0e473Sopenharmony_ci#define SMS_MMS_TEST_HELPER_H 17e5d0e473Sopenharmony_ci 18e5d0e473Sopenharmony_ci#include <mutex> 19e5d0e473Sopenharmony_ci 20e5d0e473Sopenharmony_cinamespace OHOS { 21e5d0e473Sopenharmony_cinamespace Telephony { 22e5d0e473Sopenharmony_ciclass SmsMmsTestHelper { 23e5d0e473Sopenharmony_cipublic: 24e5d0e473Sopenharmony_ci int32_t slotId = 0; 25e5d0e473Sopenharmony_ci bool Run(void (*func)(SmsMmsTestHelper &), SmsMmsTestHelper &helper, int32_t waitTime = WAIT_TIME_SECOND); 26e5d0e473Sopenharmony_ci void NotifyAll(); 27e5d0e473Sopenharmony_ci bool WaitForResult(int32_t timeoutSecond); 28e5d0e473Sopenharmony_ci void SetBoolResult(bool result); 29e5d0e473Sopenharmony_ci void SetSendSmsIntResult(int32_t result); 30e5d0e473Sopenharmony_ci void SetDeliverySmsIntResult(int32_t result); 31e5d0e473Sopenharmony_ci void SetIntResult(int32_t result); 32e5d0e473Sopenharmony_ci void SetStringResult(const std::string &str); 33e5d0e473Sopenharmony_ci bool GetBoolResult(); 34e5d0e473Sopenharmony_ci int32_t GetSendSmsIntResult(); 35e5d0e473Sopenharmony_ci int32_t GetDeliverySmsIntResult(); 36e5d0e473Sopenharmony_ci int32_t GetIntResult(); 37e5d0e473Sopenharmony_ci std::string GetStringResult(); 38e5d0e473Sopenharmony_ci 39e5d0e473Sopenharmony_ciprivate: 40e5d0e473Sopenharmony_ci int32_t result_ = 0; 41e5d0e473Sopenharmony_ci bool boolResult_ = false; 42e5d0e473Sopenharmony_ci int32_t sendSmsResult_ = 0; 43e5d0e473Sopenharmony_ci int32_t deliverySmsResult_ = 0; 44e5d0e473Sopenharmony_ci std::string strResult_ = ""; 45e5d0e473Sopenharmony_ci std::mutex mtx_; 46e5d0e473Sopenharmony_ci std::condition_variable cv_; 47e5d0e473Sopenharmony_ci constexpr static const int32_t WAIT_TIME_SECOND = 10; 48e5d0e473Sopenharmony_ci}; 49e5d0e473Sopenharmony_ci} // namespace Telephony 50e5d0e473Sopenharmony_ci} // namespace OHOS 51e5d0e473Sopenharmony_ci 52e5d0e473Sopenharmony_ci#endif // SMS_MMS_TEST_HELPER_H 53