PASN_BMPString Class Reference

Class for ASN BMP (16 bit) String type. More...

`#include <asner.h>`

Inheritance diagram for PASN_BMPString:

## Public Member Functions

| PASN_BMPString (const char *str=NULL)
| PASN_BMPString (const PWCharArray &wstr)
| PASN_BMPString (unsigned tag, TagClass tagClass)
| PASN_BMPString (const PASN_BMPString &other)
PASN_BMPString & | operator= (const PASN_BMPString &other)
PASN_BMPString & | operator= (const char *v)
PASN_BMPString & | operator= (const PString &v)
PASN_BMPString & | operator= (const PWCharArray &v)
| operator PString () const
| operator PWCharArray () const
PString | GetValue () const
void | GetValue (PWCharArray &v) const
void | SetValue (const char *v)
void | SetValue (const PString &v)
void | SetValue (const PWCharArray &v)
void | SetValue (const PASN_BMPString &v)
void | SetValueRaw (const PWCharArray &v)
void | SetValueRaw (const wchar_t *val, PINDEX len)
void | SetCharacterSet (ConstraintType ctype, const char *charSet)
void | SetCharacterSet (ConstraintType ctype, const PWCharArray &charSet)
void | SetCharacterSet (ConstraintType ctype, unsigned firstChar, unsigned lastChar)
virtual Comparison | Compare (const PObject &obj) const
| Compare the two objects and return their relative rank. More...
virtual PObject * | Clone () const
| Create a copy of the class on the heap. More...
virtual void | PrintOn (ostream &strm) const
| Output the contents of the object to the stream. More...
virtual PString | GetTypeAsString () const
| Return a string giving the type of the object. More...
virtual PINDEX | GetDataLength () const
virtual PBoolean | Decode (PASN_Stream &)
virtual void | Encode (PASN_Stream &) const
PBoolean | DecodeBER (PBER_Stream &strm, unsigned len)
void | EncodeBER (PBER_Stream &strm) const
PBoolean | DecodePER (PPER_Stream &strm)
void | EncodePER (PPER_Stream &strm) const
Public Member Functions inherited from PASN_ConstrainedObject
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
PINDEX | GetObjectLength () const
virtual PBoolean | IsPrimitive () const
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)
Public Member Functions inherited from PObject
virtual | ~PObject ()
virtual PINDEX | HashFunction () const
| This function yields a hash value required by the `PDictionary` class. 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 | ReadFrom (istream &strm)
| Input the contents of the object from the stream. More...

## Protected Member Functions

void | Construct ()
PBoolean | IsLegalCharacter (WORD ch)
Protected Member Functions inherited from PASN_ConstrainedObject
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

PWCharArray | value
PWCharArray | characterSet
wchar_t | firstChar
wchar_t | lastChar
unsigned | charSetUnalignedBits
unsigned | charSetAlignedBits
Protected Attributes inherited from PASN_ConstrainedObject
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

Class for ASN BMP (16 bit) String type.

## Constructor & Destructor Documentation

## PASN_BMPString() [1/4]

PASN_BMPString::PASN_BMPString | ( | const char * | str = `NULL` | ) |

## PASN_BMPString() [2/4]

PASN_BMPString::PASN_BMPString | ( | const PWCharArray & | wstr | ) |

## PASN_BMPString() [3/4]

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

## PASN_BMPString() [4/4]

PASN_BMPString::PASN_BMPString | ( | const PASN_BMPString & | other | ) |

## Member Function Documentation

## Clone()

virtual PObject* PASN_BMPString::Clone | ( |  | ) | const

virtual

Create a copy of the class on the heap.

The exact semantics of the descendent class determine what is required to make a duplicate of the instance. Not all classes can even do a clone operation.

The main user of the clone function is the `PDictionary` class as it requires copies of the dictionary keys.

The default behaviour is for this function to assert.

Returns
  pointer to new copy of the class instance.

Reimplemented from PObject.

## Compare()

virtual Comparison PASN_BMPString::Compare | ( | const PObject & | obj | ) | const

virtual

Compare the two objects and return their relative rank.

This function is usually overridden by descendent classes to yield the ranking according to the semantics of the object.

The default function is to use the `CompareObjectMemoryDirect()` function to do a byte wise memory comparison of the two objects.

Returns
  `LessThan`, `EqualTo` or `GreaterThan` according to the relative rank of the objects.

Reimplemented from PObject.

## Construct()

void PASN_BMPString::Construct | ( |  | ) |

protected

## Decode()

virtual PBoolean PASN_BMPString::Decode | ( | PASN_Stream & |  | ) |

virtual

Implements PASN_Object.

## DecodeBER()

