The class provides information about an ASN.1 tag:
Definition at line 72 of file asn1tagdes.h.
typedef void(*) OSB_LIB::Asn1TagDes::Decoder(const Asn1Byte *data, const size_t size, std::string &dest) |
Decoder function for ASN.1 data.
data | ASN.1 data to decode. | |
size | Size of ASN.1 data. | |
dest | String to populate. |
Definition at line 86 of file asn1tagdes.h.
typedef std::list<Asn1TagDes> OSB_LIB::Asn1TagDes::SubTypes |
Constructor with optional ASN.1 tag.
void OSB_LIB::Asn1TagDes::add | ( | const SubTypes & | subTypes | ) |
Add a list of subtypes.
void OSB_LIB::Asn1TagDes::add | ( | const Asn1TagDes & | subDes | ) |
Add the description for a subtype.
void OSB_LIB::Asn1TagDes::buildFrom | ( | Asn1Info & | asn1 | ) |
Construct from ASN.1 information.
asn1 | ASN.1 information to process. |
Decoder OSB_LIB::Asn1TagDes::decoder | ( | ) | const |
Get the decoder function.
If decoder_ is not set it is taken from Asn1Print.
const std::string OSB_LIB::Asn1TagDes::decoderName | ( | ) | const |
Name of decoder function.
static Asn1TagDes* OSB_LIB::Asn1TagDes::find | ( | SubTypes & | src, | |
const Asn1Tag & | tag | |||
) | [static] |
Find the description for an ASN.1 tag.
src | List of ASN.1 description to search. | |
tag | ASN.1 tag to find. |
void OSB_LIB::Asn1TagDes::moveOut | ( | SubTypes & | dest, | |
int | level | |||
) |
Reduce indentation of sub-types.
void OSB_LIB::Asn1TagDes::print | ( | std::ostream & | os, | |
const std::string & | indent = "" | |||
) | const |
Print the definition to a stream.
os | Stream to write to. | |
indent | Indent of the lines, incremented by 2 spaces for each member. |
void OSB_LIB::Asn1TagDes::setDecoderName | ( | const std::string & | decoderName | ) |
Set the name of the decoder function.
bool OSB_LIB::Asn1TagDes::setDecoders | ( | std::set< std::string > & | errors | ) |
Set the decoder function.
Uses decoderName() to retrieve and set decoder_ from Asn1Print for itself and all subtypes.
errors | Gets unknown decoders. |
const SubTypes& OSB_LIB::Asn1TagDes::subTypes | ( | ) | const |
Get descriptions of sub-types.
For primitive types the list is normally empty.
Decoder OSB_LIB::Asn1TagDes::decoder_ [mutable, private] |
std::string OSB_LIB::Asn1TagDes::decoderName_ [private] |
std::string OSB_LIB::Asn1TagDes::des_ |
SubTypes OSB_LIB::Asn1TagDes::subTypes_ [private] |