1 /*
2 * Copyright (C) 2022 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 "nfc_polling_params.h"
16 #include "loghelper.h"
17 #include <string>
18
19 namespace OHOS {
20 namespace NFC {
21 uint16_t NfcPollingParams::NFC_POLL_DEFAULT = 0x3F;
22
NfcPollingParams()23 NfcPollingParams::NfcPollingParams() : techMask_(0),
24 enableLowPowerPolling_(true),
25 enableReaderMode_(false),
26 enableHostRouting_(false)
27 {
28 }
29
operator ==(const std::shared_ptr<NfcPollingParams> params) const30 bool NfcPollingParams::operator==(const std::shared_ptr<NfcPollingParams> params) const
31 {
32 if (params == nullptr) {
33 ErrorLog("NfcPollingParams: params is nullptr.");
34 return false;
35 }
36 return techMask_ == params->techMask_ &&
37 (enableLowPowerPolling_ == params->enableLowPowerPolling_) &&
38 (enableReaderMode_ == params->enableReaderMode_) &&
39 (enableHostRouting_ == params->enableHostRouting_);
40 }
41
GetNfcOffParameters()42 std::shared_ptr<NfcPollingParams> NfcPollingParams::GetNfcOffParameters()
43 {
44 return std::make_shared<NfcPollingParams>();
45 }
46
GetTechMask() const47 uint16_t NfcPollingParams::GetTechMask() const
48 {
49 return techMask_;
50 }
51
ShouldEnablePolling() const52 bool NfcPollingParams::ShouldEnablePolling() const
53 {
54 return (techMask_ != 0) || enableHostRouting_;
55 }
56
ShouldEnableLowPowerPolling() const57 bool NfcPollingParams::ShouldEnableLowPowerPolling() const
58 {
59 return enableLowPowerPolling_;
60 }
61
ShouldEnableReaderMode() const62 bool NfcPollingParams::ShouldEnableReaderMode() const
63 {
64 return enableReaderMode_;
65 }
66
ShouldEnableHostRouting() const67 bool NfcPollingParams::ShouldEnableHostRouting() const
68 {
69 return enableHostRouting_;
70 }
71
SetTechMask(uint16_t techMask)72 void NfcPollingParams::SetTechMask(uint16_t techMask)
73 {
74 techMask_ = techMask;
75 }
76
SetEnableReaderMode(bool isEnable)77 void NfcPollingParams::SetEnableReaderMode(bool isEnable)
78 {
79 enableReaderMode_ = isEnable;
80 }
81
ToString()82 std::string NfcPollingParams::ToString()
83 {
84 std::string str;
85 return str.append("techMask = ")
86 .append(std::to_string(techMask_))
87 .append(", ")
88 .append("enableLowPowerPolling = ")
89 .append(std::to_string(enableLowPowerPolling_))
90 .append(", ")
91 .append("enableReaderMode = ")
92 .append(std::to_string(enableReaderMode_))
93 .append(", ")
94 .append("enableHostRouting = ")
95 .append(std::to_string(enableHostRouting_))
96 .append(".");
97 }
98 } // namespace NFC
99 } // namespace OHOS
100