LibLogicalAccess  2.5.0
An Open Source RFID Library
Loading...
Searching...
No Matches
iso7816storagecardservice.hpp
Go to the documentation of this file.
1
7#ifndef LOGICALACCESS_ISO7816STORAGECARDSERVICE_HPP
8#define LOGICALACCESS_ISO7816STORAGECARDSERVICE_HPP
9
12
13namespace logicalaccess
14{
15#define STORAGECARDSERVICE_ISO7816 "ISO7816Storage"
16
20class LLA_CARDS_ISO7816_API ISO7816StorageCardService : public StorageCardService
21{
22 public:
26 explicit ISO7816StorageCardService(std::shared_ptr<Chip> chip);
27
32
33 std::string getCSType() override
34 {
36 }
37
43 void erase(std::shared_ptr<Location> location,
44 std::shared_ptr<AccessInfo> aiToUse) override;
45
54 void writeData(std::shared_ptr<Location> location,
55 std::shared_ptr<AccessInfo> aiToUse,
56 std::shared_ptr<AccessInfo> aiToWrite, const ByteVector &data,
57 CardBehavior behaviorFlags) override;
58
67 ByteVector readData(std::shared_ptr<Location> location,
68 std::shared_ptr<AccessInfo> aiToUse, size_t Length,
69 CardBehavior behaviorFlags) override;
70
79 ByteVector readDataHeader(std::shared_ptr<Location> location,
80 std::shared_ptr<AccessInfo> aiToUse) override;
81
82 protected:
87 std::shared_ptr<ISO7816Chip> getISO7816Chip() const
88 {
89 return std::dynamic_pointer_cast<ISO7816Chip>(getChip());
90 }
91};
92}
93
94#endif
The ISO7816 card provider base class.
Definition: iso7816storagecardservice.hpp:21
std::string getCSType() override
Definition: iso7816storagecardservice.hpp:33
std::shared_ptr< ISO7816Chip > getISO7816Chip() const
Get the associated ISO7816 chip.
Definition: iso7816storagecardservice.hpp:87
The base storage card service class for all storage services.
Definition: storagecardservice.hpp:30
ISO7816 chip.
#define STORAGECARDSERVICE_ISO7816
Definition: iso7816storagecardservice.hpp:15
std::vector< uint8_t > ByteVector
Definition: lla_fwd.hpp:80
Definition: asn1.hpp:9
CardBehavior
The card behaviors.
Definition: storagecardservice.hpp:20
Storage Card service.