# PASN_OctetString Class Reference

Class for ASN Octet String type. More...

`#include <asner.h>`

Inheritance diagram for PASN_OctetString:

List of all members.

## Public Member Functions

| PASN_OctetString (const char *str=NULL, PINDEX size=0)
| PASN_OctetString (unsigned tag, TagClass tagClass)
| PASN_OctetString (const PASN_OctetString &other)
PASN_OctetString & | operator= (const PASN_OctetString &other)
PASN_OctetString & | operator= (const char *str)
PASN_OctetString & | operator= (const PString &str)
PASN_OctetString & | operator= (const PBYTEArray &arr)
void | SetValue (const char *str)
void | SetValue (const PString &str)
void | SetValue (const PBYTEArray &arr)
void | SetValue (const BYTE *data, PINDEX len)
const PBYTEArray & | GetValue () const
| operator const PBYTEArray & () const
| operator const BYTE * () const
PString | AsString () const
BYTE | operator[] (PINDEX i) const
BYTE & | operator[] (PINDEX i)
BYTE * | GetPointer (PINDEX sz=0)
PINDEX | GetSize () const
PBoolean | SetSize (PINDEX newSize)
virtual Comparison | Compare (const PObject &obj) const
| Compare the two objects and return their relative rank.
virtual PObject * | Clone () const
| Create a copy of the class on the heap.
virtual void | PrintOn (ostream &strm) const
| Output the contents of the object to the stream.
virtual void | SetConstraintBounds (ConstraintType type, int lower, unsigned upper)
virtual PString | GetTypeAsString () const
| Return a string giving the type of the object.
virtual PINDEX | GetDataLength () const
virtual PBoolean | Decode (PASN_Stream &)
virtual void | Encode (PASN_Stream &) const
PBoolean | DecodePER (PPER_Stream &strm)
void | EncodePER (PPER_Stream &strm) const
PBoolean | DecodeSubType (PASN_Object &) const
void | EncodeSubType (const PASN_Object &)

## Protected Attributes

PBYTEArray | value

## Detailed Description

Class for ASN Octet String type.

## Constructor & Destructor Documentation

PASN_OctetString::PASN_OctetString | ( | const char * | str = `NULL`,
|  | PINDEX | size = `0` |
| ) |  |  |

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

PASN_OctetString::PASN_OctetString | ( | const PASN_OctetString & | other | ) |

## Member Function Documentation

PString PASN_OctetString::AsString | ( |  | ) | const

virtual PObject* PASN_OctetString::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.

Reimplemented in PRFC1155_IpAddress, and PRFC1155_Opaque.

virtual Comparison PASN_OctetString::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.

virtual PBoolean PASN_OctetString::Decode | ( | PASN_Stream & |  | ) | `[virtual]`

Implements PASN_Object.

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

PBoolean PASN_OctetString::DecodeSubType | ( | PASN_Object & |  | ) | const

virtual void PASN_OctetString::Encode | ( | PASN_Stream & |  | ) | const`[virtual]`

Implements PASN_Object.

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

void PASN_OctetString::EncodeSubType | ( | const PASN_Object & |  | ) |

virtual PINDEX PASN_OctetString::GetDataLength | ( |  | ) | const`[virtual]`

Implements PASN_Object.

BYTE* PASN_OctetString::GetPointer | ( | PINDEX | sz = `0` | ) | `[inline]`

PINDEX PASN_OctetString::GetSize | ( |  | ) | const`[inline]`

virtual PString PASN_OctetString::GetTypeAsString | ( |  | ) | const`[virtual]`

Return a string giving the type of the object.

Implements PASN_Object.

const PBYTEArray& PASN_OctetString::GetValue | ( |  | ) | const`[inline]`

PASN_OctetString::operator const BYTE * | ( |  | ) | const`[inline]`

PASN_OctetString::operator const PBYTEArray & | ( |  | ) | const`[inline]`

PASN_OctetString& PASN_OctetString::operator= | ( | const PBYTEArray & | arr | ) |

Reimplemented in PRFC1155_IpAddress, and PRFC1155_Opaque.

PASN_OctetString& PASN_OctetString::operator= | ( | const PString & | str | ) |

Reimplemented in PRFC1155_IpAddress, and PRFC1155_Opaque.

PASN_OctetString& PASN_OctetString::operator= | ( | const char * | str | ) |

Reimplemented in PRFC1155_IpAddress, and PRFC1155_Opaque.

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

BYTE& PASN_OctetString::operator[] | ( | PINDEX | i | ) | `[inline]`

BYTE PASN_OctetString::operator[] | ( | PINDEX | i | ) | const`[inline]`

virtual void PASN_OctetString::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.

virtual void PASN_OctetString::SetConstraintBounds | ( | ConstraintType | type,
|  | int | lower,
|  | unsigned | upper |
| ) |  |  | `[virtual]`

Reimplemented from PASN_ConstrainedObject.

PBoolean PASN_OctetString::SetSize | ( | PINDEX | newSize | ) |

void PASN_OctetString::SetValue | ( | const BYTE * | data,
|  | PINDEX | len |
| ) |  |  |

void PASN_OctetString::SetValue | ( | const PBYTEArray & | arr | ) | `[inline]`

void PASN_OctetString::SetValue | ( | const PString & | str | ) | `[inline]`

void PASN_OctetString::SetValue | ( | const char * | str | ) | `[inline]`

## Member Data Documentation

PBYTEArray PASN_OctetString::value `[protected]`

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

- asner.h