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_basic_proxy.h"
16 
17 #include "loghelper.h"
18 
19 namespace OHOS {
20 namespace NFC {
SendRequestExpectReplyStringAndStatusCode(uint32_t cmd,MessageParcel & data,MessageParcel & reply,MessageOption & option,std::string & result)21 int NfcBasicProxy::SendRequestExpectReplyStringAndStatusCode(uint32_t cmd,
22     MessageParcel& data, MessageParcel& reply, MessageOption& option, std::string& result)
23 {
24     int ret = remoteObj_->SendRequest(cmd, data, reply, option);
25     if (ret == ERR_NONE) {
26         result = reply.ReadString();
27     }
28     InfoLog("SendRequestExpectReplyStringAndStatusCode, cmd %{public}d, ret %{public}d", cmd, ret);
29     return ret;
30 }
31 
SendRequestExpectReplyIntAndStatusCode(uint32_t cmd,MessageParcel & data,MessageParcel & reply,MessageOption & option,int & result)32 int NfcBasicProxy::SendRequestExpectReplyIntAndStatusCode(uint32_t cmd,
33     MessageParcel& data, MessageParcel& reply, MessageOption& option, int& result)
34 {
35     int ret = remoteObj_->SendRequest(cmd, data, reply, option);
36     if (ret == ERR_NONE) {
37         result = reply.ReadInt32();
38     }
39     InfoLog("SendRequestExpectReplyIntAndStatusCode, cmd %{public}d, ret %{public}d, result %{public}d",
40         cmd, ret, result);
41     return ret;
42 }
43 
SendRequestExpectReplyBoolAndStatusCode(uint32_t cmd,MessageParcel & data,MessageParcel & reply,MessageOption & option,bool & result)44 int NfcBasicProxy::SendRequestExpectReplyBoolAndStatusCode(uint32_t cmd,
45     MessageParcel& data, MessageParcel& reply, MessageOption& option, bool& result)
46 {
47     int32_t ret = remoteObj_->SendRequest(cmd, data, reply, option);
48     if (ret == ERR_NONE) {
49         result = reply.ReadBool();
50     }
51     InfoLog("SendRequestExpectReplyBoolAndStatusCode, cmd %{public}d, ret %{public}d, result %{public}d",
52         cmd, ret, result);
53     return ret;
54 }
55 
SendRequestExpectReplyNoneAndStatusCode(uint32_t cmd,MessageParcel & data,MessageParcel & reply,MessageOption & option)56 int NfcBasicProxy::SendRequestExpectReplyNoneAndStatusCode(uint32_t cmd,
57     MessageParcel& data, MessageParcel& reply, MessageOption& option)
58 {
59     int32_t ret = remoteObj_->SendRequest(cmd, data, reply, option);
60     InfoLog("SendRequestExpectReplyNoneAndStatusCode, cmd %{public}d, ret %{public}d", cmd, ret);
61     return ret;
62 }
63 
SendRequestExpectReplyInt(uint32_t cmd,MessageParcel & data,MessageOption & option,int & result)64 int NfcBasicProxy::SendRequestExpectReplyInt(uint32_t cmd, MessageParcel& data, MessageOption& option, int& result)
65 {
66     MessageParcel reply;
67     int ret = remoteObj_->SendRequest(cmd, data, reply, option);
68     if (ret == ERR_NONE) {
69         result = reply.ReadInt32();
70     }
71     InfoLog("SendRequestExpectReplyInt, cmd %{public}d, ret %{public}d, reply %{public}d", cmd, ret, result);
72     return ret;
73 }
74 
SendRequestExpectReplyBool(uint32_t cmd,MessageParcel & data,MessageOption & option,bool & result)75 int NfcBasicProxy::SendRequestExpectReplyBool(uint32_t cmd, MessageParcel& data, MessageOption& option, bool& result)
76 {
77     MessageParcel reply;
78     int32_t ret = remoteObj_->SendRequest(cmd, data, reply, option);
79     if (ret == ERR_NONE) {
80         result = reply.ReadBool();
81     }
82     InfoLog("SendRequestExpectReplyBool, cmd %{public}d, ret %{public}d, reply %{public}d", cmd, ret, result);
83     return ret;
84 }
85 
SendRequestExpectReplyNone(uint32_t cmd,MessageParcel & data,MessageOption & option)86 int NfcBasicProxy::SendRequestExpectReplyNone(uint32_t cmd, MessageParcel& data, MessageOption& option)
87 {
88     MessageParcel reply;
89     int32_t ret = remoteObj_->SendRequest(cmd, data, reply, option);
90     InfoLog("SendRequestExpectReplyNone, cmd %{public}d, ret %{public}d", cmd, ret);
91     return ret;
92 }
93 }  // namespace NFC
94 }  // namespace OHOS
95