Logo Search packages:      
Sourcecode: pwlib version File versions  Download package

PASN_ConstrainedObject Class Reference

#include <asner.h>

Inheritance diagram for PASN_ConstrainedObject:

PASN_Object PObject PASN_Array PASN_BitString PASN_BMPString PASN_ConstrainedString PASN_Integer PASN_OctetString

List of all members.


Detailed Description

Base class for constrained ASN encoding/decoding.

Definition at line 312 of file asner.h.


Comparison functions

virtual Comparison Compare (const PObject &obj) const
virtual Comparison CompareObjectMemoryDirect (const PObject &obj) const
bool operator!= (const PObject &obj) const
bool operator< (const PObject &obj) const
bool operator<= (const PObject &obj) const
bool operator== (const PObject &obj) const
bool operator> (const PObject &obj) const
bool operator>= (const PObject &obj) const
enum  Comparison { LessThan = -1, EqualTo = 0, GreaterThan = 1 }

Run Time Type functions

virtual const char * GetClass (unsigned=0) const
virtual BOOL InternalIsDescendant (const char *clsName) const
BOOL IsClass (const char *cls) const
static const char * Class ()

I/O functions

virtual void PrintOn (ostream &strm) const
virtual void ReadFrom (istream &strm)
ostream & operator<< (ostream &strm, const PObject &obj)
istream & operator>> (istream &strm, PObject &obj)

Public Types

enum  ConstraintType { Unconstrained, PartiallyConstrained, FixedConstraint, ExtendableConstraint }
enum  MaximumValueTag { MaximumValue = INT_MAX }
enum  MinimumValueTag { MinimumValue = INT_MIN }
enum  TagClass {
  UniversalTagClass, ApplicationTagClass, ContextSpecificTagClass, PrivateTagClass,
  DefaultTagClass
}
enum  UniversalTags {
  InvalidUniversalTag, UniversalBoolean, UniversalInteger, UniversalBitString,
  UniversalOctetString, UniversalNull, UniversalObjectId, UniversalObjectDescriptor,
  UniversalExternalType, UniversalReal, UniversalEnumeration, UniversalEmbeddedPDV,
  UniversalSequence = 16, UniversalSet, UniversalNumericString, UniversalPrintableString,
  UniversalTeletexString, UniversalVideotexString, UniversalIA5String, UniversalUTCTime,
  UniversalGeneralisedTime, UniversalGeneralizedTime = UniversalGeneralisedTime, UniversalGraphicString, UniversalVisibleString,
  UniversalGeneralString, UniversalUniversalString, UniversalBMPString = 30
}

Public Member Functions

BOOL ConstrainedLengthDecode (PPER_Stream &strm, unsigned &length)
void ConstrainedLengthEncode (PPER_Stream &strm, unsigned length) const
BOOL ConstraintEncode (PPER_Stream &strm, unsigned value) const
virtual BOOL Decode (PASN_Stream &)=0
virtual void Encode (PASN_Stream &) const =0
virtual PINDEX GetDataLength () const =0
int GetLowerLimit () const
PINDEX GetObjectLength () const
unsigned GetTag () const
TagClass GetTagClass () const
virtual PString GetTypeAsString () const =0
unsigned GetUpperLimit () const
BOOL IsConstrained () const
BOOL IsExtendable () const
virtual BOOL IsPrimitive () const
virtual void SetCharacterSet (ConstraintType ctype, unsigned firstChar, unsigned lastChar)
virtual void SetCharacterSet (ConstraintType ctype, const char *charSet)
void SetConstraints (ConstraintType type, int lower, unsigned upper)
void SetConstraints (ConstraintType, MinimumValueTag lower, MaximumValueTag upper)
void SetConstraints (ConstraintType, MinimumValueTag lower, unsigned upper)
void SetConstraints (ConstraintType, int lower, MaximumValueTag)
void SetConstraints (ConstraintType type, int value)
void SetExtendable (BOOL ext=TRUE)
virtual void SetTag (unsigned newTag, TagClass tagClass=DefaultTagClass)
Miscellaneous functions
virtual PObjectClone () const
virtual PINDEX HashFunction () const

Static Public Member Functions

static PINDEX GetMaximumArraySize ()
static PINDEX GetMaximumStringSize ()
static void SetMaximumArraySize (PINDEX sz)
static void SetMaximumStringSize (PINDEX sz)

Protected Member Functions

 PASN_ConstrainedObject (unsigned tag, TagClass tagClass)
virtual void SetConstraintBounds (ConstraintType type, int lower, unsigned upper)

Protected Attributes

ConstraintType constraint
BOOL extendable
 PER extension capability.
int lowerLimit
unsigned tag
 ASN object tag.
TagClass tagClass
 BER tag class.
unsigned upperLimit

Private Member Functions

 PCLASSINFO (PASN_ConstrainedObject, PASN_Object)

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

Generated by  Doxygen 1.6.0   Back to index