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

#include <identity_service.hpp>

Inheritance diagram for logicalaccess::IdentityCardService:
logicalaccess::CardService logicalaccess::EPassIdentityCardService

Public Types

enum class  MetaData {
  DOC_NO , NAME , NATIONALITY , PICTURE ,
  BIRTHDATE , EXPIRATION
}
 

Public Member Functions

 IdentityCardService (std::shared_ptr< Chip > chip)
 
virtual ~IdentityCardService ()=default
 
virtual std::string getString (MetaData what)=0
 
virtual ByteVector getData (MetaData what)=0
 
virtual std::chrono::system_clock::time_point getTime (MetaData what)=0
 
void setAccessInfo (std::shared_ptr< AccessInfo > ai)
 
- 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 Attributes

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

Member Enumeration Documentation

◆ MetaData

Enumerator
DOC_NO 

The document number. It is retrieved as a std::string

NAME 

Name of the person whose identity information is stored on the chip.

NATIONALITY 

Nationality of the card holder. For EPassport this is a 3 letter country code.

PICTURE 

Binary data representing a facial picture of the card holder.

The format of this image is not specified at this API level and is dependant on the type of the underlying card.

BIRTHDATE 

Date of birth, as a std::chrono::system_clock::time_point

EXPIRATION 

Expiration date of the document, as a std::chrono::system_clock::time_point

Constructor & Destructor Documentation

◆ IdentityCardService()

IdentityCardService::IdentityCardService ( std::shared_ptr< Chip chip)
explicit

◆ ~IdentityCardService()

virtual logicalaccess::IdentityCardService::~IdentityCardService ( )
virtualdefault

Member Function Documentation

◆ getData()

virtual ByteVector logicalaccess::IdentityCardService::getData ( MetaData  what)
pure virtual

Used to retrieve binary data (picture).

Implemented in logicalaccess::EPassIdentityCardService.

◆ getString()

virtual std::string logicalaccess::IdentityCardService::getString ( MetaData  what)
pure virtual

Method used to retrieve identity data that fits

Implemented in logicalaccess::EPassIdentityCardService.

◆ getTime()

virtual std::chrono::system_clock::time_point logicalaccess::IdentityCardService::getTime ( MetaData  what)
pure virtual

To retrieve date entry.

Implemented in logicalaccess::EPassIdentityCardService.

◆ setAccessInfo()

void IdentityCardService::setAccessInfo ( std::shared_ptr< AccessInfo ai)

Provide an AccessInfo that will be used by underlying implementation to authenticate against the chip.

As an example, the EPassport Identity Service expect to find an EPassAccessInfo and will extract MRZ information from it.

Member Data Documentation

◆ access_info_

std::shared_ptr<AccessInfo> logicalaccess::IdentityCardService::access_info_
protected

AccessInfo that may be used by underlying implementation to gather whatever data they may need to perform various operation.


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