Main Page | Class Hierarchy | Class List | File List | Class Members | File Members

asnper.h

Go to the documentation of this file.
00001 /* 00002 * asnper.h 00003 * 00004 * Abstract Syntax Notation Encoding Rules classes 00005 * 00006 * Portable Windows Library 00007 * 00008 */ 00009 00010 #ifdef P_INCLUDE_PER 00011 00014 class PPER_Stream : public PASN_Stream 00015 { 00016 PCLASSINFO(PPER_Stream, PASN_Stream); 00017 public: 00018 PPER_Stream(BOOL aligned = TRUE); 00019 PPER_Stream(const PBYTEArray & bytes, BOOL aligned = TRUE); 00020 PPER_Stream(const BYTE * buf, PINDEX size, BOOL aligned = TRUE); 00021 00022 PPER_Stream & operator=(const PBYTEArray & bytes); 00023 00024 unsigned GetBitsLeft() const; 00025 00026 virtual BOOL Read(PChannel & chan); 00027 virtual BOOL Write(PChannel & chan); 00028 00029 virtual BOOL NullDecode(PASN_Null &); 00030 virtual void NullEncode(const PASN_Null &); 00031 virtual BOOL BooleanDecode(PASN_Boolean &); 00032 virtual void BooleanEncode(const PASN_Boolean &); 00033 virtual BOOL IntegerDecode(PASN_Integer &); 00034 virtual void IntegerEncode(const PASN_Integer &); 00035 virtual BOOL EnumerationDecode(PASN_Enumeration &); 00036 virtual void EnumerationEncode(const PASN_Enumeration &); 00037 virtual BOOL RealDecode(PASN_Real &); 00038 virtual void RealEncode(const PASN_Real &); 00039 virtual BOOL ObjectIdDecode(PASN_ObjectId &); 00040 virtual void ObjectIdEncode(const PASN_ObjectId &); 00041 virtual BOOL BitStringDecode(PASN_BitString &); 00042 virtual void BitStringEncode(const PASN_BitString &); 00043 virtual BOOL OctetStringDecode(PASN_OctetString &); 00044 virtual void OctetStringEncode(const PASN_OctetString &); 00045 virtual BOOL ConstrainedStringDecode(PASN_ConstrainedString &); 00046 virtual void ConstrainedStringEncode(const PASN_ConstrainedString &); 00047 virtual BOOL BMPStringDecode(PASN_BMPString &); 00048 virtual void BMPStringEncode(const PASN_BMPString &); 00049 virtual BOOL ChoiceDecode(PASN_Choice &); 00050 virtual void ChoiceEncode(const PASN_Choice &); 00051 virtual BOOL ArrayDecode(PASN_Array &); 00052 virtual void ArrayEncode(const PASN_Array &); 00053 virtual BOOL SequencePreambleDecode(PASN_Sequence &); 00054 virtual void SequencePreambleEncode(const PASN_Sequence &); 00055 virtual BOOL SequenceKnownDecode(PASN_Sequence &, PINDEX, PASN_Object &); 00056 virtual void SequenceKnownEncode(const PASN_Sequence &, PINDEX, const PASN_Object &); 00057 virtual BOOL SequenceUnknownDecode(PASN_Sequence &); 00058 virtual void SequenceUnknownEncode(const PASN_Sequence &); 00059 00060 BOOL IsAligned() const { return aligned; } 00061 00062 BOOL SingleBitDecode(); 00063 void SingleBitEncode(BOOL value); 00064 00065 BOOL MultiBitDecode(unsigned nBits, unsigned & value); 00066 void MultiBitEncode(unsigned value, unsigned nBits); 00067 00068 BOOL SmallUnsignedDecode(unsigned & value); 00069 void SmallUnsignedEncode(unsigned value); 00070 00071 BOOL LengthDecode(unsigned lower, unsigned upper, unsigned & len); 00072 void LengthEncode(unsigned len, unsigned lower, unsigned upper); 00073 00074 BOOL UnsignedDecode(unsigned lower, unsigned upper, unsigned & value); 00075 void UnsignedEncode(int value, unsigned lower, unsigned upper); 00076 00077 void AnyTypeEncode(const PASN_Object * value); 00078 00079 protected: 00080 BOOL aligned; 00081 }; 00082 00083 #endif 00084

Generated on Sat Jul 24 15:35:56 2004 for PWLib by doxygen 1.3.7