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