Keypop Calypso Crypto Legacy SAM C++ API 0.6.0
Reference Calypso Crypto Legacy SAM API for C++
LegacySamSelectionExtension.hpp
Go to the documentation of this file.
1/**************************************************************************************************
2 * Copyright (c) 2024 Calypso Networks Association https://calypsonet.org/ *
3 * *
4 * This program and the accompanying materials are made available under the *
5 * terms of the MIT License which is available at https://opensource.org/licenses/MIT. *
6 * *
7 * SPDX-License-Identifier: MIT *
8 **************************************************************************************************/
9
10#pragma once
11
12#include <memory>
13#include <string>
14
18#include "keypop/reader/CardReader.hpp"
19#include "keypop/reader/selection/spi/CardSelectionExtension.hpp"
20
21namespace keypop {
22namespace calypso {
23namespace crypto {
24namespace legacysam {
25namespace sam {
26
29using keypop::reader::CardReader;
30using keypop::reader::selection::spi::CardSelectionExtension;
31
64class LegacySamSelectionExtension : public CardSelectionExtension {
65public:
79 virtual LegacySamSelectionExtension& setUnlockData(const std::string& unlockData) = 0;
80
96 setUnlockData(const std::string& unlockData, const LegacySam::ProductType productType)
97 = 0;
98
116 const std::shared_ptr<LegacySamStaticUnlockDataProviderSpi> staticUnlockDataProvider)
117 = 0;
118
138 const std::shared_ptr<LegacySamStaticUnlockDataProviderSpi> staticUnlockDataProvider,
139 const std::shared_ptr<CardReader> targetSamReader)
140 = 0;
141
159 const std::shared_ptr<LegacySamDynamicUnlockDataProviderSpi> dynamicUnlockDataProvider)
160 = 0;
161
181 LegacySamDynamicUnlockDataProviderSpi dynamicUnlockDataProvider,
182 CardReader targetSamReader);
183
196
211
220
233};
234
235} /* namespace sam */
236} /* namespace legacysam */
237} /* namespace crypto */
238} /* namespace calypso */
239} /* namespace keypop */
virtual LegacySamSelectionExtension & setUnlockData(const std::string &unlockData, const LegacySam::ProductType productType)=0
virtual LegacySamSelectionExtension & setDynamicUnlockDataProvider(const std::shared_ptr< LegacySamDynamicUnlockDataProviderSpi > dynamicUnlockDataProvider)=0
virtual LegacySamSelectionExtension & setStaticUnlockDataProvider(const std::shared_ptr< LegacySamStaticUnlockDataProviderSpi > staticUnlockDataProvider, const std::shared_ptr< CardReader > targetSamReader)=0
virtual LegacySamSelectionExtension & setStaticUnlockDataProvider(const std::shared_ptr< LegacySamStaticUnlockDataProviderSpi > staticUnlockDataProvider)=0
LegacySamSelectionExtension prepareReadCounterStatus(int counterNumber)
LegacySamSelectionExtension prepareGetData(GetDataTag tag)
virtual LegacySamSelectionExtension & setDynamicUnlockDataProvider(LegacySamDynamicUnlockDataProviderSpi dynamicUnlockDataProvider, CardReader targetSamReader)
LegacySamSelectionExtension prepareReadSystemKeyParameters(SystemKeyType systemKeyType)
virtual LegacySamSelectionExtension & setUnlockData(const std::string &unlockData)=0