|
|
|
|
Location:
asn1enc.h
Link against: asn1.lib
class CASN1EncBase : public CBase;
Base class for all ASN.1 types that we can encode.
CBase - Base class for all classes to be instantiated on the heap
CASN1EncBase - Base class for all ASN.1 types that we can encode
Defined in CASN1EncBase:
CASN1EncBase(), CalculateContentsLengthDER(), ConstructL(), IsConstructed(), LengthDER(), SetTag(), WriteContentsDERL(), WriteDERL(), WriteLengthDER(), iContentsLengthDER, iLengthLengthDER, iTagLengthDER, ~CASN1EncBase()
Inherited from CBase:
Delete(),
Extension_(),
operator new()
protected: IMPORT_C CASN1EncBase(const TTagType aType, const TASN1Class aClass);
Protected constructor
|
protected: virtual IMPORT_C void ConstructL();
Must call this version from derived classes in their ConstructL, but only once they're ready to have CalculateContentsLengthDER called on them.
IMPORT_C TUint LengthDER() const;
Gives total number of octets in the DER encoding of this object.
|
IMPORT_C void WriteDERL(TDes8 &aBuf, TUint &aPos) const;
Writes entire DER encoding of this object into the given buffer.
|
IMPORT_C void SetTag(const TTagType aType, const TASN1Class aClass=EContextSpecific);
Sets tag type/class of the encoding object
|
private: virtual void CalculateContentsLengthDER()=0;
Calculates number of octets in DER content encoding. Must set value of the appropriate data member.
private: virtual void WriteLengthDER(TDes8 &aBuf) const;
Writes DER length encoding into supplied buffer, which is already verified to be big enough.
|
private: virtual void WriteContentsDERL(TDes8 &aBuf) const=0;
Writes DER content encoding into supplied buffer, which is already verified to be big enough. Must be implemented by derived classes.
|
protected: TUint iContentsLengthDER;
Length of DER encoded content.