OSB_LIB::Asn1TagDes Class Reference

Collaboration diagram for OSB_LIB::Asn1TagDes:

Collaboration graph
[legend]
List of all members.

Detailed Description

Information about ASN.1 tags.

The class provides information about an ASN.1 tag:

Definition at line 72 of file asn1tagdes.h.

Public Types

Public Member Functions

Static Public Member Functions

Public Attributes

Private Attributes


Member Typedef Documentation

typedef void(*) OSB_LIB::Asn1TagDes::Decoder(const Asn1Byte *data, const size_t size, std::string &dest)

Decoder function for ASN.1 data.

Parameters:
data ASN.1 data to decode.
size Size of ASN.1 data.
dest String to populate.
It must match Asn1Print::Decoder.

Definition at line 86 of file asn1tagdes.h.

typedef std::list<Asn1TagDes> OSB_LIB::Asn1TagDes::SubTypes

STL containter to store sub-types.

Definition at line 75 of file asn1tagdes.h.


Constructor & Destructor Documentation

OSB_LIB::Asn1TagDes::Asn1TagDes ( const Asn1Tag tag = Asn1Tag()  )  [explicit]

Constructor with optional ASN.1 tag.


Member Function Documentation

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.

Parameters:
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.

Returns:
The decoder function, 0 in case of an unknown decoder.
Callers may use Asn1Print::prRaw() in the latter case.

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.

Parameters:
src List of ASN.1 description to search.
tag ASN.1 tag to find.
Returns:
Pointer to the description for tag, 0 if the tag is not in src.

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.

Parameters:
os Stream to write to.
indent Indent of the lines, incremented by 2 spaces for each member.
Prints the tag description in format of Asn1DesParser.

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.

Parameters:
errors Gets unknown decoders.
Returns:
true if all decoders could be determined, else false.

const SubTypes& OSB_LIB::Asn1TagDes::subTypes (  )  const

Get descriptions of sub-types.

For primitive types the list is normally empty.


Member Data Documentation

Decoder OSB_LIB::Asn1TagDes::decoder_ [mutable, private]

Decoder for primitive types.

Definition at line 190 of file asn1tagdes.h.

std::string OSB_LIB::Asn1TagDes::decoderName_ [private]

Name of decoder function.

Definition at line 188 of file asn1tagdes.h.

std::string OSB_LIB::Asn1TagDes::des_

Description for tag_.

Definition at line 100 of file asn1tagdes.h.

SubTypes OSB_LIB::Asn1TagDes::subTypes_ [private]

Members of constructed types.

Definition at line 193 of file asn1tagdes.h.

Asn1Tag OSB_LIB::Asn1TagDes::tag_

The ASN.1 tag of the definition.

Definition at line 98 of file asn1tagdes.h.


The documentation for this class was generated from the following file:
Generated on Sat Sep 2 14:09:15 2006 for OSB Library by  doxygen 1.4.7