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
19namespace OHOS {
20namespace NFC {
21int 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
32int 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
44int 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
56int 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
64int 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
75int 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
86int 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