Keyple Card Calypso C++ Library 2.2.2
Reference Terminal Reader API for C++
Public Member Functions | Protected Member Functions | List of all members
keyple::card::calypso::CommonSamTransactionManagerAdapter< T > Class Template Reference

#include <CommonSamTransactionManagerAdapter.h>

Inheritance diagram for keyple::card::calypso::CommonSamTransactionManagerAdapter< T >:
Inheritance graph
[legend]
Collaboration diagram for keyple::card::calypso::CommonSamTransactionManagerAdapter< T >:
Collaboration graph
[legend]

Public Member Functions

 CommonSamTransactionManagerAdapter (const std::shared_ptr< ProxyReaderApi > samReader, const std::shared_ptr< CalypsoSamAdapter > sam, const std::shared_ptr< SamSecuritySettingAdapter > securitySetting)
 
 CommonSamTransactionManagerAdapter (const std::shared_ptr< SmartCard > targetSmartCard, const std::shared_ptr< CommonSecuritySettingAdapter< T > > securitySetting, const std::vector< uint8_t > &defaultKeyDiversifier, const std::vector< std::vector< uint8_t > > &transactionAuditData)
 
const std::vector< std::vector< uint8_t > > & getTransactionAuditData () const final
 
const std::shared_ptr< CardReader > getSamReader () const final
 
const std::shared_ptr< CalypsoSam > getCalypsoSam () const final
 
SamTransactionManager & prepareComputeSignature (const any data) override
 
SamTransactionManager & prepareVerifySignature (const any data) override
 
SamTransactionManager & processCommands () override
 
- Public Member Functions inherited from keyple::card::calypso::CommonTransactionManagerAdapter< SamTransactionManager, SamSecuritySetting, SamSecuritySettingAdapter >
 CommonTransactionManagerAdapter (std::shared_ptr< SmartCard > targetSmartCard, const std::shared_ptr< CommonSecuritySettingAdapter< SamSecuritySettingAdapter > > securitySetting, const std::vector< std::vector< uint8_t > > &transactionAuditData)
 
const std::vector< std::vector< uint8_t > > & getTransactionAuditData () const override
 
const std::vector< std::shared_ptr< ApduRequestSpi > > getApduRequests (const std::vector< std::shared_ptr< AbstractApduCommand > > &commands)
 
virtual void saveTransactionAuditData (const std::shared_ptr< CardRequestSpi > cardRequest, const std::shared_ptr< CardResponseApi > cardResponse)
 
const std::string getTransactionAuditDataAsString () const
 

Protected Member Functions

virtual std::vector< std::shared_ptr< AbstractApduCommand > > & getSamCommands ()
 
void prepareSelectDiversifierIfNeeded (const std::vector< uint8_t > &specificKeyDiversifier)
 
void prepareSelectDiversifierIfNeeded ()
 

Additional Inherited Members

- Static Public Member Functions inherited from keyple::card::calypso::CommonTransactionManagerAdapter< SamTransactionManager, SamSecuritySetting, SamSecuritySettingAdapter >
static void saveTransactionAuditData (const std::shared_ptr< CardRequestSpi > cardRequest, const std::shared_ptr< CardResponseApi > cardResponse, std::vector< std::vector< uint8_t > > &transactionAuditData)
 
- Public Attributes inherited from keyple::card::calypso::CommonTransactionManagerAdapter< SamTransactionManager, SamSecuritySetting, SamSecuritySettingAdapter >
const std::string MSG_SAM_READER_COMMUNICATION_ERROR
 
const std::string MSG_SAM_COMMUNICATION_ERROR
 
const std::string MSG_SAM_COMMAND_ERROR
 
const std::string MSG_WHILE_TRANSMITTING_COMMANDS
 

Detailed Description

template<typename T>
class keyple::card::calypso::CommonSamTransactionManagerAdapter< T >

(package-private)
Abstract class for all SamTransactionManager classes.

Since
2.2.0

Definition at line 74 of file CommonSamTransactionManagerAdapter.h.

Constructor & Destructor Documentation

◆ CommonSamTransactionManagerAdapter() [1/2]

template<typename T >
keyple::card::calypso::CommonSamTransactionManagerAdapter< T >::CommonSamTransactionManagerAdapter ( const std::shared_ptr< ProxyReaderApi >  samReader,
const std::shared_ptr< CalypsoSamAdapter sam,
const std::shared_ptr< SamSecuritySettingAdapter securitySetting 
)
inline

(package-private)
Creates a new instance (to be used for instantiation of SamTransactionManagerAdapter only).

Parameters
samReaderThe reader through which the SAM communicates.
samThe initial SAM data provided by the selection process.
securitySettingThe SAM security settings (optional).
Since
2.2.0

