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) 2025 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 *
6 * https://opensource.org/licenses/MIT. *
7 * *
8 * SPDX-License-Identifier: MIT *
9 ******************************************************************************/
10
11#pragma once
12
13#include <memory>
14#include <string>
15
19#include "keypop/reader/CardReader.hpp"
20#include "keypop/reader/selection/spi/CardSelectionExtension.hpp"
21
22namespace keypop {
23namespace calypso {
24namespace crypto {
25namespace legacysam {
26namespace sam {
27
28using keypop::calypso::crypto::legacysam::spi::
29 LegacySamDynamicUnlockDataProviderSpi;
30using keypop::calypso::crypto::legacysam::spi::
31 LegacySamStaticUnlockDataProviderSpi;
32using keypop::reader::CardReader;
33using keypop::reader::selection::spi::CardSelectionExtension;
34
72class LegacySamSelectionExtension : public CardSelectionExtension {
73public:
91 setUnlockData(const std::string& unlockData)
92 = 0;
93
112 const std::string& unlockData, const LegacySam::ProductType productType)
113 = 0;
114
136 const std::shared_ptr<LegacySamStaticUnlockDataProviderSpi>
137 staticUnlockDataProvider)
138 = 0;
139
162 const std::shared_ptr<LegacySamStaticUnlockDataProviderSpi>
163 staticUnlockDataProvider,
164 const std::shared_ptr<CardReader> targetSamReader)
165 = 0;
166
188 const std::shared_ptr<LegacySamDynamicUnlockDataProviderSpi>
189 dynamicUnlockDataProvider)
190 = 0;
191
214 LegacySamDynamicUnlockDataProviderSpi dynamicUnlockDataProvider,
215 CardReader targetSamReader);
216
231
248
257
271};
272
273} /* namespace sam */
274} /* namespace legacysam */
275} /* namespace crypto */
276} /* namespace calypso */
277} /* 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