PASN_Sequence Class Reference

Class for ASN Sequence type. More...

#include <asner.h>

Inheritance diagram for PASN_Sequence:

PASN_Object PObject PASN_Set PSNMP_Message PSNMP_PDU PSNMP_Trap_PDU PSNMP_VarBind PSNMP_GetNextRequest_PDU PSNMP_GetRequest_PDU PSNMP_GetResponse_PDU PSNMP_SetRequest_PDU List of all members.

Public Member Functions

 PASN_Sequence (unsigned tag=UniversalSequence, TagClass tagClass=UniversalTagClass, unsigned nOpts=0, PBoolean extend=false, unsigned nExtend=0)
 PASN_Sequence (const PASN_Sequence &other)
PASN_Sequenceoperator= (const PASN_Sequence &other)
PINDEX GetSize () const
PBoolean SetSize (PINDEX newSize)
PASN_Objectoperator[] (PINDEX i) const
PBoolean HasOptionalField (PINDEX opt) const
void IncludeOptionalField (PINDEX opt)
void RemoveOptionalField (PINDEX opt)
virtual Comparison Compare (const PObject &obj) const
 Compare the two objects and return their relative rank.
virtual PObjectClone () const
 Create a copy of the class on the heap.
virtual void PrintOn (ostream &strm) const
 Output the contents of the object to the stream.
virtual PString GetTypeAsString () const
 Return a string giving the type of the object.
virtual PINDEX GetDataLength () const
virtual PBoolean IsPrimitive () const
virtual PBoolean Decode (PASN_Stream &)
virtual void Encode (PASN_Stream &) const
PBoolean PreambleDecode (PASN_Stream &strm)
void PreambleEncode (PASN_Stream &strm) const
PBoolean KnownExtensionDecode (PASN_Stream &strm, PINDEX fld, PASN_Object &field)
void KnownExtensionEncode (PASN_Stream &strm, PINDEX fld, const PASN_Object &field) const
PBoolean UnknownExtensionsDecode (PASN_Stream &strm)
void UnknownExtensionsEncode (PASN_Stream &strm) const
PBoolean PreambleDecodeBER (PBER_Stream &strm)
void PreambleEncodeBER (PBER_Stream &strm) const
PBoolean KnownExtensionDecodeBER (PBER_Stream &strm, PINDEX fld, PASN_Object &field)
void KnownExtensionEncodeBER (PBER_Stream &strm, PINDEX fld, const PASN_Object &field) const
PBoolean UnknownExtensionsDecodeBER (PBER_Stream &strm)
void UnknownExtensionsEncodeBER (PBER_Stream &strm) const
PBoolean PreambleDecodePER (PPER_Stream &strm)
void PreambleEncodePER (PPER_Stream &strm) const
PBoolean KnownExtensionDecodePER (PPER_Stream &strm, PINDEX fld, PASN_Object &field)
void KnownExtensionEncodePER (PPER_Stream &strm, PINDEX fld, const PASN_Object &field) const
PBoolean UnknownExtensionsDecodePER (PPER_Stream &strm)
void UnknownExtensionsEncodePER (PPER_Stream &strm) const
virtual PBoolean PreambleDecodeXER (PXER_Stream &strm)
virtual void PreambleEncodeXER (PXER_Stream &strm) const
virtual PBoolean KnownExtensionDecodeXER (PXER_Stream &strm, PINDEX fld, PASN_Object &field)
virtual void KnownExtensionEncodeXER (PXER_Stream &strm, PINDEX fld, const PASN_Object &field) const
virtual PBoolean UnknownExtensionsDecodeXER (PXER_Stream &strm)
virtual void UnknownExtensionsEncodeXER (PXER_Stream &strm) const

Protected Member Functions

PBoolean NoExtensionsToDecode (PPER_Stream &strm)
PBoolean NoExtensionsToEncode (PPER_Stream &strm)

Protected Attributes

