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

The ISO7816 card provider base class. More...

#include <iso7816storagecardservice.hpp>

Inheritance diagram for logicalaccess::ISO7816StorageCardService:
logicalaccess::StorageCardService logicalaccess::CardService logicalaccess::CPS3StorageCardService logicalaccess::TwicStorageCardService

Public Member Functions

 ISO7816StorageCardService (std::shared_ptr< Chip > chip)
 Constructor.
 
virtual ~ISO7816StorageCardService ()
 Destructor.
 
std::string getCSType () override
 
void erase (std::shared_ptr< Location > location, std::shared_ptr< AccessInfo > aiToUse) override
 Erase a specific location on the card.
 
void writeData (std::shared_ptr< Location > location, std::shared_ptr< AccessInfo > aiToUse, std::shared_ptr< AccessInfo > aiToWrite, const ByteVector &data, CardBehavior behaviorFlags) override
 Write data on a specific Tag-It location, using given Tag-It keys.
 
ByteVector readData (std::shared_ptr< Location > location, std::shared_ptr< AccessInfo > aiToUse, size_t Length, CardBehavior behaviorFlags) override
 Read data on a specific Tag-It location, using given Tag-It keys.
 
ByteVector readDataHeader (std::shared_ptr< Location > location, std::shared_ptr< AccessInfo > aiToUse) override
 Read data header on a specific location, using given keys.
 
- Public Member Functions inherited from logicalaccess::StorageCardService
 StorageCardService (std::shared_ptr< Chip > chip)
 Constructor.
 
virtual ~StorageCardService ()
 
virtual void erase (std::shared_ptr< Location > location, std::shared_ptr< AccessInfo > aiToUse)=0
 Erase a specific location on the card.
 
virtual void writeData (std::shared_ptr< Location > location, std::shared_ptr< AccessInfo > aiToUse, std::shared_ptr< AccessInfo > aiToWrite, const ByteVector &data, CardBehavior behaviorFlags)=0
 Write data on a specific location, using given keys.
 
virtual ByteVector readData (std::shared_ptr< Location > location, std::shared_ptr< AccessInfo > aiToUse, size_t length, CardBehavior behaviorFlags)=0
 Read data on a specific location, using given keys.
 
virtual ByteVector readDataHeader (std::shared_ptr< Location > location, std::shared_ptr< AccessInfo > aiToUse)=0
 Read data header on a specific location, using given keys.
 
SignatureResult IKS_getLastReadSignature ()
 
- Public Member Functions inherited from logicalaccess::CardService
virtual ~CardService ()=default
 
 CardService (std::shared_ptr< Chip > chip, CardServiceType serviceType)
 Constructor.
 
virtual std::string getCSType ()=0
 
std::shared_ptr< ChipgetChip () const
 
virtual CardServiceType getServiceType () const
 Get the card service type.
 

Protected Member Functions

std::shared_ptr< ISO7816ChipgetISO7816Chip () const
 Get the associated ISO7816 chip.
 

Additional Inherited Members

- Static Public Attributes inherited from logicalaccess::StorageCardService
static constexpr const CardServiceType service_type_ = CST_STORAGE
 
- Protected Attributes inherited from logicalaccess::StorageCardService
SignatureResult last_read_signature_
 
- Protected Attributes inherited from logicalaccess::CardService
std::shared_ptr< Chipd_chip
 Chip object.
 
CardServiceType d_serviceType
 Card service type.
 

Detailed Description

The ISO7816 card provider base class.

Constructor & Destructor Documentation

◆ ISO7816StorageCardService()

logicalaccess::ISO7816StorageCardService::ISO7816StorageCardService ( std::shared_ptr< Chip chip)
explicit

Constructor.

◆ ~ISO7816StorageCardService()

logicalaccess::ISO7816StorageCardService::~ISO7816StorageCardService ( )
virtual

Destructor.

Member Function Documentation

◆ erase()

void logicalaccess::ISO7816StorageCardService::erase ( std::shared_ptr< Location location,
std::shared_ptr< AccessInfo aiToUse 
)
overridevirtual

Erase a specific location on the card.

Parameters
locationThe data location.
aiToUseThe key's informations to use to delete.

Implements logicalaccess::StorageCardService.

◆ getCSType()

std::string logicalaccess::ISO7816StorageCardService::getCSType ( )
inlineoverridevirtual

◆ getISO7816Chip()

std::shared_ptr< ISO7816Chip > logicalaccess::ISO7816StorageCardService::getISO7816Chip ( ) const
inlineprotected

Get the associated ISO7816 chip.

Returns
The ISO7816 chip.

◆ readData()

ByteVector logicalaccess::ISO7816StorageCardService::readData ( std::shared_ptr< Location location,
std::shared_ptr< AccessInfo aiToUse,
size_t  Length,
CardBehavior  behaviorFlags 
)
overridevirtual

Read data on a specific Tag-It location, using given Tag-It keys.

Parameters
locationThe data location.
aiToUseThe key's informations to use for write access.
lengthto read.
behaviorFlagsFlags which determines the behavior.
Returns
The bytes readed.

Implements logicalaccess::StorageCardService.

Reimplemented in logicalaccess::TwicStorageCardService.

◆ readDataHeader()

ByteVector logicalaccess::ISO7816StorageCardService::readDataHeader ( std::shared_ptr< Location location,
std::shared_ptr< AccessInfo aiToUse 
)
overridevirtual

Read data header on a specific location, using given keys.

Parameters
locationThe data location.
aiToUseThe key's informations to use.
dataWill contain data after reading.
dataLengthData's length to read.
Returns
Data header length.

Implements logicalaccess::StorageCardService.

◆ writeData()

void logicalaccess::ISO7816StorageCardService::writeData ( std::shared_ptr< Location location,
std::shared_ptr< AccessInfo aiToUse,
std::shared_ptr< AccessInfo aiToWrite,
const ByteVector data,
CardBehavior  behaviorFlags 
)
overridevirtual

Write data on a specific Tag-It location, using given Tag-It keys.

Parameters
locationThe data location.
aiToUseThe key's informations to use for write access.
aiToWriteThe key's informations to change.
dataData to write.
behaviorFlagsFlags which determines the behavior.

Implements logicalaccess::StorageCardService.


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