LibLogicalAccess  2.5.0
An Open Source RFID Library
Loading...
Searching...
No Matches
paritydatafield.hpp
Go to the documentation of this file.
1
7#ifndef LOGICALACCESS_PARITYDATAFIELD_HPP
8#define LOGICALACCESS_PARITYDATAFIELD_HPP
9
12
13namespace logicalaccess
14{
18class LLA_CORE_API ParityDataField : public DataField
19{
20 public:
25
29 virtual ~ParityDataField();
30
35 DataFieldType getDFType() const override
36 {
37 return DFT_PARITY;
38 }
39
44 void setPosition(unsigned int position) override;
45
50 void setParityType(ParityType type);
51
56 ParityType getParityType() const;
57
62 void setBitsUsePositions(std::vector<unsigned int> positions);
63
68 std::vector<unsigned int> getBitsUsePositions() const;
69
75 bool checkFieldDependecy(std::shared_ptr<DataField> field);
76
83 BitsetStream getLinearData(const BitsetStream &data) const override;
84
91 void setLinearData(const ByteVector &data) override;
92
98 bool checkSkeleton(std::shared_ptr<DataField> field) const override;
99
104 void serialize(boost::property_tree::ptree &parentNode) override;
105
110 void unSerialize(boost::property_tree::ptree &node) override;
111
116 std::string getDefaultXmlNodeName() const override;
117
118 protected:
120
121 std::vector<unsigned int> d_bitsUsePositions;
122};
123}
124
125#endif /* LOGICALACCESS_PARITYDATAFIELD_HPP */
Definition: BitsetStream.hpp:15
A data field base class.
Definition: datafield.hpp:36
A parity data field.
Definition: paritydatafield.hpp:19
DataFieldType getDFType() const override
Get the field type.
Definition: paritydatafield.hpp:35
std::vector< unsigned int > d_bitsUsePositions
Definition: paritydatafield.hpp:121
ParityType d_parityType
Definition: paritydatafield.hpp:119
Data field.
Data type.
std::vector< uint8_t > ByteVector
Definition: lla_fwd.hpp:80
Definition: asn1.hpp:9
ParityType
Parity type.
Definition: datatype.hpp:19
DataFieldType
Definition: datafield.hpp:22
@ DFT_PARITY
Definition: datafield.hpp:25