1bc2ed2b3Sopenharmony_ci/* 2bc2ed2b3Sopenharmony_ci * Copyright (C) 2022 Huawei Device Co., Ltd. 3bc2ed2b3Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 4bc2ed2b3Sopenharmony_ci * you may not use this file except in compliance with the License. 5bc2ed2b3Sopenharmony_ci * You may obtain a copy of the License at 6bc2ed2b3Sopenharmony_ci * 7bc2ed2b3Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 8bc2ed2b3Sopenharmony_ci * 9bc2ed2b3Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 10bc2ed2b3Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 11bc2ed2b3Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12bc2ed2b3Sopenharmony_ci * See the License for the specific language governing permissions and 13bc2ed2b3Sopenharmony_ci * limitations under the License. 14bc2ed2b3Sopenharmony_ci */ 15bc2ed2b3Sopenharmony_ci#include "nfc_polling_params.h" 16bc2ed2b3Sopenharmony_ci#include <string> 17bc2ed2b3Sopenharmony_ci 18bc2ed2b3Sopenharmony_cinamespace OHOS { 19bc2ed2b3Sopenharmony_cinamespace NFC { 20bc2ed2b3Sopenharmony_ciuint16_t NfcPollingParams::NFC_POLL_DEFAULT = 0x3F; 21bc2ed2b3Sopenharmony_ci 22bc2ed2b3Sopenharmony_ciNfcPollingParams::NfcPollingParams() : techMask_(0), 23bc2ed2b3Sopenharmony_ci enableLowPowerPolling_(true), 24bc2ed2b3Sopenharmony_ci enableReaderMode_(false), 25bc2ed2b3Sopenharmony_ci enableHostRouting_(false) 26bc2ed2b3Sopenharmony_ci{ 27bc2ed2b3Sopenharmony_ci} 28bc2ed2b3Sopenharmony_ci 29bc2ed2b3Sopenharmony_cibool NfcPollingParams::operator==(const std::shared_ptr<NfcPollingParams> params) const 30bc2ed2b3Sopenharmony_ci{ 31bc2ed2b3Sopenharmony_ci return techMask_ == params->techMask_ && 32bc2ed2b3Sopenharmony_ci (enableLowPowerPolling_ == params->enableLowPowerPolling_) && 33bc2ed2b3Sopenharmony_ci (enableReaderMode_ == params->enableReaderMode_) && 34bc2ed2b3Sopenharmony_ci (enableHostRouting_ == params->enableHostRouting_); 35bc2ed2b3Sopenharmony_ci} 36bc2ed2b3Sopenharmony_ci 37bc2ed2b3Sopenharmony_cistd::shared_ptr<NfcPollingParams> NfcPollingParams::GetNfcOffParameters() 38bc2ed2b3Sopenharmony_ci{ 39bc2ed2b3Sopenharmony_ci return std::make_shared<NfcPollingParams>(); 40bc2ed2b3Sopenharmony_ci} 41bc2ed2b3Sopenharmony_ci 42bc2ed2b3Sopenharmony_ciuint16_t NfcPollingParams::GetTechMask() const 43bc2ed2b3Sopenharmony_ci{ 44bc2ed2b3Sopenharmony_ci return techMask_; 45bc2ed2b3Sopenharmony_ci} 46bc2ed2b3Sopenharmony_ci 47bc2ed2b3Sopenharmony_cibool NfcPollingParams::ShouldEnablePolling() const 48bc2ed2b3Sopenharmony_ci{ 49bc2ed2b3Sopenharmony_ci return (techMask_ != 0) || enableHostRouting_; 50bc2ed2b3Sopenharmony_ci} 51bc2ed2b3Sopenharmony_ci 52bc2ed2b3Sopenharmony_cibool NfcPollingParams::ShouldEnableLowPowerPolling() const 53bc2ed2b3Sopenharmony_ci{ 54bc2ed2b3Sopenharmony_ci return enableLowPowerPolling_; 55bc2ed2b3Sopenharmony_ci} 56bc2ed2b3Sopenharmony_ci 57bc2ed2b3Sopenharmony_cibool NfcPollingParams::ShouldEnableReaderMode() const 58bc2ed2b3Sopenharmony_ci{ 59bc2ed2b3Sopenharmony_ci return enableReaderMode_; 60bc2ed2b3Sopenharmony_ci} 61bc2ed2b3Sopenharmony_ci 62bc2ed2b3Sopenharmony_cibool NfcPollingParams::ShouldEnableHostRouting() const 63bc2ed2b3Sopenharmony_ci{ 64bc2ed2b3Sopenharmony_ci return enableHostRouting_; 65bc2ed2b3Sopenharmony_ci} 66bc2ed2b3Sopenharmony_ci 67bc2ed2b3Sopenharmony_civoid NfcPollingParams::SetTechMask(uint16_t techMask) 68bc2ed2b3Sopenharmony_ci{ 69bc2ed2b3Sopenharmony_ci techMask_ = techMask; 70bc2ed2b3Sopenharmony_ci} 71bc2ed2b3Sopenharmony_ci 72bc2ed2b3Sopenharmony_civoid NfcPollingParams::SetEnableReaderMode(bool isEnable) 73bc2ed2b3Sopenharmony_ci{ 74bc2ed2b3Sopenharmony_ci enableReaderMode_ = isEnable; 75bc2ed2b3Sopenharmony_ci} 76bc2ed2b3Sopenharmony_ci 77bc2ed2b3Sopenharmony_cistd::string NfcPollingParams::ToString() 78bc2ed2b3Sopenharmony_ci{ 79bc2ed2b3Sopenharmony_ci std::string str; 80bc2ed2b3Sopenharmony_ci return str.append("techMask = ") 81bc2ed2b3Sopenharmony_ci .append(std::to_string(techMask_)) 82bc2ed2b3Sopenharmony_ci .append(", ") 83bc2ed2b3Sopenharmony_ci .append("enableLowPowerPolling = ") 84bc2ed2b3Sopenharmony_ci .append(std::to_string(enableLowPowerPolling_)) 85bc2ed2b3Sopenharmony_ci .append(", ") 86bc2ed2b3Sopenharmony_ci .append("enableReaderMode = ") 87bc2ed2b3Sopenharmony_ci .append(std::to_string(enableReaderMode_)) 88bc2ed2b3Sopenharmony_ci .append(", ") 89bc2ed2b3Sopenharmony_ci .append("enableHostRouting = ") 90bc2ed2b3Sopenharmony_ci .append(std::to_string(enableHostRouting_)) 91bc2ed2b3Sopenharmony_ci .append("."); 92bc2ed2b3Sopenharmony_ci} 93bc2ed2b3Sopenharmony_ci} // namespace NFC 94bc2ed2b3Sopenharmony_ci} // namespace OHOS 95