14#include "keyple/card/generic/GenericExtensionService.hpp"
16#include "keyple/card/generic/CardTransactionManagerAdapter.hpp"
17#include "keyple/card/generic/GenericCardResourceProfileExtensionAdapter.hpp"
18#include "keyple/card/generic/GenericCardSelectionExtensionAdapter.hpp"
19#include "keyple/core/common/CommonApiProperties.hpp"
20#include "keypop/card/CardApiProperties.hpp"
21#include "keypop/reader/ReaderApiProperties.hpp"
27using keyple::core::common::CommonApiProperties_VERSION;
28using keypop::card::CardApiProperties_VERSION;
29using keypop::reader::ReaderApiProperties_VERSION;
31std::shared_ptr<GenericExtensionService> GenericExtensionService::mInstance;
33GenericExtensionService::GenericExtensionService()
37std::shared_ptr<GenericExtensionService>
38GenericExtensionService::getInstance()
40 if (mInstance ==
nullptr) {
41 mInstance = std::shared_ptr<GenericExtensionService>(
42 new GenericExtensionService());
48std::shared_ptr<GenericCardSelectionExtension>
49GenericExtensionService::createGenericCardSelectionExtension()
51 return std::make_shared<GenericCardSelectionExtensionAdapter>();
54std::shared_ptr<CardTransactionManager>
55GenericExtensionService::createCardTransaction(
56 std::shared_ptr<CardReader> reader, std::shared_ptr<SmartCard> card)
58 return std::make_shared<CardTransactionManagerAdapter>(reader, card);
61std::shared_ptr<CardResourceProfileExtension>
62GenericExtensionService::createCardResourceProfileExtension(
63 const std::shared_ptr<IsoCardSelector> cardSelector,
64 const std::shared_ptr<GenericCardSelectionExtension>
65 genericCardSelectionExtension)
67 return std::make_shared<GenericCardResourceProfileExtensionAdapter>(
68 cardSelector, genericCardSelectionExtension);
72GenericExtensionService::getCardApiVersion()
const
74 return CardApiProperties_VERSION;
78GenericExtensionService::getReaderApiVersion()
const
80 return ReaderApiProperties_VERSION;
84GenericExtensionService::getCommonApiVersion()
const
86 return CommonApiProperties_VERSION;