Keypop Generic Card C++ API - 1.0.0
Component of the Keypop C++ API
GenericCardApiFactory.hpp
Go to the documentation of this file.
1/******************************************************************************
2 * Copyright (c) 2026 Calypso Networks Association https://calypsonet.org/ *
3 * *
4 * See the NOTICE file(s) distributed with this work for additional *
5 * information regarding copyright ownership. *
6 * *
7 * This program and the accompanying materials are made available under the *
8 * terms of the MIT License which is available at *
9 * https://opensource.org/licenses/MIT *
10 * *
11 * SPDX-License-Identifier: MIT *
12 ******************************************************************************/
13
14#pragma once
15
16#include <memory>
17
20#include "keypop/reader/CardReader.hpp"
21#include "keypop/reader/selection/spi/SmartCard.hpp"
22
23namespace keypop {
24namespace genericcard {
25
26using keypop::reader::CardReader;
27using keypop::reader::selection::spi::SmartCard;
28
35public:
39 virtual ~GenericCardApiFactory() = default;
40
47 virtual std::unique_ptr<GenericCardSelectionExtension>
49 = 0;
50
59 virtual std::unique_ptr<CardTransactionManager> createCardTransaction(
60 const std::shared_ptr<CardReader>& reader,
61 const std::shared_ptr<SmartCard>& card)
62 = 0;
63};
64
65} /* namespace genericcard */
66} /* namespace keypop */
virtual std::unique_ptr< GenericCardSelectionExtension > createGenericCardSelectionExtension()=0
Creates a new instance of GenericCardSelectionExtension.
virtual std::unique_ptr< CardTransactionManager > createCardTransaction(const std::shared_ptr< CardReader > &reader, const std::shared_ptr< SmartCard > &card)=0
Creates an instance of CardTransactionManager.