# PASN_Stream Class Reference

Base class for ASN decoder/encoder stream. More...

`#include <asner.h>`

Inheritance diagram for PASN_Stream:

List of all members.

## Public Member Functions

| PASN_Stream ()
| PASN_Stream (const PBYTEArray &bytes)
| PASN_Stream (const BYTE *buf, PINDEX size)
void | PrintOn (ostream &strm) const
| Output the contents of the object to the stream.
PINDEX | GetPosition () const
void | SetPosition (PINDEX newPos)
PBoolean | IsAtEnd ()
void | ResetDecoder ()
void | BeginEncoding ()
void | CompleteEncoding ()
virtual PBoolean | Read (PChannel &chan)=0
virtual PBoolean | Write (PChannel &chan)=0
virtual PBoolean | NullDecode (PASN_Null &)=0
virtual void | NullEncode (const PASN_Null &)=0
virtual PBoolean | BooleanDecode (PASN_Boolean &)=0
virtual void | BooleanEncode (const PASN_Boolean &)=0
virtual PBoolean | IntegerDecode (PASN_Integer &)=0
virtual void | IntegerEncode (const PASN_Integer &)=0
virtual PBoolean | EnumerationDecode (PASN_Enumeration &)=0
virtual void | EnumerationEncode (const PASN_Enumeration &)=0
virtual PBoolean | RealDecode (PASN_Real &)=0
virtual void | RealEncode (const PASN_Real &)=0
virtual PBoolean | ObjectIdDecode (PASN_ObjectId &)=0
virtual void | ObjectIdEncode (const PASN_ObjectId &)=0
virtual PBoolean | BitStringDecode (PASN_BitString &)=0
virtual void | BitStringEncode (const PASN_BitString &)=0
virtual PBoolean | OctetStringDecode (PASN_OctetString &)=0
virtual void | OctetStringEncode (const PASN_OctetString &)=0
virtual PBoolean | ConstrainedStringDecode (PASN_ConstrainedString &)=0
virtual void | ConstrainedStringEncode (const PASN_ConstrainedString &)=0
virtual PBoolean | BMPStringDecode (PASN_BMPString &)=0
virtual void | BMPStringEncode (const PASN_BMPString &)=0
virtual PBoolean | ChoiceDecode (PASN_Choice &)=0
virtual void | ChoiceEncode (const PASN_Choice &)=0
virtual PBoolean | ArrayDecode (PASN_Array &)=0
virtual void | ArrayEncode (const PASN_Array &)=0
virtual PBoolean | SequencePreambleDecode (PASN_Sequence &)=0
virtual void | SequencePreambleEncode (const PASN_Sequence &)=0
virtual PBoolean | SequenceKnownDecode (PASN_Sequence &, PINDEX, PASN_Object &)=0
virtual void | SequenceKnownEncode (const PASN_Sequence &, PINDEX, const PASN_Object &)=0
virtual PBoolean | SequenceUnknownDecode (PASN_Sequence &)=0
virtual void | SequenceUnknownEncode (const PASN_Sequence &)=0
BYTE | ByteDecode ()
void | ByteEncode (unsigned value)
unsigned | BlockDecode (BYTE *bufptr, unsigned nBytes)
void | BlockEncode (const BYTE *bufptr, PINDEX nBytes)
void | ByteAlign ()

## Protected Attributes

PINDEX | byteOffset
unsigned | bitOffset

## Detailed Description

Base class for ASN decoder/encoder stream.

## Constructor & Destructor Documentation

PASN_Stream::PASN_Stream | ( |  | ) |

PASN_Stream::PASN_Stream | ( | const PBYTEArray & | bytes | ) |

PASN_Stream::PASN_Stream | ( | const BYTE * | buf,
|  | PINDEX | size |
| ) |  |  |

## Member Function Documentation

virtual PBoolean PASN_Stream::ArrayDecode | ( | PASN_Array & |  | ) | `[pure virtual]`

virtual void PASN_Stream::ArrayEncode | ( | const PASN_Array & |  | ) | `[pure virtual]`

void PASN_Stream::BeginEncoding | ( |  | ) |

virtual PBoolean PASN_Stream::BitStringDecode | ( | PASN_BitString & |  | ) | `[pure virtual]`

virtual void PASN_Stream::BitStringEncode | ( | const PASN_BitString & |  | ) | `[pure virtual]`

unsigned PASN_Stream::BlockDecode | ( | BYTE * | bufptr,
|  | unsigned | nBytes |
| ) |  |  |

void PASN_Stream::BlockEncode | ( | const BYTE * | bufptr,
|  | PINDEX | nBytes |
| ) |  |  |

