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

The base access control card service class for all access control services. More...

#include <accesscontrolcardservice.hpp>

Inheritance diagram for logicalaccess::AccessControlCardService:
logicalaccess::CardService logicalaccess::GenericTagAccessControlCardService logicalaccess::ProxAccessControlCardService logicalaccess::TwicAccessControlCardService

Public Member Functions

 AccessControlCardService (std::shared_ptr< Chip > chip)
 Constructor.
 
virtual ~AccessControlCardService ()
 Destructor.
 
std::string getCSType () override
 
virtual std::shared_ptr< FormatreadFormat (std::shared_ptr< Format > format, std::shared_ptr< Location > location, std::shared_ptr< AccessInfo > aiToUse)
 Read format from the card.
 
SignatureResult IKS_getPayloadSignature () const
 
virtual bool writeFormat (std::shared_ptr< Format > format, std::shared_ptr< Location > location, std::shared_ptr< AccessInfo > aiToUse, std::shared_ptr< AccessInfo > aiToWrite)
 Write format to the card.
 
virtual FormatList getSupportedFormatList ()
 Get the supported format list.
 
FormatList getHIDWiegandFormatList () const
 Get the HID Wiegand format list.
 
virtual ByteVector getPACSBits (PACS_EXTRACTION_MODE)
 
virtual void writePACSBit (const ByteVector &pacsbits)
 
- 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.
 

Static Public Attributes

static constexpr const CardServiceType service_type_ = CST_ACCESS_CONTROL
 

Protected Attributes

SignatureResult last_signature_
 
- Protected Attributes inherited from logicalaccess::CardService
std::shared_ptr< Chipd_chip
 Chip object.
 
CardServiceType d_serviceType
 Card service type.
 

Detailed Description

The base access control card service class for all access control services.

Constructor & Destructor Documentation

◆ AccessControlCardService()

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

Constructor.

Parameters
chipThe associated chip.

◆ ~AccessControlCardService()

logicalaccess::AccessControlCardService::~AccessControlCardService ( )
virtual

Destructor.

Member Function Documentation

◆ getCSType()

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

◆ getHIDWiegandFormatList()

FormatList logicalaccess::AccessControlCardService::getHIDWiegandFormatList ( ) const

Get the HID Wiegand format list.

Returns
The format list.

◆ getPACSBits()

virtual ByteVector logicalaccess::AccessControlCardService::getPACSBits ( PACS_EXTRACTION_MODE  )
inlinevirtual

Retrieve the Physical Access Control bits. This generally relies on the PCSC reader to provide support.

◆ getSupportedFormatList()

FormatList logicalaccess::AccessControlCardService::getSupportedFormatList ( )
virtual

Get the supported format list.

Returns
The format list.

Reimplemented in logicalaccess::ProxAccessControlCardService, and logicalaccess::TwicAccessControlCardService.

◆ IKS_getPayloadSignature()

SignatureResult logicalaccess::AccessControlCardService::IKS_getPayloadSignature ( ) const
inline

IKS Related call.

This is when IKS sign decrypted packet as a proof that they were read using a DESFire Session Key stored on IKS.

◆ readFormat()

std::shared_ptr< Format > logicalaccess::AccessControlCardService::readFormat ( std::shared_ptr< Format format,
std::shared_ptr< Location location,
std::shared_ptr< AccessInfo aiToUse 
)
virtual

Read format from the card.

Parameters
formatThe format to read.
locationThe format location.
aiToUseThe key's informations to use.
Returns
The format read on success, null otherwise.

Reimplemented in logicalaccess::GenericTagAccessControlCardService, logicalaccess::ProxAccessControlCardService, and logicalaccess::TwicAccessControlCardService.

◆ writeFormat()

bool logicalaccess::AccessControlCardService::writeFormat ( std::shared_ptr< Format format,
std::shared_ptr< Location location,
std::shared_ptr< AccessInfo aiToUse,
std::shared_ptr< AccessInfo aiToWrite 
)
virtual

Write format to the card.

Parameters
formatThe format to write.
locationThe format location.
aiToUseThe key's informations to use.
aiToWriteThe key's informations to write.
Returns
True on success, false otherwise.

Reimplemented in logicalaccess::GenericTagAccessControlCardService, logicalaccess::ProxAccessControlCardService, and logicalaccess::TwicAccessControlCardService.

◆ writePACSBit()

virtual void logicalaccess::AccessControlCardService::writePACSBit ( const ByteVector pacsbits)
inlinevirtual

Write PACSbit onto a card.

This method is geared toward SEos, and will write to standard PACS ADF.

Member Data Documentation

◆ last_signature_

SignatureResult logicalaccess::AccessControlCardService::last_signature_
protected

◆ service_type_

constexpr const CardServiceType logicalaccess::AccessControlCardService::service_type_ = CST_ACCESS_CONTROL
staticconstexpr

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