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

Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions

PASN_Object Class Reference

#include <asner.h>

Inheritance diagram for PASN_Object:
Inheritance graph
[legend]
Collaboration diagram for PASN_Object:
Collaboration graph
[legend]

List of all members.

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

virtual BOOL Decode (PASN_Stream &)=0
virtual void Encode (PASN_Stream &) const =0
virtual PINDEX GetDataLength () const =0
PINDEX GetObjectLength () const
unsigned GetTag () const
TagClass GetTagClass () const
virtual PString GetTypeAsString () const =0
BOOL IsExtendable () const
virtual BOOL IsPrimitive () const
virtual void SetCharacterSet (ConstraintType ctype, const char *charSet)
virtual void SetCharacterSet (ConstraintType ctype, unsigned firstChar, unsigned lastChar)
virtual void SetConstraintBounds (ConstraintType type, int lower, unsigned upper)
void SetConstraints (ConstraintType, MinimumValueTag lower, unsigned upper)
void SetConstraints (ConstraintType type, int lower, unsigned upper)
void SetConstraints (ConstraintType, int lower, MaximumValueTag)
void SetConstraints (ConstraintType type, int value)
void SetConstraints (ConstraintType, MinimumValueTag lower, MaximumValueTag upper)
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_Object (unsigned tag, TagClass tagClass, BOOL extend=FALSE)

Protected Attributes

BOOL extendable
 PER extension capability.
unsigned tag
 ASN object tag.
TagClass tagClass
 BER tag class.

Private Member Functions

 PCLASSINFO (PASN_Object, PObject)

Comparison functions

enum  Comparison { LessThan = -1, EqualTo = 0, GreaterThan = 1 }
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

Run Time Type functions

virtual const char * GetClass (unsigned=0) const
BOOL IsClass (const char *cls) const
virtual BOOL InternalIsDescendant (const char *clsName) 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)

Detailed Description

Base class for ASN encoding/decoding.

Definition at line 213 of file asner.h.


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

Generated by  Doxygen 1.6.0   Back to index