virtual PBoolean PASN_Stream::BMPStringDecode | ( | PASN_BMPString & |  | ) | `[pure virtual]`

virtual void PASN_Stream::BMPStringEncode | ( | const PASN_BMPString & |  | ) | `[pure virtual]`

virtual PBoolean PASN_Stream::BooleanDecode | ( | PASN_Boolean & |  | ) | `[pure virtual]`

virtual void PASN_Stream::BooleanEncode | ( | const PASN_Boolean & |  | ) | `[pure virtual]`

void PASN_Stream::ByteAlign | ( |  | ) |

BYTE PASN_Stream::ByteDecode | ( |  | ) |

void PASN_Stream::ByteEncode | ( | unsigned | value | ) |

virtual PBoolean PASN_Stream::ChoiceDecode | ( | PASN_Choice & |  | ) | `[pure virtual]`

virtual void PASN_Stream::ChoiceEncode | ( | const PASN_Choice & |  | ) | `[pure virtual]`

void PASN_Stream::CompleteEncoding | ( |  | ) |

virtual PBoolean PASN_Stream::ConstrainedStringDecode | ( | PASN_ConstrainedString & |  | ) | `[pure virtual]`

virtual void PASN_Stream::ConstrainedStringEncode | ( | const PASN_ConstrainedString & |  | ) | `[pure virtual]`

virtual PBoolean PASN_Stream::EnumerationDecode | ( | PASN_Enumeration & |  | ) | `[pure virtual]`

virtual void PASN_Stream::EnumerationEncode | ( | const PASN_Enumeration & |  | ) | `[pure virtual]`

PINDEX PASN_Stream::GetPosition | ( |  | ) | const`[inline]`

virtual PBoolean PASN_Stream::IntegerDecode | ( | PASN_Integer & |  | ) | `[pure virtual]`

virtual void PASN_Stream::IntegerEncode | ( | const PASN_Integer & |  | ) | `[pure virtual]`

PBoolean PASN_Stream::IsAtEnd | ( |  | ) | `[inline]`

virtual PBoolean PASN_Stream::NullDecode | ( | PASN_Null & |  | ) | `[pure virtual]`

virtual void PASN_Stream::NullEncode | ( | const PASN_Null & |  | ) | `[pure virtual]`

virtual PBoolean PASN_Stream::ObjectIdDecode | ( | PASN_ObjectId & |  | ) | `[pure virtual]`

virtual void PASN_Stream::ObjectIdEncode | ( | const PASN_ObjectId & |  | ) | `[pure virtual]`

virtual PBoolean PASN_Stream::OctetStringDecode | ( | PASN_OctetString & |  | ) | `[pure virtual]`

virtual void PASN_Stream::OctetStringEncode | ( | const PASN_OctetString & |  | ) | `[pure virtual]`

void PASN_Stream::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 PAbstractArray.

virtual PBoolean PASN_Stream::Read | ( | PChannel & | chan | ) | `[pure virtual]`

virtual PBoolean PASN_Stream::RealDecode | ( | PASN_Real & |  | ) | `[pure virtual]`

virtual void PASN_Stream::RealEncode | ( | const PASN_Real & |  | ) | `[pure virtual]`

void PASN_Stream::ResetDecoder | ( |  | ) |

virtual PBoolean PASN_Stream::SequenceKnownDecode | ( | PASN_Sequence & | ,
|  | PINDEX | ,
|  | PASN_Object & |  |
| ) |  |  | `[pure virtual]`

virtual void PASN_Stream::SequenceKnownEncode | ( | const PASN_Sequence & | ,
|  | PINDEX | ,
|  | const PASN_Object & |  |
| ) |  |  | `[pure virtual]`

virtual PBoolean PASN_Stream::SequencePreambleDecode | ( | PASN_Sequence & |  | ) | `[pure virtual]`

virtual void PASN_Stream::SequencePreambleEncode | ( | const PASN_Sequence & |  | ) | `[pure virtual]`

virtual PBoolean PASN_Stream::SequenceUnknownDecode | ( | PASN_Sequence & |  | ) | `[pure virtual]`

virtual void PASN_Stream::SequenceUnknownEncode | ( | const PASN_Sequence & |  | ) | `[pure virtual]`

void PASN_Stream::SetPosition | ( | PINDEX | newPos | ) |

virtual PBoolean PASN_Stream::Write | ( | PChannel & | chan | ) | `[pure virtual]`

## Member Data Documentation

unsigned PASN_Stream::bitOffset `[protected]`

PINDEX PASN_Stream::byteOffset `[protected]`

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

- asner.h