Keyple C++  0.9.0
Keyple, an Open Source SDK for Ticketing
Public Member Functions | Protected Attributes | List of all members
keyple::calypso::command::po::AbstractPoCommandBuilder< T > Class Template Referenceabstract

#include <AbstractPoCommandBuilder.h>

Inherits keyple::core::command::AbstractIso7816CommandBuilder.

Inherited by keyple::calypso::command::po::builder::security::AbstractOpenSessionCmdBuild< T >.

Public Member Functions

 AbstractPoCommandBuilder (std::shared_ptr< CalypsoPoCommand > commandRef, std::shared_ptr< ApduRequest > request)
 
virtual ~AbstractPoCommandBuilder ()=default
 
virtual std::shared_ptr< T > createResponseParser (std::shared_ptr< ApduResponse > apduResponse)=0
 
virtual const std::shared_ptr< SeCommandgetCommandRef () const override
 
virtual bool isSessionBufferUsed () const =0
 
- Public Member Functions inherited from keyple::core::command::AbstractIso7816CommandBuilder
 AbstractIso7816CommandBuilder (const std::shared_ptr< SeCommand > commandReference, const std::shared_ptr< ApduRequest > request)
 
 AbstractIso7816CommandBuilder (const std::string &name, const std::shared_ptr< ApduRequest > request)
 
virtual ~AbstractIso7816CommandBuilder ()=default
 
- Public Member Functions inherited from keyple::core::command::AbstractApduCommandBuilder
 AbstractApduCommandBuilder (const std::shared_ptr< SeCommand > commandRef, const std::shared_ptr< ApduRequest > request)
 
 AbstractApduCommandBuilder (const std::string &name, const std::shared_ptr< ApduRequest > request)
 
virtual ~AbstractApduCommandBuilder ()=default
 
virtual void addSubName (const std::string &subName)
 
virtual const std::string & getName () const
 
virtual const std::shared_ptr< ApduRequestgetApduRequest () const
 

Protected Attributes

const std::shared_ptr< LoggermLogger
 
- Protected Attributes inherited from keyple::core::command::AbstractApduCommandBuilder
const std::shared_ptr< SeCommandmCommandRef
 
std::shared_ptr< ApduRequestmRequest
 

Additional Inherited Members

- Protected Member Functions inherited from keyple::core::command::AbstractIso7816CommandBuilder
virtual std::shared_ptr< ApduRequestsetApduRequest (const uint8_t cla, const SeCommand &command, const uint8_t p1, const uint8_t p2, const std::vector< uint8_t > &dataIn)
 
virtual std::shared_ptr< ApduRequestsetApduRequest (const uint8_t cla, const SeCommand &command, const uint8_t p1, const uint8_t p2, const uint8_t le)
 
virtual std::shared_ptr< ApduRequestsetApduRequest (const uint8_t cla, const SeCommand &command, const uint8_t p1, const uint8_t p2, const std::vector< uint8_t > &dataIn, const uint8_t le)
 

Detailed Description

template<typename T>
class keyple::calypso::command::po::AbstractPoCommandBuilder< T >

Abstract class for all PO command builders.

Constructor & Destructor Documentation

◆ AbstractPoCommandBuilder()

template<typename T >
keyple::calypso::command::po::AbstractPoCommandBuilder< T >::AbstractPoCommandBuilder ( std::shared_ptr< CalypsoPoCommand commandRef,
std::shared_ptr< ApduRequest request 
)
inline

Constructor dedicated for the building of referenced Calypso commands

Parameters
commandRefa command reference from the Calypso command table
requestthe ApduRequest (the instruction byte will be overwritten)

◆ ~AbstractPoCommandBuilder()

template<typename T >
virtual keyple::calypso::command::po::AbstractPoCommandBuilder< T >::~AbstractPoCommandBuilder ( )
virtualdefault

Member Function Documentation

◆ createResponseParser()

template<typename T >
virtual std::shared_ptr<T> keyple::calypso::command::po::AbstractPoCommandBuilder< T >::createResponseParser ( std::shared_ptr< ApduResponse apduResponse)
pure virtual

Create the response parser matching the builder

Parameters
apduResponsethe response data from the SE
Returns
an keyple::core::command::AbstractApduResponseParser

Implemented in keyple::calypso::command::po::builder::WriteRecordCmdBuild, keyple::calypso::command::po::builder::UpdateRecordCmdBuild, keyple::calypso::command::po::builder::storedvalue::SvUndebitCmdBuild, keyple::calypso::command::po::builder::storedvalue::SvReloadCmdBuild, keyple::calypso::command::po::builder::storedvalue::SvGetCmdBuild, keyple::calypso::command::po::builder::storedvalue::SvDebitCmdBuild, keyple::calypso::command::po::builder::SelectFileCmdBuild, keyple::calypso::command::po::builder::security::VerifyPinCmdBuild, keyple::calypso::command::po::builder::security::RehabilitateCmdBuild, keyple::calypso::command::po::builder::security::PoGetChallengeCmdBuild, keyple::calypso::command::po::builder::security::OpenSession32CmdBuild, keyple::calypso::command::po::builder::security::OpenSession31CmdBuild, keyple::calypso::command::po::builder::security::OpenSession24CmdBuild, keyple::calypso::command::po::builder::security::OpenSession10CmdBuild, keyple::calypso::command::po::builder::security::InvalidateCmdBuild, keyple::calypso::command::po::builder::security::CloseSessionCmdBuild, keyple::calypso::command::po::builder::security::ChangeKeyCmdBuild, keyple::calypso::command::po::builder::ReadRecordsCmdBuild, keyple::calypso::command::po::builder::IncreaseCmdBuild, keyple::calypso::command::po::builder::GetDataTraceCmdBuild, keyple::calypso::command::po::builder::GetDataFciCmdBuild, keyple::calypso::command::po::builder::DecreaseCmdBuild, and keyple::calypso::command::po::builder::AppendRecordCmdBuild.

◆ getCommandRef()

template<typename T >
virtual const std::shared_ptr<SeCommand> keyple::calypso::command::po::AbstractPoCommandBuilder< T >::getCommandRef ( ) const
inlineoverridevirtual

Return type should be std::shared_ptr<CalypsoPoCommand> ... but compiler complains about an invalid covariant return type

Reimplemented from keyple::core::command::AbstractApduCommandBuilder.

◆ isSessionBufferUsed()

template<typename T >
virtual bool keyple::calypso::command::po::AbstractPoCommandBuilder< T >::isSessionBufferUsed ( ) const
pure virtual

Indicates if the session buffer is used when executing this command.

Allows the management of the overflow of this buffer.

Returns
true if this command uses the session buffer

Member Data Documentation

◆ mLogger

template<typename T >
const std::shared_ptr<Logger> keyple::calypso::command::po::AbstractPoCommandBuilder< T >::mLogger
protected
Initial value:

common logger for all builders


The documentation for this class was generated from the following file:
keyple::calypso::command::po::AbstractPoCommandBuilder::AbstractPoCommandBuilder
AbstractPoCommandBuilder(std::shared_ptr< CalypsoPoCommand > commandRef, std::shared_ptr< ApduRequest > request)
Definition: AbstractPoCommandBuilder.h:56
keyple::common::LoggerFactory::getLogger
static std::shared_ptr< Logger > getLogger(const std::type_info &type)
Definition: LoggerFactory.cpp:21