7#ifndef LOGICALACCESS_MIFAREACCESSINFO_HPP
8#define LOGICALACCESS_MIFAREACCESSINFO_HPP
28 using XmlSerializable::serialize;
29 using XmlSerializable::unSerialize;
44 void generateInfos()
override;
50 std::string getCardType()
const override;
56 void serialize(boost::property_tree::ptree &parentNode)
override;
62 void unSerialize(boost::property_tree::ptree &parentNode)
override;
68 std::string getDefaultXmlNodeName()
const override;
75 bool operator==(
const AccessInfo &ai)
const override;
104 return ((c1 == bab.
c1) && (c2 == bab.
c2) && (c3 == bab.
c3));
197 void setTransportConfiguration();
202 void setAReadBWriteConfiguration();
203 void setAReadNeverWriteConfiguration();
204 void setBReadBWriteConfiguration();
205 void setBReadNeverWriteConfiguration();
206 void setNeverReadNeverWriteConfiguration();
207 void setNfcConfiguration();
215 for (
unsigned int i = 0; i < 3; ++i)
227 bool b = (*this) == a;
232 d_data_blocks_access_bits[3];
241 std::shared_ptr<MifareKey>
keyA;
246 std::shared_ptr<MifareKey>
keyB;
A Access informations. Describe key used of authentication and access rights for a specific or a grou...
Definition: accessinfo.hpp:22
A Mifare access informations.
Definition: mifareaccessinfo.hpp:26
std::shared_ptr< MifareKey > keyA
The key A.
Definition: mifareaccessinfo.hpp:241
std::shared_ptr< MifareKey > madKeyA
The MAD A Key.
Definition: mifareaccessinfo.hpp:256
std::shared_ptr< MifareKey > keyB
The key B.
Definition: mifareaccessinfo.hpp:246
unsigned char gpb
The sector GPB.
Definition: mifareaccessinfo.hpp:271
unsigned char madGPB
The MAD GPB.
Definition: mifareaccessinfo.hpp:276
bool useMAD
MAD is used ?
Definition: mifareaccessinfo.hpp:251
std::shared_ptr< MifareKey > madKeyB
The MAD B Key.
Definition: mifareaccessinfo.hpp:261
SectorAccessBits sab
The sector access bits.
Definition: mifareaccessinfo.hpp:266
std::vector< uint8_t > ByteVector
Definition: lla_fwd.hpp:80
LLA_CORE_API std::ostream & operator<<(std::ostream &os, const Key &key)
Output to stream operator.
Definition: key.cpp:298
MifareKeyType
Mifare Key Type.
Definition: mifareaccessinfo.hpp:18
@ KT_KEY_B
Definition: mifareaccessinfo.hpp:18
@ KT_KEY_A
Definition: mifareaccessinfo.hpp:18
Block access bits structure.
Definition: mifareaccessinfo.hpp:81
bool c1
The C1 access bit.
Definition: mifareaccessinfo.hpp:107
bool c3
The C3 access bit.
Definition: mifareaccessinfo.hpp:109
bool operator==(const BlockAccessBits &bab) const
Check if two BlockAccessBits are equal.
Definition: mifareaccessinfo.hpp:102
BlockAccessBits(bool v1, bool v2, bool v3)
Constructor.
Definition: mifareaccessinfo.hpp:90
bool c2
The C2 access bit.
Definition: mifareaccessinfo.hpp:108
Data block access bits structure.
Definition: mifareaccessinfo.hpp:116
DataBlockAccessBits()
Constructor.
Definition: mifareaccessinfo.hpp:123
static void * getItem(void *arrayPtr, int i)
Definition: mifareaccessinfo.hpp:128
static void setItem(void *arrayPtr, const DataBlockAccessBits *item, int i)
Definition: mifareaccessinfo.hpp:133
Sector access bits structure.
Definition: mifareaccessinfo.hpp:177
SectorTrailerAccessBits d_sector_trailer_access_bits
The sector trailer access bits.
Definition: mifareaccessinfo.hpp:234
bool operator!=(const SectorAccessBits a)
Definition: mifareaccessinfo.hpp:225
DataBlockAccessBits d_data_blocks_access_bits[3]
The data blocks access bits.
Definition: mifareaccessinfo.hpp:232
bool operator==(SectorAccessBits a)
Definition: mifareaccessinfo.hpp:209
Sector trailer block access bits structure.
Definition: mifareaccessinfo.hpp:146
static void * getItem(void *arrayPtr, int i)
Definition: mifareaccessinfo.hpp:158
SectorTrailerAccessBits()
Constructor.
Definition: mifareaccessinfo.hpp:153
static void setItem(void *arrayPtr, const SectorTrailerAccessBits *item, int i)
Definition: mifareaccessinfo.hpp:163