Definition at line 90 of file CommonSamTransactionManagerAdapter.h.

◆ CommonSamTransactionManagerAdapter() [2/2]

template<typename T >
keyple::card::calypso::CommonSamTransactionManagerAdapter< T >::CommonSamTransactionManagerAdapter ( const std::shared_ptr< SmartCard >  targetSmartCard,
const std::shared_ptr< CommonSecuritySettingAdapter< T > >  securitySetting,
const std::vector< uint8_t > &  defaultKeyDiversifier,
const std::vector< std::vector< uint8_t > > &  transactionAuditData 
)
inline

(package-private)
Creates a new instance (to be used for instantiation of CommonControlSamTransactionManagerAdapter only).

Parameters
targetSmartCardThe target smartcard provided by the selection process.
securitySettingThe card or SAM security settings.
defaultKeyDiversifierThe full serial number of the target card or SAM to be used by default when diversifying keys.
transactionAuditDataThe original transaction data to fill.
Since
2.2.0

Definition at line 118 of file CommonSamTransactionManagerAdapter.h.

Member Function Documentation

◆ getCalypsoSam()

template<typename T >
const std::shared_ptr< CalypsoSam > keyple::card::calypso::CommonSamTransactionManagerAdapter< T >::getCalypsoSam ( ) const
inlinefinal
Since
2.2.0

Definition at line 159 of file CommonSamTransactionManagerAdapter.h.

◆ getSamCommands()

template<typename T >
virtual std::vector< std::shared_ptr< AbstractApduCommand > > & keyple::card::calypso::CommonSamTransactionManagerAdapter< T >::getSamCommands ( )
inlineprotectedvirtual

(package-private)
Returns a reference to the main list of SAM commands.

C++: vector of AbstractApduCommand instead of AbstractCardCommand because of vector vs. polymorphism issues...

Since
2.2.0

Definition at line 524 of file CommonSamTransactionManagerAdapter.h.

◆ getSamReader()

template<typename T >
const std::shared_ptr< CardReader > keyple::card::calypso::CommonSamTransactionManagerAdapter< T >::getSamReader ( ) const
inlinefinal
Since
2.2.0

Definition at line 149 of file CommonSamTransactionManagerAdapter.h.

◆ getTransactionAuditData()

template<typename T >
const std::vector< std::vector< uint8_t > > & keyple::card::calypso::CommonSamTransactionManagerAdapter< T >::getTransactionAuditData ( ) const
inlinefinal

C++: Ugly hack to avoid ambiguous method lookup. This function should be final in CommonTransactionManagerAdapter

Since
2.2.0

Definition at line 139 of file CommonSamTransactionManagerAdapter.h.

◆ prepareComputeSignature()

template<typename T >
SamTransactionManager & keyple::card::calypso::CommonSamTransactionManagerAdapter< T >::prepareComputeSignature ( const any  data)
inlineoverride
Since
2.2.0

Definition at line 169 of file CommonSamTransactionManagerAdapter.h.

◆ prepareSelectDiversifierIfNeeded() [1/2]

template<typename T >
void keyple::card::calypso::CommonSamTransactionManagerAdapter< T >::prepareSelectDiversifierIfNeeded ( )
inlineprotected

(package-private)
Prepares a "SelectDiversifier" command using the default key diversifier if it is not already selected.

Since
2.2.0

Definition at line 556 of file CommonSamTransactionManagerAdapter.h.

◆ prepareSelectDiversifierIfNeeded() [2/2]

template<typename T >
void keyple::card::calypso::CommonSamTransactionManagerAdapter< T >::prepareSelectDiversifierIfNeeded ( const std::vector< uint8_t > &  specificKeyDiversifier)
inlineprotected

(package-private)
Prepares a "SelectDiversifier" command using a specific or the default key diversifier if it is not already selected.

Parameters
specificKeyDiversifierThe specific key diversifier (optional).
Since
2.2.0

Definition at line 537 of file CommonSamTransactionManagerAdapter.h.

◆ prepareVerifySignature()

template<typename T >
SamTransactionManager & keyple::card::calypso::CommonSamTransactionManagerAdapter< T >::prepareVerifySignature ( const any  data)
inlineoverride
Since
2.2.0

Definition at line 253 of file CommonSamTransactionManagerAdapter.h.

◆ processCommands()

template<typename T >
SamTransactionManager & keyple::card::calypso::CommonSamTransactionManagerAdapter< T >::processCommands ( )
inlineoverride
Since
2.2.0

Definition at line 376 of file CommonSamTransactionManagerAdapter.h.


The documentation for this class was generated from the following file: