PASN_Sequence Class Reference
#include <asner.h>
List of all members.
Public Member Functions |
| PASN_Sequence (unsigned tag=UniversalSequence, TagClass tagClass=UniversalTagClass, unsigned nOpts=0, PBoolean extend=PFalse, unsigned nExtend=0) |
| PASN_Sequence (const PASN_Sequence &other) |
PASN_Sequence & | operator= (const PASN_Sequence &other) |
PINDEX | GetSize () const |
PBoolean | SetSize (PINDEX newSize) |
PASN_Object & | operator[] (PINDEX i) const |
PBoolean | HasOptionalField (PINDEX opt) const |
void | IncludeOptionalField (PINDEX opt) |
void | RemoveOptionalField (PINDEX opt) |
virtual Comparison | Compare (const PObject &obj) const |
virtual PObject * | Clone () const |
virtual void | PrintOn (ostream &strm) const |
virtual PString | GetTypeAsString () const |
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 |
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 = PFalse , |
|
|
unsigned |
nExtend = 0 | |
|
) |
| | |
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.
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.
virtual void PASN_Sequence::Encode |
( |
PASN_Stream & |
|
) |
const [virtual] |
virtual PINDEX PASN_Sequence::GetDataLength |
( |
|
) |
const [virtual] |
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] |
PBoolean PASN_Sequence::KnownExtensionDecodeBER |
( |
PBER_Stream & |
strm, |
|
|
PINDEX |
fld, |
|
|
PASN_Object & |
field | |
|
) |
| | |
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 |
PASN_Object& PASN_Sequence::operator[] |
( |
PINDEX |
i |
) |
const [inline] |
PBoolean PASN_Sequence::PreambleDecodeBER |
( |
PBER_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 |
) |
|
PBoolean PASN_Sequence::SetSize |
( |
PINDEX |
newSize |
) |
|
PBoolean PASN_Sequence::UnknownExtensionsDecodeBER |
( |
PBER_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
The documentation for this class was generated from the following file: