# PASN_ObjectId Class Reference

Class for ASN Object Identifier type. More...

`#include <asner.h>`

Inheritance diagram for PASN_ObjectId:

List of all members.

## Public Member Functions

| PASN_ObjectId (const char *dotstr=NULL)
| PASN_ObjectId (unsigned tag, TagClass tagClass)
| PASN_ObjectId (const PASN_ObjectId &other)
PASN_ObjectId & | operator= (const PASN_ObjectId &other)
PASN_ObjectId & | operator= (const char *dotstr)
PASN_ObjectId & | operator= (const PString &dotstr)
PASN_ObjectId & | operator= (const PUnsignedArray &numbers)
void | SetValue (const PString &dotstr)
void | SetValue (const PUnsignedArray &numbers)
void | SetValue (const unsigned *numbers, PINDEX size)
bool | operator== (const char *dotstr) const
bool | operator!= (const char *dotstr) const
bool | operator== (const PString &dotstr) const
bool | operator!= (const PString &dotstr) const
bool | operator== (const PASN_ObjectId &id) const
PINDEX | GetSize () const
unsigned | operator[] (PINDEX idx) const
const PUnsignedArray & | GetValue () const
PString | AsString () const
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 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 | CommonDecode (PASN_Stream &strm, unsigned dataLen)
void | CommonEncode (PBYTEArray &eObjId) const

## Protected Attributes

PUnsignedArray | value

## Detailed Description

Class for ASN Object Identifier type.

## Constructor & Destructor Documentation

PASN_ObjectId::PASN_ObjectId | ( | const char * | dotstr = `NULL` | ) |

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

PASN_ObjectId::PASN_ObjectId | ( | const PASN_ObjectId & | other | ) |

## Member Function Documentation

PString PASN_ObjectId::AsString | ( |  | ) | const

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

PBoolean PASN_ObjectId::CommonDecode | ( | PASN_Stream & | strm,
|  | unsigned | dataLen |
| ) |  |  |

void PASN_ObjectId::CommonEncode | ( | PBYTEArray & | eObjId | ) | const

virtual Comparison PASN_ObjectId::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_ObjectId::Decode | ( | PASN_Stream & |  | ) | `[virtual]`

Implements PASN_Object.

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

Implements PASN_Object.

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

Implements PASN_Object.

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

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

Return a string giving the type of the object.

Implements PASN_Object.

const PUnsignedArray& PASN_ObjectId::GetValue | ( |  | ) | const`[inline]`

bool PASN_ObjectId::operator!= | ( | const PString & | dotstr | ) | const`[inline]`

bool PASN_ObjectId::operator!= | ( | const char * | dotstr | ) | const`[inline]`

PASN_ObjectId& PASN_ObjectId::operator= | ( | const PUnsignedArray & | numbers | ) |

PASN_ObjectId& PASN_ObjectId::operator= | ( | const PString & | dotstr | ) |

PASN_ObjectId& PASN_ObjectId::operator= | ( | const char * | dotstr | ) |

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

bool PASN_ObjectId::operator== | ( | const PASN_ObjectId & | id | ) | const`[inline]`

bool PASN_ObjectId::operator== | ( | const PString & | dotstr | ) | const`[inline]`

bool PASN_ObjectId::operator== | ( | const char * | dotstr | ) | const

unsigned PASN_ObjectId::operator[] | ( | PINDEX | idx | ) | const`[inline]`

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

void PASN_ObjectId::SetValue | ( | const unsigned * | numbers,
|  | PINDEX | size |
| ) |  |  |

void PASN_ObjectId::SetValue | ( | const PUnsignedArray & | numbers | ) | `[inline]`

void PASN_ObjectId::SetValue | ( | const PString & | dotstr | ) |

## Member Data Documentation

PUnsignedArray PASN_ObjectId::value `[protected]`

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

- asner.h