19 PPER_Stream(
int aligned =
true);
20 PPER_Stream(
const BYTE * buf, PINDEX size,
PBoolean aligned =
true);
25 unsigned GetBitsLeft()
const;
61 PBoolean IsAligned()
const {
return aligned; }
64 void SingleBitEncode(
PBoolean value);
66 PBoolean MultiBitDecode(
unsigned nBits,
unsigned & value);
67 void MultiBitEncode(
unsigned value,
unsigned nBits);
69 PBoolean SmallUnsignedDecode(
unsigned & value);
70 void SmallUnsignedEncode(
unsigned value);
72 PBoolean LengthDecode(
unsigned lower,
unsigned upper,
unsigned & len);
73 void LengthEncode(
unsigned len,
unsigned lower,
unsigned upper);
75 PBoolean UnsignedDecode(
unsigned lower,
unsigned upper,
unsigned & value);
76 void UnsignedEncode(
int value,
unsigned lower,
unsigned upper);
virtual void NullEncode(const PASN_Null &)=0
virtual void OctetStringEncode(const PASN_OctetString &)=0
Class for ASN Boolean type.
Definition: asner.h:206
virtual void ArrayEncode(const PASN_Array &)=0
virtual PBoolean ObjectIdDecode(PASN_ObjectId &)=0
#define PCLASSINFO(cls, par)
Declare all the standard PTLib class information.
Definition: object.h:1049
virtual void RealEncode(const PASN_Real &)=0
virtual void SequenceKnownEncode(const PASN_Sequence &, PINDEX, const PASN_Object &)=0
virtual void ConstrainedStringEncode(const PASN_ConstrainedString &)=0
virtual PBoolean NullDecode(PASN_Null &)=0
virtual PBoolean SequenceUnknownDecode(PASN_Sequence &)=0
PContainer & operator=(const PContainer &cont)
Assign one container reference to another.
Base class for ASN decoder/encoder stream.
Definition: asner.h:919
virtual void SequenceUnknownEncode(const PASN_Sequence &)=0
virtual PBoolean BooleanDecode(PASN_Boolean &)=0
virtual PBoolean SequencePreambleDecode(PASN_Sequence &)=0
virtual PBoolean BitStringDecode(PASN_BitString &)=0
virtual PBoolean OctetStringDecode(PASN_OctetString &)=0
virtual PBoolean ConstrainedStringDecode(PASN_ConstrainedString &)=0
Base class for ASN String types.
Definition: asner.h:510
BOOL PBoolean
Definition: object.h:102
Class for ASN BMP (16 bit) String type.
Definition: asner.h:579
Array of unsigned characters.
Definition: array.h:670
Class for ASN Sequence type.
Definition: asner.h:787
virtual void ObjectIdEncode(const PASN_ObjectId &)=0
virtual void EnumerationEncode(const PASN_Enumeration &)=0
virtual PBoolean BMPStringDecode(PASN_BMPString &)=0
virtual PBoolean RealDecode(PASN_Real &)=0
Abstract class defining I/O channel semantics.
Definition: channel.h:107
virtual void IntegerEncode(const PASN_Integer &)=0
virtual PBoolean ChoiceDecode(PASN_Choice &)=0
virtual PBoolean Write(PChannel &chan)=0
virtual PBoolean EnumerationDecode(PASN_Enumeration &)=0
virtual PBoolean ArrayDecode(PASN_Array &)=0
Class for ASN Enumerated type.
Definition: asner.h:274
virtual void BitStringEncode(const PASN_BitString &)=0
Class for ASN Choice type.
Definition: asner.h:677
virtual PBoolean SequenceKnownDecode(PASN_Sequence &, PINDEX, PASN_Object &)=0
virtual void BMPStringEncode(const PASN_BMPString &)=0
virtual PBoolean IntegerDecode(PASN_Integer &)=0
virtual void ChoiceEncode(const PASN_Choice &)=0
Class for ASN Null type.
Definition: asner.h:186
Class for ASN floating point type.
Definition: asner.h:329
Class for ASN Octet String type.
Definition: asner.h:458
Class for ASN Integer type.
Definition: asner.h:234
virtual void BooleanEncode(const PASN_Boolean &)=0
Class for ASN Object Identifier type.
Definition: asner.h:357
Class for ASN Array type.
Definition: asner.h:880
Class for ASN Bit String type.
Definition: asner.h:404
virtual void SequencePreambleEncode(const PASN_Sequence &)=0
virtual PBoolean Read(PChannel &chan)=0
Base class for ASN encoding/decoding.
Definition: asner.h:59