PASN_ObjectArray fields
PASN_BitString optionMap
int knownExtensions
int totalExtensions
PASN_BitString extensionMap
PINDEX endBasicEncoding

Detailed Description

Class for ASN Sequence type.


Constructor & Destructor Documentation

PASN_Sequence::PASN_Sequence ( unsigned  tag = UniversalSequence,
TagClass  tagClass = UniversalTagClass,
unsigned  nOpts = 0,
PBoolean  extend = false,
unsigned  nExtend = 0 
)

PASN_Sequence::PASN_Sequence ( const PASN_Sequence other  ) 


Member Function Documentation

virtual PObject* PASN_Sequence::Clone (  )  const [virtual]

Create a copy of the class on the heap.

The exact semantics of the descendent class determine what is required to make a duplicate of the instance. Not all classes can even do a clone operation.

The main user of the clone function is the PDictionary class as it requires copies of the dictionary keys.

The default behaviour is for this function to assert.

Returns:
pointer to new copy of the class instance.

Reimplemented from PObject.

Reimplemented in PASN_Set, PSNMP_VarBind, PSNMP_PDU, PSNMP_Trap_PDU, PSNMP_GetRequest_PDU, PSNMP_GetNextRequest_PDU, PSNMP_GetResponse_PDU, PSNMP_SetRequest_PDU, and PSNMP_Message.

virtual Comparison PASN_Sequence::Compare ( const PObject obj  )  const [virtual]

Compare the two objects and return their relative rank.

This function is usually overridden by descendent classes to yield the ranking according to the semantics of the object.

The default function is to use the CompareObjectMemoryDirect() function to do a byte wise memory comparison of the two objects.

Returns:
LessThan, EqualTo or GreaterThan according to the relative rank of the objects.

Reimplemented from PObject.

Reimplemented in PSNMP_VarBind, PSNMP_PDU, PSNMP_Trap_PDU, and PSNMP_Message.

virtual PBoolean PASN_Sequence::Decode ( PASN_Stream  )  [virtual]

Implements PASN_Object.

Reimplemented in PSNMP_VarBind, PSNMP_PDU, PSNMP_Trap_PDU, and PSNMP_Message.

virtual void PASN_Sequence::Encode ( PASN_Stream  )  const [virtual]

Implements PASN_Object.

Reimplemented in PSNMP_VarBind, PSNMP_PDU, PSNMP_Trap_PDU, and PSNMP_Message.

virtual PINDEX PASN_Sequence::GetDataLength (  )  const [virtual]

Implements PASN_Object.

Reimplemented in PSNMP_VarBind, PSNMP_PDU, PSNMP_Trap_PDU, and PSNMP_Message.

PINDEX PASN_Sequence::GetSize (  )  const [inline]

virtual PString PASN_Sequence::GetTypeAsString (  )  const [virtual]

Return a string giving the type of the object.

Implements PASN_Object.

Reimplemented in PASN_Set.

PBoolean PASN_Sequence::HasOptionalField ( PINDEX  opt  )  const

void PASN_Sequence::IncludeOptionalField ( PINDEX  opt  ) 

virtual PBoolean PASN_Sequence::IsPrimitive (  )  const [virtual]

Reimplemented from PASN_Object.

PBoolean PASN_Sequence::KnownExtensionDecode ( PASN_Stream strm,
PINDEX  fld,
PASN_Object field 
)

PBoolean PASN_Sequence::KnownExtensionDecodeBER ( PBER_Stream &  strm,
PINDEX  fld,
PASN_Object field 
)

PBoolean PASN_Sequence::KnownExtensionDecodePER ( PPER_Stream &  strm,
PINDEX  fld,
PASN_Object field 
)

virtual PBoolean PASN_Sequence::KnownExtensionDecodeXER ( PXER_Stream &  strm,
PINDEX  fld,
PASN_Object field 
) [virtual]

