Keyple C++  0.9.0
Keyple, an Open Source SDK for Ticketing
Public Member Functions | List of all members
keyple::calypso::command::po::builder::storedvalue::SvReloadCmdBuild Class Referencefinal

#include <SvReloadCmdBuild.h>

Inherits keyple::calypso::command::po::AbstractPoCommandBuilder< SvReloadRespPars >.

Public Member Functions

 SvReloadCmdBuild (const PoClass &poClass, const PoRevision &poRevision, const int amount, const uint8_t kvc, const std::vector< uint8_t > &date, const std::vector< uint8_t > &time, const std::vector< uint8_t > &free)
 
void finalizeBuilder (const std::vector< uint8_t > &reloadComplementaryData)
 
const std::vector< uint8_t > getSvReloadData () const
 
std::shared_ptr< SvReloadRespParscreateResponseParser (std::shared_ptr< ApduResponse > apduResponse) override
 
bool isSessionBufferUsed () const override
 
- Public Member Functions inherited from keyple::calypso::command::po::AbstractPoCommandBuilder< SvReloadRespPars >
 AbstractPoCommandBuilder (std::shared_ptr< CalypsoPoCommand > commandRef, std::shared_ptr< ApduRequest > request)
 
virtual ~AbstractPoCommandBuilder ()=default
 
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::shared_ptr< SeCommandgetCommandRef () const
 
virtual const std::string & getName () const
 
virtual const std::shared_ptr< ApduRequestgetApduRequest () const
 

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)
 
- Protected Attributes inherited from keyple::calypso::command::po::AbstractPoCommandBuilder< SvReloadRespPars >
const std::shared_ptr< LoggermLogger
 
- Protected Attributes inherited from keyple::core::command::AbstractApduCommandBuilder
const std::shared_ptr< SeCommandmCommandRef
 
std::shared_ptr< ApduRequestmRequest
 

Detailed Description

The Class SvReloadCmdBuild. This class provides the dedicated constructor to build the SV Reload command.

Constructor & Destructor Documentation

◆ SvReloadCmdBuild()

keyple::calypso::command::po::builder::storedvalue::SvReloadCmdBuild::SvReloadCmdBuild ( const PoClass poClass,
const PoRevision poRevision,
const int  amount,
const uint8_t  kvc,
const std::vector< uint8_t > &  date,
const std::vector< uint8_t > &  time,
const std::vector< uint8_t > &  free 
)

Instantiates a new SvReloadCmdBuild.

The process is carried out in two steps: first to check and store the PO and application data, then to create the final APDU with the data from the SAM (see finalizeBuilder).

Parameters
poClassthe PO class
poRevisionthe PO revision
amountamount to debit (signed integer from -8388608 to 8388607)
kvcdebit key KVC (not checked by the PO)
datedebit date (not checked by the PO)
timedebit time (not checked by the PO)
free2 free bytes stored in the log but not processed by the PO
Exceptions
IllegalArgumentException- if the command is inconsistent

Member Function Documentation

◆ createResponseParser()

std::shared_ptr< SvReloadRespPars > keyple::calypso::command::po::builder::storedvalue::SvReloadCmdBuild::createResponseParser ( std::shared_ptr< ApduResponse apduResponse)
overridevirtual

Create the response parser.

A check is made to see if the object has been finalized. If not, an exception keyple::common::exception::IllegalStateException is thrown.

Parameters
apduResponsethe response data from the SE
Returns
a keyple::calypso::command::po::parser::storedvalue::SvReloadRespPars object

Implements keyple::calypso::command::po::AbstractPoCommandBuilder< SvReloadRespPars >.

◆ finalizeBuilder()

void keyple::calypso::command::po::builder::storedvalue::SvReloadCmdBuild::finalizeBuilder ( const std::vector< uint8_t > &  reloadComplementaryData)

Complete the construction of the APDU to be sent to the PO with the elements received from the SAM:

4-byte SAM id

3-byte challenge

3-byte transaction number

5 or 10 byte signature (hi part)

Parameters
reloadComplementaryDatathe sam id and the data out from the SvPrepareReload SAM command

◆ getSvReloadData()

const std::vector< uint8_t > keyple::calypso::command::po::builder::storedvalue::SvReloadCmdBuild::getSvReloadData ( ) const

Gets the SV Reload part of the data to include in the SAM SV Prepare Load command

Returns
a byte array containing the SV reload data

◆ isSessionBufferUsed()

bool keyple::calypso::command::po::builder::storedvalue::SvReloadCmdBuild::isSessionBufferUsed ( ) const
override

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