LibLogicalAccess  2.5.0
An Open Source RFID Library
Loading...
Searching...
No Matches
tlvdatafield.hpp
Go to the documentation of this file.
1
7#ifndef LOGICALACCESS_TLVDATAFIELD_HPP
8#define LOGICALACCESS_TLVDATAFIELD_HPP
9
11
12namespace logicalaccess
13{
17class LLA_CORE_API TLVDataField : public ValueDataField
18{
19 public:
24
28 TLVDataField(unsigned char tag);
29
33 virtual ~TLVDataField();
34
39 DataFieldType getDFType() const override
40 {
41 return DFT_TLV;
42 }
43
48 virtual void setPosition(unsigned int position) override;
49
54 void setValue(const std::string &value);
55
60 std::string getValue() const;
61
62 void setTag(unsigned char tag);
63
64 unsigned char getTag() const;
65
70 void setRawValue(const std::vector<unsigned char> &value);
71
76 std::vector<unsigned char> getRawValue() const;
77
84 virtual BitsetStream getLinearData(const BitsetStream &data) const override;
85
92 virtual void setLinearData(const ByteVector &data) override;
93
99 virtual bool checkSkeleton(std::shared_ptr<DataField> field) const override;
100
105 virtual void serialize(boost::property_tree::ptree &parentNode) override;
106
111 virtual void unSerialize(boost::property_tree::ptree &node) override;
112
117 std::string getDefaultXmlNodeName() const override;
118
119 protected:
120 std::string d_value;
121
122 unsigned char d_tag;
123};
124}
125
126#endif /* LOGICALACCESS_TLVDATAFIELD_HPP */
Definition: BitsetStream.hpp:15
A TLV data field.
Definition: tlvdatafield.hpp:18
DataFieldType getDFType() const override
Get the field type.
Definition: tlvdatafield.hpp:39
unsigned char d_tag
Definition: tlvdatafield.hpp:122
std::string d_value
Definition: tlvdatafield.hpp:120
A value data field base class.
Definition: valuedatafield.hpp:20
std::vector< uint8_t > ByteVector
Definition: lla_fwd.hpp:80
Definition: asn1.hpp:9
DataFieldType
Definition: datafield.hpp:22
@ DFT_TLV
Definition: datafield.hpp:29
Value data field.