195 virtual void PrintOn(ostream & strm)
const;
220 virtual void PrintOn(ostream & strm)
const;
242 operator unsigned()
const {
return value; }
248 virtual void PrintOn(ostream & strm)
const;
258 void EncodePER(PPER_Stream & strm)
const;
281 unsigned nEnums = P_MAX_INDEX,
293 operator unsigned()
const {
return value; }
301 virtual void PrintOn(ostream & strm)
const;
310 void EncodePER(PPER_Stream & strm)
const;
315 virtual void EncodeXER(PXER_Stream & strm)
const;
337 operator double()
const {
return value; }
343 virtual void PrintOn(ostream & strm)
const;
372 void SetValue(
const unsigned * numbers, PINDEX size);
387 virtual void PrintOn(ostream & strm)
const;
415 void SetData(
unsigned nBits,
const BYTE * buf, PINDEX size = 0);
423 void Set(
unsigned bit);
424 void Clear(
unsigned bit);
425 void Invert(
unsigned bit);
429 virtual void PrintOn(ostream & strm)
const;
439 void EncodeBER(PBER_Stream & strm)
const;
444 void EncodePER(PPER_Stream & strm)
const;
474 void SetValue(
const BYTE * data, PINDEX len);
477 operator const BYTE *()
const {
return value; }
487 virtual void PrintOn(ostream & strm)
const;
497 void EncodePER(PPER_Stream & strm)
const;
527 virtual void PrintOn(ostream & strm)
const;
536 void EncodeBER(PBER_Stream & strm)
const;
541 void EncodePER(PPER_Stream & strm)
const;
558 #define DECLARE_STRING_CLASS(name) \
559 class PASN_##name##String : public PASN_ConstrainedString { \
560 PCLASSINFO(PASN_##name##String, PASN_ConstrainedString); \
562 PASN_##name##String(const char * str = NULL); \
563 PASN_##name##String(unsigned tag, TagClass tagClass); \
564 PASN_##name##String & operator=(const char * str); \
565 PASN_##name##String & operator=(const PString & str); \
566 virtual PObject * Clone() const; \
567 virtual PString GetTypeAsString() const; \
594 operator PWCharArray()
const {
return value; }
610 virtual void PrintOn(ostream & strm)
const;
619 void EncodeBER(PBER_Stream & strm)
const;
624 void EncodePER(PPER_Stream & strm)
const;
644 : PASN_VisibleString(UniversalGeneralisedTime, UniversalTagClass) { }
646 : PASN_VisibleString(UniversalGeneralisedTime, UniversalTagClass) {
SetValue(time); }
648 : PASN_VisibleString(theTag, theTagClass) { }
661 : PASN_VisibleString(UniversalUTCTime, UniversalTagClass) { }
663 : PASN_VisibleString(UniversalUTCTime, UniversalTagClass) {
SetValue(time); }
665 : PASN_VisibleString(theTag, theTagClass) { }
688 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
698 operator PASN_NumericString &()
const;
699 operator PASN_PrintableString &()
const;
700 operator PASN_VisibleString &()
const;
701 operator PASN_IA5String &()
const;
702 operator PASN_GeneralString &()
const;
716 operator PASN_NumericString &();
717 operator PASN_PrintableString &();
718 operator PASN_VisibleString &();
719 operator PASN_IA5String &();
720 operator PASN_GeneralString &();
732 operator const PASN_NumericString &()
const;
733 operator const PASN_PrintableString &()
const;
734 operator const PASN_VisibleString &()
const;
735 operator const PASN_IA5String &()
const;
736 operator const PASN_GeneralString &()
const;
745 virtual void PrintOn(ostream & strm)
const;
755 virtual void EncodePER(PPER_Stream &)
const;
793 unsigned nOpts = 0,
PBoolean extend =
false,
unsigned nExtend = 0);
808 virtual void PrintOn(ostream & strm)
const;
871 unsigned nOpts = 0,
PBoolean extend =
false,
unsigned nExtend = 0);
892 virtual void PrintOn(ostream & strm)
const;
927 void PrintOn(ostream & strm)
const;
973 unsigned BlockDecode(BYTE * bufptr,
unsigned nBytes);
974 void BlockEncode(
const BYTE * bufptr, PINDEX nBytes);
998 #endif // PTLIB_ASNER_H
virtual PBoolean Decode(PASN_Stream &)
virtual void NullEncode(const PASN_Null &)=0
PASN_ObjectArray array
Definition: asner.h:911
void SetValue(const char *v)
Definition: asner.h:597
TagClass
Definition: asner.h:76
virtual Comparison Compare(const PObject &obj) const
Compare the two objects and return their relative rank.
PINDEX value
Definition: asner.h:269
virtual PBoolean Decode(PASN_Stream &)
PASN_OctetString(const char *str=NULL, PINDEX size=0)
static void SetMaximumStringSize(PINDEX sz)
PBoolean IsLegalCharacter(WORD ch)
unsigned maxEnumValue
Definition: asner.h:320
virtual void OctetStringEncode(const PASN_OctetString &)=0
virtual PObject * Clone() const
Create a copy of the class on the heap.
virtual PObject * Clone() const
Create a copy of the class on the heap.
unsigned upperLimit
Definition: asner.h:180
virtual void EncodePER(PPER_Stream &) const
void KnownExtensionEncodeBER(PBER_Stream &strm, PINDEX fld, const PASN_Object &field) const
virtual PObject * Clone() const
Create a copy of the class on the heap.
void SetConstraints(ConstraintType, int lower, MaximumValueTag)
Definition: asner.h:129
void EncodePER(PPER_Stream &strm) const
void KnownExtensionEncode(PASN_Stream &strm, PINDEX fld, const PASN_Object &field) const
virtual PBoolean Decode(PASN_Stream &)
Class for ASN Boolean type.
Definition: asner.h:206
const PASN_Names * names
Definition: asner.h:322
PASN_Real & operator=(double val)
Definition: asner.h:336
PINDEX GetObjectLength() const
PBoolean IsUnsigned() const
virtual PINDEX GetDataLength() const
virtual Comparison Compare(const PObject &obj) const
Compare the two objects and return their relative rank.
void EncodeBER(PBER_Stream &strm) const
PASN_Object & operator[](PINDEX i) const
Definition: asner.h:800
void EncodePER(PPER_Stream &strm) const
virtual void ArrayEncode(const PASN_Array &)=0
void PreambleEncode(PASN_Stream &strm) const
PASN_Object & operator[](PINDEX i) const
Definition: asner.h:886
PASN_Choice(unsigned nChoices=0, PBoolean extend=false)
PASN_GeneralisedTime & operator=(const PTime &time)
PASN_Boolean & operator=(PBoolean v)
Definition: asner.h:213
wchar_t firstChar
Definition: asner.h:633
void SetValue(const PUnsignedArray &numbers)
Definition: asner.h:371
virtual PString GetTypeAsString() const
Return a string giving the type of the object.
void EncodeXER(PXER_Stream &) const
virtual PBoolean ObjectIdDecode(PASN_ObjectId &)=0
Array of characters.
Definition: array.h:551
void SetValue(const PString &v)
Definition: asner.h:598
virtual PBoolean Decode(PASN_Stream &)
virtual void SetConstraintBounds(ConstraintType type, int lower, unsigned upper)
virtual void PrintOn(ostream &strm) const
Output the contents of the object to the stream.
UniversalTags
Definition: asner.h:85
PBoolean IsConstrained() const
Definition: asner.h:165
virtual PBoolean Decode(PASN_Stream &)
unsigned value
Definition: asner.h:321
virtual PBoolean Decode(PASN_Stream &)
unsigned namesCount
Definition: asner.h:323
PBoolean GetValue() const
Definition: asner.h:215
PBoolean DecodeXER(PXER_Stream &)
PBoolean NoExtensionsToDecode(PPER_Stream &strm)
PBoolean UnknownExtensionsDecodeBER(PBER_Stream &strm)
virtual PBoolean Decode(PASN_Stream &)
PBoolean SetSize(PINDEX newSize)
virtual PObject * Clone() const
Create a copy of the class on the heap.
PINDEX GetSize() const
Definition: asner.h:884
PBoolean SetSize(PINDEX newSize)
PBoolean DecodeSubType(PASN_Object &) const
PBoolean IsExtendable() const
Definition: asner.h:73
virtual void RealEncode(const PASN_Real &)=0
int totalExtensions
Definition: asner.h:857
virtual void SequenceKnownEncode(const PASN_Sequence &, PINDEX, const PASN_Object &)=0
PASN_ConstrainedObject(unsigned tag, TagClass tagClass)
This class defines an absolute time and date.
Definition: ptime.h:53
unsigned numChoices
Definition: asner.h:775
PINDEX endBasicEncoding
Definition: asner.h:859
virtual void ConstrainedStringEncode(const PASN_ConstrainedString &)=0
bool operator==(const PASN_ObjectId &id) const
Definition: asner.h:378
bool operator!=(const PString &dotstr) const
Definition: asner.h:377
PBoolean UnknownExtensionsDecode(PASN_Stream &strm)
PBoolean PreambleDecodePER(PPER_Stream &strm)
PBoolean DecodeBER(PBER_Stream &strm, unsigned len)
virtual PBoolean NullDecode(PASN_Null &)=0
PWCharArray characterSet
Definition: asner.h:632
const BYTE * GetDataPointer() const
Definition: asner.h:417
PASN_BitString extensionMap
Definition: asner.h:858
virtual PBoolean SequenceUnknownDecode(PASN_Sequence &)=0
void SetPosition(PINDEX newPos)
virtual void SetCharacterSet(ConstraintType ctype, const char *charSet)
PINDEX GetValueByName(PString name) const
virtual void Encode(PASN_Stream &) const
virtual PBoolean IsPrimitive() const
void SetValue(const PString &v)
Definition: asner.h:519
PBYTEArray bitData
Definition: asner.h:452
virtual PString GetTypeAsString() const
Return a string giving the type of the object.
virtual void SetConstraintBounds(ConstraintType type, int lower, unsigned upper)
virtual PBoolean CreateObject()=0
PBoolean ConstrainedLengthDecode(PPER_Stream &strm, unsigned &length)
Comparison
Result of the comparison operation performed by the Compare() function.
Definition: object.h:1184
Base class for ASN decoder/encoder stream.
Definition: asner.h:919
PBoolean DecodePER(PPER_Stream &strm)
PASN_BMPString & operator=(const char *v)
Definition: asner.h:590
void RemoveOptionalField(PINDEX opt)
PBoolean HasOptionalField(PINDEX opt) const
virtual PBoolean DecodeXER(PXER_Stream &strm)
unsigned GetValue() const
Definition: asner.h:243
wchar_t lastChar
Definition: asner.h:633
void SetExtendable(PBoolean ext=true)
Definition: asner.h:74
Base class for constrained ASN encoding/decoding.
Definition: asner.h:161
virtual PINDEX GetDataLength() const
void SetValue(const PASN_BMPString &v)
Definition: asner.h:600
virtual PBoolean DecodePER(PPER_Stream &)
void GetValue(PWCharArray &v) const
Definition: asner.h:596
PINDEX byteOffset
Definition: asner.h:979
PBoolean DecodePER(PPER_Stream &strm)
virtual PObject * Clone() const
Create a copy of the class on the heap.
virtual void SequenceUnknownEncode(const PASN_Sequence &)=0
virtual void PrintOn(ostream &strm) const
Output the contents of the object to the stream.
virtual void PreambleEncodeXER(PXER_Stream &strm) const
PBoolean SetSize(PINDEX newSize)
virtual PINDEX GetDataLength() const
virtual PBoolean BooleanDecode(PASN_Boolean &)=0
virtual PBoolean SequencePreambleDecode(PASN_Sequence &)=0
void Invert(unsigned bit)
virtual PString GetTypeAsString() const =0
Return a string giving the type of the object.
void SetConstraints(ConstraintType type, int value)
Definition: asner.h:127
virtual PBoolean Decode(PASN_Stream &)
virtual PINDEX GetDataLength() const
virtual PBoolean BitStringDecode(PASN_BitString &)=0
PASN_UniversalTime(const PTime &time)
Definition: asner.h:662
int GetLowerLimit() const
Definition: asner.h:166
PASN_UniversalTime & operator=(const PTime &time)
PBoolean SetSize(unsigned nBits)
virtual void SetTag(unsigned newTag, TagClass tagClass=DefaultTagClass)
virtual PBoolean OctetStringDecode(PASN_OctetString &)=0
void RemoveAt(PINDEX i)
Definition: asner.h:888
void SetConstraints(ConstraintType, MinimumValueTag lower, MaximumValueTag upper)
Definition: asner.h:133
virtual PString GetTypeAsString() const
Return a string giving the type of the object.
virtual Comparison Compare(const PObject &obj) const
Compare the two objects and return their relative rank.
virtual void Encode(PASN_Stream &) const
PASN_BitString optionMap
Definition: asner.h:855
virtual PBoolean PreambleDecodeXER(PXER_Stream &strm)
PBoolean PreambleDecodeBER(PBER_Stream &strm)
PBoolean value
Definition: asner.h:228
virtual PString GetTypeAsString() const
Return a string giving the type of the object.
void SetValue(const PString &dotstr)
PASN_GeneralisedTime(unsigned theTag, TagClass theTagClass)
Definition: asner.h:647
int knownExtensions
Definition: asner.h:856
PASN_ConstrainedString(const char *canonicalSet, PINDEX setSize, unsigned tag, TagClass tagClass)
virtual PBoolean ConstrainedStringDecode(PASN_ConstrainedString &)=0
PBoolean DecodeBER(PBER_Stream &strm, unsigned len)
bool operator!=(const char *dotstr) const
Definition: asner.h:375
Base class for ASN String types.
Definition: asner.h:510
void EncodeSequenceExtensionBitmap(PPER_Stream &strm) const
virtual void KnownExtensionEncodeXER(PXER_Stream &strm, PINDEX fld, const PASN_Object &field) const
unsigned GetMaximum() const
Definition: asner.h:297
virtual PObject * Clone() const
Create a copy of the class on the heap.
virtual PBoolean IsPrimitive() const
virtual PObject * Clone() const
Create a copy of the class on the heap.
PASN_ObjectId & operator=(const PASN_ObjectId &other)
virtual PString GetTypeAsString() const
Return a string giving the type of the object.
virtual Comparison Compare(const PObject &obj) const
Compare the two objects and return their relative rank.
virtual Comparison Compare(const PObject &obj) const
Compare the two objects and return their relative rank.
void SetValue(PBoolean v)
Definition: asner.h:216
static PINDEX GetMaximumArraySize()
BYTE * GetPointer(PINDEX sz=0)
Definition: asner.h:481
virtual Comparison Compare(const PObject &obj) const
Compare the two objects and return their relative rank.
BOOL PBoolean
Definition: object.h:102
void UnknownExtensionsEncodePER(PPER_Stream &strm) const
PWCharArray AsUCS2() const
Convert UTF-8 string to UCS-2.
virtual void Encode(PASN_Stream &) const
virtual PString GetTypeAsString() const
Return a string giving the type of the object.
PBoolean DecodeBER(PBER_Stream &strm, unsigned len)
PASN_Sequence(unsigned tag=UniversalSequence, TagClass tagClass=UniversalTagClass, unsigned nOpts=0, PBoolean extend=false, unsigned nExtend=0)
const PASN_Names * names
Definition: asner.h:777
void ByteEncode(unsigned value)
PASN_Enumeration & operator=(unsigned v)
Definition: asner.h:292
Class for ASN BMP (16 bit) String type.
Definition: asner.h:579
void SetValue(unsigned v)
Definition: asner.h:295
virtual void Encode(PASN_Stream &) const
unsigned charSetUnalignedBits
Definition: asner.h:634
unsigned totalBits
Definition: asner.h:451
Array of unsigned characters.
Definition: array.h:670
void PreambleEncodeBER(PBER_Stream &strm) const
PBoolean NoExtensionsToEncode(PPER_Stream &strm)
PASN_OctetString & operator=(const PASN_OctetString &other)
void IncludeOptionalField(PINDEX opt)
Class for ASN Sequence type.
Definition: asner.h:787
void EncodePER(PPER_Stream &strm) const
void EncodePER(PPER_Stream &strm) const
PString GetTagName() const
virtual PString GetTypeAsString() const
Return a string giving the type of the object.
virtual void Encode(PASN_Stream &) const
virtual void Encode(PASN_Stream &) const
virtual PINDEX GetDataLength() const
virtual PINDEX GetDataLength() const
void SetCharacterSet(ConstraintType ctype, const char *charSet)
virtual void PrintOn(ostream &strm) const
Output the contents of the object to the stream.
virtual void ObjectIdEncode(const PASN_ObjectId &)=0
virtual void SetConstraintBounds(ConstraintType type, int lower, unsigned upper)
PBoolean PreambleDecode(PASN_Stream &strm)
virtual PBoolean Decode(PASN_Stream &)=0
void SetConstraints(ConstraintType type, int lower, unsigned upper)
Definition: asner.h:135
unsigned GetUpperLimit() const
Definition: asner.h:167
virtual void UnknownExtensionsEncodeXER(PXER_Stream &strm) const
unsigned canonicalSetBits
Definition: asner.h:552
PASN_Integer & operator=(unsigned value)
virtual void SetConstraintBounds(ConstraintType type, int lower, unsigned upper)
virtual void EnumerationEncode(const PASN_Enumeration &)=0
const PBYTEArray & GetValue() const
Definition: asner.h:475
PASN_Null(unsigned tag=UniversalNull, TagClass tagClass=UniversalTagClass)
void PrintOn(ostream &strm) const
Output the contents of the object to the stream.
bool operator==(const PString &dotstr) const
Definition: asner.h:376
virtual void PrintOn(ostream &strm) const
Output the contents of the object to the stream.
virtual PBoolean BMPStringDecode(PASN_BMPString &)=0
virtual PBoolean RealDecode(PASN_Real &)=0
virtual void PrintOn(ostream &strm) const
Output the contents of the object to the stream.
PINDEX GetSize() const
Definition: asner.h:380
virtual PINDEX GetDataLength() const
virtual void Encode(PASN_Stream &) const
Abstract class defining I/O channel semantics.
Definition: channel.h:107
virtual PObject * Clone() const
Create a copy of the class on the heap.
virtual void IntegerEncode(const PASN_Integer &)=0
void SetValue(unsigned v)
Definition: asner.h:244
unsigned GetValue() const
Definition: asner.h:294
virtual PString GetTypeAsString() const
Return a string giving the type of the object.
void SetConstraints(ConstraintType, MinimumValueTag lower, unsigned upper)
Definition: asner.h:131
const PString & GetValue() const
Definition: asner.h:517
PINDEX GetValueByName(PString name) const
unsigned namesCount
Definition: asner.h:778
virtual Comparison Compare(const PObject &obj) const
Compare the two objects and return their relative rank.
virtual PBoolean ChoiceDecode(PASN_Choice &)=0
PASN_ObjectArray fields
Definition: asner.h:854
ConstraintType constraint
Definition: asner.h:178
virtual PINDEX GetSize() const
Get the current size of the container.
PASN_BMPString & operator=(const PASN_BMPString &other)
PBoolean DecodePER(PPER_Stream &strm)
int lowerLimit
Definition: asner.h:179
PBoolean CheckCreate() const
virtual void SetConstraintBounds(ConstraintType type, int lower, unsigned upper)
virtual PBoolean Write(PChannel &chan)=0
PBoolean IsValid() const
Definition: asner.h:686
virtual void PrintOn(ostream &strm) const
Output the contents of the object to the stream.
void SetData(unsigned nBits, const PBYTEArray &bytes)
void EncodeBER(PBER_Stream &strm) const
PASN_UniversalTime()
Definition: asner.h:660
PCharArray characterSet
Definition: asner.h:549
#define PARRAY(cls, T)
Declare an array to a specific type of object.
Definition: array.h:1084
virtual PString GetTypeAsString() const
Return a string giving the type of the object.
PWCharArray value
Definition: asner.h:631
virtual void PrintOn(ostream &strm) const
Output the contents of the object to the stream.
PASN_BMPString & operator=(const PString &v)
Definition: asner.h:591
virtual void Encode(PASN_Stream &) const
virtual Comparison Compare(const PObject &obj) const
Compare the two objects and return their relative rank.
PUnsignedArray value
Definition: asner.h:398
virtual void Encode(PASN_Stream &) const
PASN_BitString & operator=(const PASN_BitString &other)
virtual void Encode(PASN_Stream &) const
PASN_Enumeration(unsigned val=0)
The character string class.
Definition: pstring.h:108
PBoolean DecodePER(PPER_Stream &strm)
void SetValue(const char *str)
Definition: asner.h:471
const PUnsignedArray & GetValue() const
Definition: asner.h:382
void CommonEncode(PBYTEArray &eObjId) const
PASN_ConstrainedString & operator=(const char *str)
virtual PBoolean EnumerationDecode(PASN_Enumeration &)=0
virtual PBoolean ArrayDecode(PASN_Array &)=0
PBoolean UnknownExtensionsDecodePER(PPER_Stream &strm)
Array of unsigned integers.
Definition: array.h:737
void EncodePER(PPER_Stream &strm) const
virtual PString GetTypeAsString() const
Return a string giving the type of the object.
T * GetPointer(PINDEX minSize=0)
Get a pointer to the internal array and assure that it is of at least the specified size...
Definition: array.h:364
PBoolean KnownExtensionDecodeBER(PBER_Stream &strm, PINDEX fld, PASN_Object &field)
PASN_ObjectId(const char *dotstr=NULL)
virtual PINDEX GetDataLength() const
virtual void Encode(PASN_Stream &) const
PBoolean CommonDecode(PASN_Stream &strm, unsigned dataLen)
virtual void SetConstraintBounds(ConstraintType type, int lower, unsigned upper)
unsigned tag
ASN object tag.
Definition: asner.h:155
static PINDEX GetMaximumStringSize()
virtual PBoolean Decode(PASN_Stream &)
virtual Comparison Compare(const PObject &obj) const
Compare the two objects and return their relative rank.
PINDEX GetSize() const
Definition: asner.h:798
unsigned bitOffset
Definition: asner.h:980
PString GetValue() const
Definition: asner.h:595
Class for ASN Set type.
Definition: asner.h:865
virtual PObject * Clone() const
Create a copy of the class on the heap.
void EncodeBER(PBER_Stream &strm) const
Class for ASN Enumerated type.
Definition: asner.h:274
virtual void BitStringEncode(const PASN_BitString &)=0
char operator[](PINDEX idx) const
Definition: asner.h:520
PASN_Integer(unsigned val=0)
virtual Comparison Compare(const PObject &obj) const
Compare the two objects and return their relative rank.
void SetValue(const PTime &time)
Definition: asner.h:651
PASN_BMPString(const char *str=NULL)
PBoolean DecodeSequenceExtensionBitmap(PPER_Stream &strm)
void SetValue(const PWCharArray &v)
Definition: asner.h:599
void ConstrainedLengthEncode(PPER_Stream &strm, unsigned length) const
Class for ASN Choice type.
Definition: asner.h:677
PINDEX GetPosition() const
Definition: asner.h:929
virtual PBoolean UnknownExtensionsDecodeXER(PXER_Stream &strm)
virtual PINDEX GetDataLength() const =0
virtual PBoolean SequenceKnownDecode(PASN_Sequence &, PINDEX, PASN_Object &)=0
unsigned charSetAlignedBits
Definition: asner.h:635
virtual PString GetTypeAsString() const
Return a string giving the type of the object.
virtual PBoolean Decode(PASN_Stream &)
virtual PINDEX GetDataLength() const
virtual PINDEX GetDataLength() const
virtual void BMPStringEncode(const PASN_BMPString &)=0
void PreambleEncodePER(PPER_Stream &strm) const
virtual Comparison Compare(const PObject &obj) const
Compare the two objects and return their relative rank.
virtual void SetConstraintBounds(ConstraintType type, int lower, unsigned upper)
PBoolean ConstraintEncode(PPER_Stream &strm, unsigned value) const
#define DECLARE_STRING_CLASS(name)
Definition: asner.h:558
virtual void PrintOn(ostream &strm) const
Output the contents of the object to the stream.
void SetValue(const PTime &time)
Definition: asner.h:668
void RemoveAll()
Definition: asner.h:889
PBoolean KnownExtensionDecode(PASN_Stream &strm, PINDEX fld, PASN_Object &field)
TagClass tagClass
BER tag class.
Definition: asner.h:153
virtual void PrintOn(ostream &strm) const
Output the contents of the object to the stream.
virtual PBoolean Decode(PASN_Stream &)
ConstraintType
Definition: asner.h:118
unsigned BlockDecode(BYTE *bufptr, unsigned nBytes)
bool operator==(const char *dotstr) const
void SetValue(const char *v)
Definition: asner.h:518
virtual PBoolean IntegerDecode(PASN_Integer &)=0
void SetCharacterSet(ConstraintType ctype, const char *charSet)
PASN_Set(unsigned tag=UniversalSet, TagClass tagClass=UniversalTagClass, unsigned nOpts=0, PBoolean extend=false, unsigned nExtend=0)
PASN_Object & GetObject() const
PBoolean extendable
PER extension capability.
Definition: asner.h:151
PASN_Object(unsigned tag, TagClass tagClass, PBoolean extend=false)
const char * name
Definition: asner.h:268
virtual PBoolean KnownExtensionDecodeXER(PXER_Stream &strm, PINDEX fld, PASN_Object &field)
MinimumValueTag
Definition: asner.h:125
virtual void ChoiceEncode(const PASN_Choice &)=0
void EncodeSubType(const PASN_Object &)
Class for ASN Null type.
Definition: asner.h:186
void UnknownExtensionsEncode(PASN_Stream &strm) const
virtual PObject * Clone() const
Create a copy of the class on the heap.
virtual PBoolean Decode(PASN_Stream &)
virtual PINDEX GetDataLength() const
PASN_Boolean(PBoolean val=false)
PINDEX GetSize() const
Definition: asner.h:482
unsigned GetSize() const
Definition: asner.h:419
Class for ASN floating point type.
Definition: asner.h:329
virtual PBoolean IsPrimitive() const
Class for ASN Octet String type.
Definition: asner.h:458
void SetValue(double v)
Definition: asner.h:339
void Append(PASN_Object *obj)
Definition: asner.h:887
virtual void Encode(PASN_Stream &) const =0
virtual void EncodeXER(PXER_Stream &strm) const
PBoolean DecodePER(PPER_Stream &strm)
BYTE & operator[](PINDEX i)
Definition: asner.h:480
unsigned operator[](PINDEX idx) const
Definition: asner.h:381
MaximumValueTag
Definition: asner.h:126
PASN_Array(unsigned tag=UniversalSequence, TagClass tagClass=UniversalTagClass)
Class for ASN Integer type.
Definition: asner.h:234
PASN_Array & operator=(const PASN_Array &other)
virtual PINDEX GetDataLength() const
PASN_GeneralisedTime(const PTime &time)
Definition: asner.h:645
void UnknownExtensionsEncodeBER(PBER_Stream &strm) const
void SetValueRaw(const PWCharArray &v)
Definition: asner.h:601
void BlockEncode(const BYTE *bufptr, PINDEX nBytes)
virtual PBoolean IsPrimitive() const
Definition: asner.h:68
virtual void Encode(PASN_Stream &) const
bool operator[](PINDEX bit) const
unsigned charSetAlignedBits
Definition: asner.h:554
virtual void PrintOn(ostream &strm) const
Output the contents of the object to the stream.
PASN_UniversalTime(unsigned theTag, TagClass theTagClass)
Definition: asner.h:664
PASN_Choice & operator=(const PASN_Choice &other)
PASN_Object * choice
Definition: asner.h:776
TagClass GetTagClass() const
Definition: asner.h:83
virtual PINDEX GetDataLength() const
virtual PBoolean Decode(PASN_Stream &)
PASN_GeneralisedTime()
Definition: asner.h:643
virtual void Encode(PASN_Stream &) const
virtual void PrintOn(ostream &strm) const
Output the contents of the object to the stream.
virtual void BooleanEncode(const PASN_Boolean &)=0
double GetValue() const
Definition: asner.h:338
PASN_ConstrainedString & operator=(const PString &str)
Definition: asner.h:515
double value
Definition: asner.h:351
Class for ASN Object Identifier type.
Definition: asner.h:357
PBoolean IsAtEnd()
Definition: asner.h:931
virtual Comparison Compare(const PObject &obj) const
Compare the two objects and return their relative rank.
Class for ASN Array type.
Definition: asner.h:880
unsigned GetTag() const
Definition: asner.h:115
PASN_Sequence & operator=(const PASN_Sequence &other)
Ultimate parent class for all objects in the class library.
Definition: object.h:1118
void KnownExtensionEncodePER(PPER_Stream &strm, PINDEX fld, const PASN_Object &field) const
const char * canonicalSet
Definition: asner.h:550
BYTE operator[](PINDEX i) const
Definition: asner.h:479
Class for ASN Bit String type.
Definition: asner.h:404
virtual Comparison Compare(const PObject &obj) const
Compare the two objects and return their relative rank.
virtual PString GetTypeAsString() const
Return a string giving the type of the object.
PBoolean KnownExtensionDecodePER(PPER_Stream &strm, PINDEX fld, PASN_Object &field)
virtual void SequencePreambleEncode(const PASN_Sequence &)=0
unsigned charSetUnalignedBits
Definition: asner.h:553
virtual void PrintOn(ostream &strm) const
Output the contents of the object to the stream.
virtual void PrintOn(ostream &strm) const
Output the contents of the object to the stream.
PBoolean DecodePER(PPER_Stream &strm)
virtual PBoolean Read(PChannel &chan)=0
PString value
Definition: asner.h:548
PINDEX canonicalSetSize
Definition: asner.h:551
virtual void SetTag(unsigned newTag, TagClass tagClass=DefaultTagClass)
unsigned value
Definition: asner.h:264
Base class for ASN encoding/decoding.
Definition: asner.h:59
PBYTEArray value
Definition: asner.h:504
PASN_BitString(unsigned nBits=0, const BYTE *buf=NULL)
void SetValue(const PString &str)
Definition: asner.h:472
static void SetMaximumArraySize(PINDEX sz)
virtual PASN_Object * CreateObject() const =0
void SetValue(const PBYTEArray &arr)
Definition: asner.h:473
virtual PString GetTypeAsString() const
Return a string giving the type of the object.
virtual PObject * Clone() const
Create a copy of the class on the heap.
void EncodePER(PPER_Stream &strm) const