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

The Topaz base profile class. More...

#include <topazstoragecardservice.hpp>

Inheritance diagram for logicalaccess::TopazStorageCardService:
logicalaccess::StorageCardService logicalaccess::CardService

Public Member Functions

 TopazStorageCardService (std::shared_ptr< Chip > chip)
 Constructor.
 
 ~TopazStorageCardService ()
 Destructor.
 
std::string getCSType () override
 
virtual void erase ()
 Erase the card.
 
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 Topaz location, using given Topaz keys.
 
ByteVector readData (std::shared_ptr< Location > location, std::shared_ptr< AccessInfo > aiToUse, size_t length, CardBehavior behaviorFlags) override
 Read data on a specific Topaz location, using given Topaz 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< TopazChipgetTopazChip () const
 

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 Topaz base profile class.

Constructor & Destructor Documentation

◆ TopazStorageCardService()

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

Constructor.

Parameters
chipThe chip.

◆ ~TopazStorageCardService()

logicalaccess::TopazStorageCardService::~TopazStorageCardService ( )

Destructor.

Member Function Documentation

◆ erase() [1/2]

void logicalaccess::TopazStorageCardService::erase ( )
virtual

Erase the card.

◆ erase() [2/2]

void logicalaccess::TopazStorageCardService::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::TopazStorageCardService::getCSType ( )
inlineoverridevirtual

◆ getTopazChip()

std::shared_ptr< TopazChip > logicalaccess::TopazStorageCardService::getTopazChip ( ) const
inlineprotected

◆ readData()

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

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

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

Implements logicalaccess::StorageCardService.

◆ readDataHeader()

ByteVector logicalaccess::TopazStorageCardService::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::TopazStorageCardService::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 Topaz location, using given Topaz 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: