PASN_Sequence Class Reference

#include <asner.h>

Inheritance diagram for PASN_Sequence:
PASN_Object PObject PASN_Set

List of all members.

Public Member Functions

 PASN_Sequence (unsigned tag=UniversalSequence, TagClass tagClass=UniversalTagClass, unsigned nOpts=0, BOOL extend=FALSE, unsigned nExtend=0)
 PASN_Sequence (const PASN_Sequence &other)
PASN_Sequenceoperator= (const PASN_Sequence &other)
PINDEX GetSize () const
BOOL SetSize (PINDEX newSize)
PASN_Objectoperator[] (PINDEX i) const
BOOL HasOptionalField (PINDEX opt) const
void IncludeOptionalField (PINDEX opt)
void RemoveOptionalField (PINDEX opt)
virtual Comparison Compare (const PObject &obj) const
virtual PObjectClone () const
virtual void PrintOn (ostream &strm) const
virtual PString GetTypeAsString () const
virtual PINDEX GetDataLength () const
virtual BOOL IsPrimitive () const
virtual BOOL Decode (PASN_Stream &)
virtual void Encode (PASN_Stream &) const
BOOL PreambleDecode (PASN_Stream &strm)
void PreambleEncode (PASN_Stream &strm) const
BOOL KnownExtensionDecode (PASN_Stream &strm, PINDEX fld, PASN_Object &field)
void KnownExtensionEncode (PASN_Stream &strm, PINDEX fld, const PASN_Object &field) const
BOOL UnknownExtensionsDecode (PASN_Stream &strm)
void UnknownExtensionsEncode (PASN_Stream &strm) const
BOOL PreambleDecodeBER (PBER_Stream &strm)
void PreambleEncodeBER (PBER_Stream &strm) const
BOOL KnownExtensionDecodeBER (PBER_Stream &strm, PINDEX fld, PASN_Object &field)
void KnownExtensionEncodeBER (PBER_Stream &strm, PINDEX fld, const PASN_Object &field) const
BOOL UnknownExtensionsDecodeBER (PBER_Stream &strm)
void UnknownExtensionsEncodeBER (PBER_Stream &strm) const
BOOL PreambleDecodePER (PPER_Stream &strm)
void PreambleEncodePER (PPER_Stream &strm) const
BOOL KnownExtensionDecodePER (PPER_Stream &strm, PINDEX fld, PASN_Object &field)
void KnownExtensionEncodePER (PPER_Stream &strm, PINDEX fld, const PASN_Object &field) const
BOOL UnknownExtensionsDecodePER (PPER_Stream &strm)
void UnknownExtensionsEncodePER (PPER_Stream &strm) const

Protected Member Functions

BOOL NoExtensionsToDecode (PPER_Stream &strm)
BOOL 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,
BOOL  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.

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

Implements PASN_Object.

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

Implements PASN_Object.

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

Implements PASN_Object.

PINDEX PASN_Sequence::GetSize (  )  const [inline]

References fields.

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

Return a string giving the type of the object

Implements PASN_Object.

Reimplemented in PASN_Set.

BOOL PASN_Sequence::HasOptionalField ( PINDEX  opt  )  const
void PASN_Sequence::IncludeOptionalField ( PINDEX  opt  ) 
virtual BOOL PASN_Sequence::IsPrimitive (  )  const [virtual]

Reimplemented from PASN_Object.

BOOL PASN_Sequence::KnownExtensionDecode ( PASN_Stream strm,
PINDEX  fld,
PASN_Object field 
)
BOOL PASN_Sequence::KnownExtensionDecodeBER ( PBER_Stream &  strm,
PINDEX  fld,
PASN_Object field 
)
BOOL PASN_Sequence::KnownExtensionDecodePER ( PPER_Stream strm,
PINDEX  fld,
PASN_Object field 
)
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
BOOL PASN_Sequence::NoExtensionsToDecode ( PPER_Stream strm  )  [protected]
BOOL 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]

References fields.

BOOL PASN_Sequence::PreambleDecode ( PASN_Stream strm  ) 
BOOL PASN_Sequence::PreambleDecodeBER ( PBER_Stream &  strm  ) 
BOOL PASN_Sequence::PreambleDecodePER ( PPER_Stream strm  ) 
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::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.

void PASN_Sequence::RemoveOptionalField ( PINDEX  opt  ) 
BOOL PASN_Sequence::SetSize ( PINDEX  newSize  ) 
BOOL PASN_Sequence::UnknownExtensionsDecode ( PASN_Stream strm  ) 
BOOL PASN_Sequence::UnknownExtensionsDecodeBER ( PBER_Stream &  strm  ) 
BOOL PASN_Sequence::UnknownExtensionsDecodePER ( PPER_Stream strm  ) 
void PASN_Sequence::UnknownExtensionsEncode ( PASN_Stream strm  )  const
void PASN_Sequence::UnknownExtensionsEncodeBER ( PBER_Stream &  strm  )  const
void PASN_Sequence::UnknownExtensionsEncodePER ( PPER_Stream strm  )  const

Member Data Documentation

PINDEX PASN_Sequence::endBasicEncoding [protected]
PASN_ObjectArray PASN_Sequence::fields [protected]

Referenced by GetSize(), and operator[]().


The documentation for this class was generated from the following file:

Generated on Sun Sep 6 03:50:35 2009 for PWLib by  doxygen 1.6.1