PBoolean PASN_BMPString::DecodeBER | ( | PBER_Stream & | strm,
|  | unsigned | len
| ) |  |

## DecodePER()

PBoolean PASN_BMPString::DecodePER | ( | PPER_Stream & | strm | ) |

## Encode()

virtual void PASN_BMPString::Encode | ( | PASN_Stream & |  | ) | const

virtual

Implements PASN_Object.

## EncodeBER()

void PASN_BMPString::EncodeBER | ( | PBER_Stream & | strm | ) | const

## EncodePER()

void PASN_BMPString::EncodePER | ( | PPER_Stream & | strm | ) | const

## GetDataLength()

virtual PINDEX PASN_BMPString::GetDataLength | ( |  | ) | const

virtual

Implements PASN_Object.

## GetTypeAsString()

virtual PString PASN_BMPString::GetTypeAsString | ( |  | ) | const

virtual

Return a string giving the type of the object.

Implements PASN_Object.

## GetValue() [1/2]

PString PASN_BMPString::GetValue | ( |  | ) | const

inline

## GetValue() [2/2]

void PASN_BMPString::GetValue | ( | PWCharArray & | v | ) | const

inline

## IsLegalCharacter()

PBoolean PASN_BMPString::IsLegalCharacter | ( | WORD | ch | ) |

protected

## operator PString()

PASN_BMPString::operator PString | ( |  | ) | const

inline

## operator PWCharArray()

PASN_BMPString::operator PWCharArray | ( |  | ) | const

inline

## operator=() [1/4]

PASN_BMPString& PASN_BMPString::operator= | ( | const PASN_BMPString & | other | ) |

## operator=() [2/4]

PASN_BMPString& PASN_BMPString::operator= | ( | const char * | v | ) |

inline

References operator=().

Referenced by operator=().

## operator=() [3/4]

PASN_BMPString& PASN_BMPString::operator= | ( | const PString & | v | ) |

inline

References PString::AsUCS2(), and operator=().

Referenced by operator=().

## operator=() [4/4]

PASN_BMPString& PASN_BMPString::operator= | ( | const PWCharArray & | v | ) |

## PrintOn()

virtual void PASN_BMPString::PrintOn | ( | ostream & | strm | ) | const

virtual

Output the contents of the object to the stream.

The exact output is dependent on the exact semantics of the descendent class. This is primarily used by the standard `operator<<` function.

The default behaviour is to print the class name.

Reimplemented from PObject.

## SetCharacterSet() [1/3]

void PASN_BMPString::SetCharacterSet | ( | ConstraintType | ctype,
|  | const char * | charSet
| ) |  |

virtual

Reimplemented from PASN_Object.

## SetCharacterSet() [2/3]

void PASN_BMPString::SetCharacterSet | ( | ConstraintType | ctype,
|  | const PWCharArray & | charSet
| ) |  |

## SetCharacterSet() [3/3]

void PASN_BMPString::SetCharacterSet | ( | ConstraintType | ctype,
|  | unsigned | firstChar,
|  | unsigned | lastChar
| ) |  |

virtual

Reimplemented from PASN_Object.

## SetValue() [1/4]

void PASN_BMPString::SetValue | ( | const char * | v | ) |

inline

## SetValue() [2/4]

void PASN_BMPString::SetValue | ( | const PString & | v | ) |

inline

References PString::AsUCS2().

## SetValue() [3/4]

void PASN_BMPString::SetValue | ( | const PWCharArray & | v | ) |

inline

## SetValue() [4/4]

void PASN_BMPString::SetValue | ( | const PASN_BMPString & | v | ) |

inline

References value.

## SetValueRaw() [1/2]

void PASN_BMPString::SetValueRaw | ( | const PWCharArray & | v | ) |

inline

References PObject::Clone(), PObject::Compare(), PASN_Object::Decode(), PASN_Object::Encode(), PASN_Object::GetDataLength(), PASN_Object::GetTypeAsString(), PObject::PrintOn(), PASN_Object::SetCharacterSet(), and SetValueRaw().

Referenced by SetValueRaw().

## SetValueRaw() [2/2]

void PASN_BMPString::SetValueRaw | ( | const wchar_t * | val,
|  | PINDEX | len
| ) |  |

## Member Data Documentation

## characterSet

PWCharArray PASN_BMPString::characterSet

protected

## charSetAlignedBits

unsigned PASN_BMPString::charSetAlignedBits

protected

## charSetUnalignedBits

unsigned PASN_BMPString::charSetUnalignedBits

protected

## firstChar

wchar_t PASN_BMPString::firstChar

protected

## lastChar

wchar_t PASN_BMPString::lastChar

protected

## value

PWCharArray PASN_BMPString::value

protected

Referenced by SetValue().

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

- asner.h