void PASN_Sequence::KnownExtensionEncode ( PASN_Stream strm,
PINDEX  fld,
const PASN_Object field 
) const

void PASN_Sequence::KnownExtensionEncodeBER ( PBER_Stream &  strm,
PINDEX  fld,
const PASN_Object field 
) const

void PASN_Sequence::KnownExtensionEncodePER ( PPER_Stream &  strm,
PINDEX  fld,
const PASN_Object field 
) const

virtual void PASN_Sequence::KnownExtensionEncodeXER ( PXER_Stream &  strm,
PINDEX  fld,
const PASN_Object field 
) const [virtual]

PBoolean PASN_Sequence::NoExtensionsToDecode ( PPER_Stream &  strm  )  [protected]

PBoolean PASN_Sequence::NoExtensionsToEncode ( PPER_Stream &  strm  )  [protected]

PASN_Sequence& PASN_Sequence::operator= ( const PASN_Sequence other  ) 

PASN_Object& PASN_Sequence::operator[] ( PINDEX  i  )  const [inline]

PBoolean PASN_Sequence::PreambleDecode ( PASN_Stream strm  ) 

PBoolean PASN_Sequence::PreambleDecodeBER ( PBER_Stream &  strm  ) 

PBoolean PASN_Sequence::PreambleDecodePER ( PPER_Stream &  strm  ) 

virtual PBoolean PASN_Sequence::PreambleDecodeXER ( PXER_Stream &  strm  )  [virtual]

void PASN_Sequence::PreambleEncode ( PASN_Stream strm  )  const

void PASN_Sequence::PreambleEncodeBER ( PBER_Stream &  strm  )  const

void PASN_Sequence::PreambleEncodePER ( PPER_Stream &  strm  )  const

virtual void PASN_Sequence::PreambleEncodeXER ( PXER_Stream &  strm  )  const [virtual]

virtual void PASN_Sequence::PrintOn ( ostream &  strm  )  const [virtual]

Output the contents of the object to the stream.

The exact output is dependent on the exact semantics of the descendent class. This is primarily used by the standard operator<< function.

The default behaviour is to print the class name.

Reimplemented from PObject.

Reimplemented in PSNMP_VarBind, PSNMP_PDU, PSNMP_Trap_PDU, and PSNMP_Message.

void PASN_Sequence::RemoveOptionalField ( PINDEX  opt  ) 

PBoolean PASN_Sequence::SetSize ( PINDEX  newSize  ) 

PBoolean PASN_Sequence::UnknownExtensionsDecode ( PASN_Stream strm  ) 

PBoolean PASN_Sequence::UnknownExtensionsDecodeBER ( PBER_Stream &  strm  ) 

PBoolean PASN_Sequence::UnknownExtensionsDecodePER ( PPER_Stream &  strm  ) 

virtual PBoolean PASN_Sequence::UnknownExtensionsDecodeXER ( PXER_Stream &  strm  )  [virtual]

void PASN_Sequence::UnknownExtensionsEncode ( PASN_Stream strm  )  const

void PASN_Sequence::UnknownExtensionsEncodeBER ( PBER_Stream &  strm  )  const

void PASN_Sequence::UnknownExtensionsEncodePER ( PPER_Stream &  strm  )  const

virtual void PASN_Sequence::UnknownExtensionsEncodeXER ( PXER_Stream &  strm  )  const [virtual]


Member Data Documentation

PINDEX PASN_Sequence::endBasicEncoding [protected]

PASN_BitString PASN_Sequence::extensionMap [protected]

PASN_ObjectArray PASN_Sequence::fields [protected]

int PASN_Sequence::knownExtensions [protected]

PASN_BitString PASN_Sequence::optionMap [protected]

int PASN_Sequence::totalExtensions [protected]


The documentation for this class was generated from the following file:
Generated on Fri Oct 14 01:44:11 2011 for PTLib by  doxygen 1.4.7