15 class PPER_Stream :
public PASN_Stream
19 PPER_Stream(
int aligned =
true);
20 PPER_Stream(
const BYTE * buf, PINDEX size,
PBoolean aligned =
true);
23 PPER_Stream & operator=(
const PBYTEArray & bytes);
25 unsigned GetBitsLeft()
const;
30 virtual PBoolean NullDecode(PASN_Null &);
31 virtual void NullEncode(
const PASN_Null &);
32 virtual PBoolean BooleanDecode(PASN_Boolean &);
33 virtual void BooleanEncode(
const PASN_Boolean &);
34 virtual PBoolean IntegerDecode(PASN_Integer &);
35 virtual void IntegerEncode(
const PASN_Integer &);
36 virtual PBoolean EnumerationDecode(PASN_Enumeration &);
37 virtual void EnumerationEncode(
const PASN_Enumeration &);
38 virtual PBoolean RealDecode(PASN_Real &);
39 virtual void RealEncode(
const PASN_Real &);
40 virtual PBoolean ObjectIdDecode(PASN_ObjectId &);
41 virtual void ObjectIdEncode(
const PASN_ObjectId &);
42 virtual PBoolean BitStringDecode(PASN_BitString &);
43 virtual void BitStringEncode(
const PASN_BitString &);
44 virtual PBoolean OctetStringDecode(PASN_OctetString &);
45 virtual void OctetStringEncode(
const PASN_OctetString &);
46 virtual PBoolean ConstrainedStringDecode(PASN_ConstrainedString &);
47 virtual void ConstrainedStringEncode(
const PASN_ConstrainedString &);
48 virtual PBoolean BMPStringDecode(PASN_BMPString &);
49 virtual void BMPStringEncode(
const PASN_BMPString &);
50 virtual PBoolean ChoiceDecode(PASN_Choice &);
51 virtual void ChoiceEncode(
const PASN_Choice &);
52 virtual PBoolean ArrayDecode(PASN_Array &);
53 virtual void ArrayEncode(
const PASN_Array &);
54 virtual PBoolean SequencePreambleDecode(PASN_Sequence &);
55 virtual void SequencePreambleEncode(
const PASN_Sequence &);
56 virtual PBoolean SequenceKnownDecode(PASN_Sequence &, PINDEX, PASN_Object &);
57 virtual void SequenceKnownEncode(
const PASN_Sequence &, PINDEX,
const PASN_Object &);
58 virtual PBoolean SequenceUnknownDecode(PASN_Sequence &);
59 virtual void SequenceUnknownEncode(
const PASN_Sequence &);
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);
78 void AnyTypeEncode(
const PASN_Object * value);
#define PCLASSINFO(cls, par)
Declare all the standard PTLib class information.
Definition: object.h:2164
Array of unsigned characters.
Definition: array.h:605
Abstract class defining I/O channel semantics.
Definition: channel.h:103
bool PBoolean
Definition: object.h:174