LibLogicalAccess  2.5.0
An Open Source RFID Library
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Private Types | Private Attributes | List of all members
logicalaccess::ResultChecker Class Reference

A result checker base class. More...

#include <resultchecker.hpp>

Inheritance diagram for logicalaccess::ResultChecker:
logicalaccess::ISO7816ResultChecker logicalaccess::MifarePlusISO7816ResultChecker logicalaccess::ACSACRResultChecker logicalaccess::DESFireISO7816ResultChecker logicalaccess::ID3ResultChecker logicalaccess::MifareOmnikeyXX27ResultChecker logicalaccess::SAMISO7816ResultChecker logicalaccess::SpringCardResultChecker

Public Member Functions

 ResultChecker ()
 Constructor.
 
virtual ~ResultChecker ()
 Destructor.
 
virtual void CheckResult (const void *data, size_t datalen)
 Check the buffer result and throw exception if needed.
 
virtual bool AllowEmptyResult () const
 

Protected Member Functions

void AddCheck (unsigned char SW1, unsigned char SW2, const std::string &msg, CardException::ErrorType error=CardException::DEFAULT, bool throwException=true)
 Add a new check. Maps already existing are overwritten.
 
void RemoveCheck (unsigned char SW1, unsigned char SW2)
 Remove a check.
 
void ClearChecks ()
 Clear all checks.
 
void AddSingleShotCheck (unsigned char SW1, unsigned char SW2, const std::string &msg)
 Add a new single shot check. Single shots are always cleared after the check result.
 

Private Types

typedef std::pair< unsigned char, unsigned char > ResultCheckerKeys
 Result checker map keys.
 
typedef std::tuple< std::string, CardException::ErrorType, bool > ResultCheckerValues
 Result checker map values.
 

Private Attributes

std::map< ResultCheckerKeys, ResultCheckerValuesmapPrimary
 Primary map checks.
 
std::map< ResultCheckerKeys, ResultCheckerValuesmapSingleShot
 Single shot checks.
 

Detailed Description

A result checker base class.

Member Typedef Documentation

◆ ResultCheckerKeys

typedef std::pair<unsigned char, unsigned char> logicalaccess::ResultChecker::ResultCheckerKeys
private

Result checker map keys.

◆ ResultCheckerValues

typedef std::tuple<std::string, CardException::ErrorType, bool> logicalaccess::ResultChecker::ResultCheckerValues
private

Result checker map values.

Constructor & Destructor Documentation

◆ ResultChecker()

logicalaccess::ResultChecker::ResultChecker ( )

Constructor.

◆ ~ResultChecker()

logicalaccess::ResultChecker::~ResultChecker ( )
virtual

Destructor.

Member Function Documentation

◆ AddCheck()

void logicalaccess::ResultChecker::AddCheck ( unsigned char  SW1,
unsigned char  SW2,
const std::string &  msg,
CardException::ErrorType  error = CardException::DEFAULT,
bool  throwException = true 
)
protected

Add a new check. Maps already existing are overwritten.

Parameters
SW1The SW1 error code.
SW2The SW2 error code.
msgThe string message related to the error codes.
errorThe (liblogicalacccess-level) error code corresponding to the error.
throwExceptionDefine if an exception should be throwed for the error code.

◆ AddSingleShotCheck()

void logicalaccess::ResultChecker::AddSingleShotCheck ( unsigned char  SW1,
unsigned char  SW2,
const std::string &  msg 
)
protected

Add a new single shot check. Single shots are always cleared after the check result.

Parameters
SW1The SW1 error code.
SW2The SW2 error code.
msgThe string message related to the error codes.

◆ AllowEmptyResult()

bool logicalaccess::ResultChecker::AllowEmptyResult ( ) const
virtual

Whether or not an empty result is a valid response or not. Default to false.

◆ CheckResult()

void logicalaccess::ResultChecker::CheckResult ( const void *  data,
size_t  datalen 
)
virtual

Check the buffer result and throw exception if needed.

Parameters
dataThe buffer.
size_tThe buffer length.

Reimplemented in logicalaccess::MifarePlusISO7816ResultChecker.

◆ ClearChecks()

void logicalaccess::ResultChecker::ClearChecks ( )
protected

Clear all checks.

◆ RemoveCheck()

void logicalaccess::ResultChecker::RemoveCheck ( unsigned char  SW1,
unsigned char  SW2 
)
protected

Remove a check.

Parameters
SW1The SW1 error code.
SW2The SW2 error code.

Member Data Documentation

◆ mapPrimary

std::map<ResultCheckerKeys, ResultCheckerValues> logicalaccess::ResultChecker::mapPrimary
private

Primary map checks.

◆ mapSingleShot

std::map<ResultCheckerKeys, ResultCheckerValues> logicalaccess::ResultChecker::mapSingleShot
private

Single shot checks.


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