PASN_ConstrainedObject Class Reference

Base class for constrained ASN encoding/decoding. More...

`#include <asner.h>`

Inheritance diagram for PASN_ConstrainedObject:

## Public Member Functions

PBoolean | IsConstrained () const
int | GetLowerLimit () const
unsigned | GetUpperLimit () const
PBoolean | ConstrainedLengthDecode (PPER_Stream &strm, unsigned &length)
void | ConstrainedLengthEncode (PPER_Stream &strm, unsigned length) const
PBoolean | ConstraintEncode (PPER_Stream &strm, unsigned value) const
Public Member Functions inherited from PASN_Object
virtual PString | GetTypeAsString () const =0
| Return a string giving the type of the object. More...
PINDEX | GetObjectLength () const
virtual PINDEX | GetDataLength () const =0
virtual PBoolean | IsPrimitive () const
virtual PBoolean | Decode (PASN_Stream &)=0
virtual void | Encode (PASN_Stream &) const =0
PBoolean | IsExtendable () const
void | SetExtendable (PBoolean ext=true)
TagClass | GetTagClass () const
unsigned | GetTag () const
virtual void | SetTag (unsigned newTag, TagClass tagClass=DefaultTagClass)
void | SetConstraints (ConstraintType type, int value)
void | SetConstraints (ConstraintType, int lower, MaximumValueTag)
void | SetConstraints (ConstraintType, MinimumValueTag lower, unsigned upper)
void | SetConstraints (ConstraintType, MinimumValueTag lower, MaximumValueTag upper)
void | SetConstraints (ConstraintType type, int lower, unsigned upper)
virtual void | SetCharacterSet (ConstraintType ctype, const char *charSet)
virtual void | SetCharacterSet (ConstraintType ctype, unsigned firstChar, unsigned lastChar)
Public Member Functions inherited from PObject
virtual | ~PObject ()
virtual PObject * | Clone () const
| Create a copy of the class on the heap. More...
virtual PINDEX | HashFunction () const
| This function yields a hash value required by the `PDictionary` class. More...
virtual Comparison | Compare (const PObject &obj) const
| Compare the two objects and return their relative rank. More...
virtual Comparison | CompareObjectMemoryDirect (const PObject &obj) const
| Determine the byte wise comparison of two objects. More...
bool | operator== (const PObject &obj) const
| Compare the two objects. More...
bool | operator!= (const PObject &obj) const
| Compare the two objects. More...
bool | operator< (const PObject &obj) const
| Compare the two objects. More...
bool | operator> (const PObject &obj) const
| Compare the two objects. More...
bool | operator<= (const PObject &obj) const
| Compare the two objects. More...
bool | operator>= (const PObject &obj) const
| Compare the two objects. More...
virtual const char * | GetClass (unsigned ancestor=0) const
| Get the current dynamic type of the object instance. More...
PBoolean | IsClass (const char *cls) const
virtual PBoolean | InternalIsDescendant (const char *clsName) const
| Determine if the dynamic type of the current instance is a descendent of the specified class. More...
virtual void | PrintOn (ostream &strm) const
| Output the contents of the object to the stream. More...
virtual void | ReadFrom (istream &strm)
| Input the contents of the object from the stream. More...

## Protected Member Functions

virtual void | SetConstraintBounds (ConstraintType type, int lower, unsigned upper)
| PASN_ConstrainedObject (unsigned tag, TagClass tagClass)
Protected Member Functions inherited from PASN_Object
| PASN_Object (unsigned tag, TagClass tagClass, PBoolean extend=false)
Protected Member Functions inherited from PObject
| PObject ()
| Constructor for PObject, made protected so cannot ever create one on its own. More...

## Protected Attributes

ConstraintType | constraint
int | lowerLimit
unsigned | upperLimit
Protected Attributes inherited from PASN_Object
PBoolean | extendable
| PER extension capability. More...
TagClass | tagClass
| BER tag class. More...
unsigned | tag
| ASN object tag. More...

## Additional Inherited Members

Public Types inherited from PASN_Object
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
}

enum | ConstraintType { Unconstrained, PartiallyConstrained, FixedConstraint, ExtendableConstraint }
enum | MinimumValueTag { MinimumValue = INT_MIN }
enum | MaximumValueTag { MaximumValue = INT_MAX }
Public Types inherited from PObject
enum | Comparison { LessThan = -1, EqualTo = 0, GreaterThan = 1 }
| Result of the comparison operation performed by the `Compare()` function. More...
Static Public Member Functions inherited from PASN_Object
static PINDEX | GetMaximumArraySize ()
static void | SetMaximumArraySize (PINDEX sz)
static PINDEX | GetMaximumStringSize ()
static void | SetMaximumStringSize (PINDEX sz)
Static Public Member Functions inherited from PObject
static Comparison | InternalCompareObjectMemoryDirect (const PObject *obj1, const PObject *obj2, PINDEX size)
| Internal function caled from CompareObjectMemoryDirect() More...
static const char * | Class ()
| Get the name of the class as a C string. More...

## Detailed Description

Base class for constrained ASN encoding/decoding.

## Constructor & Destructor Documentation

PASN_ConstrainedObject::PASN_ConstrainedObject | ( | unsigned | tag,
|  | TagClass | tagClass
| ) |  |

protected

## Member Function Documentation

PBoolean PASN_ConstrainedObject::ConstrainedLengthDecode | ( | PPER_Stream & | strm,
|  | unsigned & | length
| ) |  |

void PASN_ConstrainedObject::ConstrainedLengthEncode | ( | PPER_Stream & | strm,
|  | unsigned | length
| ) |  | const

PBoolean PASN_ConstrainedObject::ConstraintEncode | ( | PPER_Stream & | strm,
|  | unsigned | value
| ) |  | const

int PASN_ConstrainedObject::GetLowerLimit | ( |  | ) | const

inline

References lowerLimit.

unsigned PASN_ConstrainedObject::GetUpperLimit | ( |  | ) | const

inline

References upperLimit.

PBoolean PASN_ConstrainedObject::IsConstrained | ( |  | ) | const

inline

References constraint, and PASN_Object::Unconstrained.

virtual void PASN_ConstrainedObject::SetConstraintBounds | ( | ConstraintType | type,
|  | int | lower,
|  | unsigned | upper
| ) |  |

protected virtual

Reimplemented from PASN_Object.

Reimplemented in PASN_Array, PASN_ConstrainedString, PASN_OctetString, PASN_BitString, and PASN_Integer.

## Member Data Documentation

ConstraintType PASN_ConstrainedObject::constraint

protected

Referenced by IsConstrained().

int PASN_ConstrainedObject::lowerLimit

protected

Referenced by GetLowerLimit().

unsigned PASN_ConstrainedObject::upperLimit

protected

Referenced by GetUpperLimit().

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

- asner.h