1094332d3Sopenharmony_ci/*
2094332d3Sopenharmony_ci * Copyright (C) 2024 Huawei Device Co., Ltd.
3094332d3Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
4094332d3Sopenharmony_ci * you may not use this file except in compliance with the License.
5094332d3Sopenharmony_ci * You may obtain a copy of the License at
6094332d3Sopenharmony_ci *
7094332d3Sopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
8094332d3Sopenharmony_ci *
9094332d3Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software
10094332d3Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
11094332d3Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12094332d3Sopenharmony_ci * See the License for the specific language governing permissions and
13094332d3Sopenharmony_ci * limitations under the License.
14094332d3Sopenharmony_ci */
15094332d3Sopenharmony_ci#include "mock.h"
16094332d3Sopenharmony_ci
17094332d3Sopenharmony_cinamespace OHOS {
18094332d3Sopenharmony_cinamespace HDI {
19094332d3Sopenharmony_cinamespace SecureElement {
20094332d3Sopenharmony_ci
21094332d3Sopenharmony_ciint SecureElementCaProxy::VendorSecureElementCaOnStart() const
22094332d3Sopenharmony_ci{
23094332d3Sopenharmony_ci    auto p = MockTee::GetMockTee();
24094332d3Sopenharmony_ci    if (!p) {
25094332d3Sopenharmony_ci        return 0;
26094332d3Sopenharmony_ci    }
27094332d3Sopenharmony_ci    return p->VendorSecureElementCaOnStart();
28094332d3Sopenharmony_ci}
29094332d3Sopenharmony_ci
30094332d3Sopenharmony_ciint SecureElementCaProxy::VendorSecureElementCaInit() const
31094332d3Sopenharmony_ci{
32094332d3Sopenharmony_ci    auto p = MockTee::GetMockTee();
33094332d3Sopenharmony_ci    if (!p) {
34094332d3Sopenharmony_ci        return 0;
35094332d3Sopenharmony_ci    }
36094332d3Sopenharmony_ci    return p->VendorSecureElementCaInit();
37094332d3Sopenharmony_ci}
38094332d3Sopenharmony_ci
39094332d3Sopenharmony_ciint SecureElementCaProxy::VendorSecureElementCaUninit() const
40094332d3Sopenharmony_ci{
41094332d3Sopenharmony_ci    auto p = MockTee::GetMockTee();
42094332d3Sopenharmony_ci    if (!p) {
43094332d3Sopenharmony_ci        return 0;
44094332d3Sopenharmony_ci    }
45094332d3Sopenharmony_ci    return p->VendorSecureElementCaUninit();
46094332d3Sopenharmony_ci}
47094332d3Sopenharmony_ci
48094332d3Sopenharmony_ciint SecureElementCaProxy::VendorSecureElementCaGetAtr(uint8_t *rsp, uint32_t *rspLen) const
49094332d3Sopenharmony_ci{
50094332d3Sopenharmony_ci    auto p = MockTee::GetMockTee();
51094332d3Sopenharmony_ci    if (!p) {
52094332d3Sopenharmony_ci        return 0;
53094332d3Sopenharmony_ci    }
54094332d3Sopenharmony_ci    return p->VendorSecureElementCaGetAtr(rsp, rspLen);
55094332d3Sopenharmony_ci}
56094332d3Sopenharmony_ci
57094332d3Sopenharmony_ciint SecureElementCaProxy::VendorSecureElementCaOpenLogicalChannel(uint8_t *aid, uint32_t len, uint8_t p2,
58094332d3Sopenharmony_ci    uint8_t *rsp, uint32_t *rspLen, uint32_t *channelNum) const
59094332d3Sopenharmony_ci{
60094332d3Sopenharmony_ci    auto p = MockTee::GetMockTee();
61094332d3Sopenharmony_ci    if (!p) {
62094332d3Sopenharmony_ci        return 0;
63094332d3Sopenharmony_ci    }
64094332d3Sopenharmony_ci    return p->VendorSecureElementCaOpenLogicalChannel(aid, len, p2, rsp, rspLen, channelNum);
65094332d3Sopenharmony_ci}
66094332d3Sopenharmony_ci
67094332d3Sopenharmony_ciint SecureElementCaProxy::VendorSecureElementCaOpenBasicChannel(uint8_t *aid, uint32_t len, uint8_t *rsp,
68094332d3Sopenharmony_ci    uint32_t *rspLen) const
69094332d3Sopenharmony_ci{
70094332d3Sopenharmony_ci    auto p = MockTee::GetMockTee();
71094332d3Sopenharmony_ci    if (!p) {
72094332d3Sopenharmony_ci        return 0;
73094332d3Sopenharmony_ci    }
74094332d3Sopenharmony_ci    return p->VendorSecureElementCaOpenBasicChannel(aid, len, rsp, rspLen);
75094332d3Sopenharmony_ci}
76094332d3Sopenharmony_ci
77094332d3Sopenharmony_ciint SecureElementCaProxy::VendorSecureElementCaCloseChannel(uint32_t channelNum) const
78094332d3Sopenharmony_ci{
79094332d3Sopenharmony_ci    auto p = MockTee::GetMockTee();
80094332d3Sopenharmony_ci    if (!p) {
81094332d3Sopenharmony_ci        return 0;
82094332d3Sopenharmony_ci    }
83094332d3Sopenharmony_ci    return p->VendorSecureElementCaCloseChannel(channelNum);
84094332d3Sopenharmony_ci}
85094332d3Sopenharmony_ci
86094332d3Sopenharmony_ciint SecureElementCaProxy::VendorSecureElementCaTransmit(uint8_t *cmd, uint32_t cmdLen, uint8_t *rsp,
87094332d3Sopenharmony_ci    uint32_t *rspLen) const
88094332d3Sopenharmony_ci{
89094332d3Sopenharmony_ci    auto p = MockTee::GetMockTee();
90094332d3Sopenharmony_ci    if (!p) {
91094332d3Sopenharmony_ci        return 0;
92094332d3Sopenharmony_ci    }
93094332d3Sopenharmony_ci    return p->VendorSecureElementCaTransmit(cmd, cmdLen, rsp, rspLen);
94094332d3Sopenharmony_ci}
95094332d3Sopenharmony_ciSecureElementCaProxy::DynamicLoad::DynamicLoad(const std::string &lib) {}
96094332d3Sopenharmony_ci
97094332d3Sopenharmony_ciSecureElementCaProxy::DynamicLoad::~DynamicLoad() {}
98094332d3Sopenharmony_ci
99094332d3Sopenharmony_cibool SecureElementCaProxy::DynamicLoad::LoadLib()
100094332d3Sopenharmony_ci{
101094332d3Sopenharmony_ci    return false;
102094332d3Sopenharmony_ci}
103094332d3Sopenharmony_ci
104094332d3Sopenharmony_cibool SecureElementCaProxy::DynamicLoad::CloseLib()
105094332d3Sopenharmony_ci{
106094332d3Sopenharmony_ci    return false;
107094332d3Sopenharmony_ci}
108094332d3Sopenharmony_ci} // SecureElement
109094332d3Sopenharmony_ci} // HDI
110094332d3Sopenharmony_ci} // OHOS