PTLib Version 2.12.9

- Main Page
- Related Pages
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | List of all members
PGloballyUniqueID Class Reference

Globally unique ID definition. More...

`#include <guid.h>`

Inheritance diagram for PGloballyUniqueID:
[legend]
Collaboration diagram for PGloballyUniqueID:
[legend]

## Public Types
enum | { Size = 16 }

## Public Member Functions
Construction
| PGloballyUniqueID ()
| Create a new ID. More...
| PGloballyUniqueID (const char *cstr)
| Create an ID from a C string of hex (as produced by AsString()). More...
| PGloballyUniqueID (const PString &str)
| Create an ID from a PString of hex (as produced by AsString()). More...
| PGloballyUniqueID (const void *data, PINDEX size)
| Create an ID from a block of memory. More...
Overrides from PObject
virtual void | PrintOn (ostream &strm) const
| Standard stream print function. More...
virtual void | ReadFrom (istream &strm)
| Standard stream read function. More...
virtual PObject * | Clone () const
| Create a clone of the ID. More...
virtual PINDEX | HashFunction () const
| Get the hash value for the ID. More...
Operations
PString | AsString () const
| Convert the ID to human readable string. More...
PBoolean | IsNULL () const
| Test if the GUID is null, ie consists of all zeros. More...
PBoolean | operator! () const
Public Member Functions inherited from PBYTEArray
template<typename T >
const T & | GetAs (PINDEX offset=0)
| Function to cast block of memory in PBYTEArray to another structure. More...
| PBYTEArray (PINDEX initialSize=0)
| Construct a new dynamic array of unsigned chars. More...
| PBYTEArray (BYTE const *buffer, PINDEX length, PBoolean dynamic=true)
| Construct a new dynamic array of unsigned chars. More...
| PBYTEArray (PContainerReference &reference_)
virtual void | PrintOn (ostream &strm) const
| Print the array. More...
virtual void | ReadFrom (istream &strm)
| Read the array. More...
Public Member Functions inherited from PBaseArray< BYTE >
| PBaseArray (PINDEX initialSize=0)
| Construct a new dynamic array of elements of the specified type. More...
| PBaseArray (BYTEconst *buffer, PINDEX length, PBoolean dynamic=true)
| Construct a new dynamic array of elements of the specified type. More...
PBoolean | SetAt (PINDEX index, BYTEval)
| Set the specific element in the array. More...
BYTE | GetAt (PINDEX index) const
| Get a value from the array. More...
void | Attach (const BYTE *buffer, PINDEX bufferSize)
| Attach a pointer to a static block to the base array type. More...
BYTE * | GetPointer (PINDEX minSize=0)
| Get a pointer to the internal array and assure that it is of at least the specified size. More...
BYTE | operator[] (PINDEX index) const
| Get a value from the array. More...
BYTE & | operator[] (PINDEX index)
| Get a reference to value from the array. More...
| operator BYTEconst * () const
| Get a pointer to the internal array. More...
PBoolean | Concatenate (const PBaseArray &array)
| Concatenate one array to the end of this array. More...
Public Member Functions inherited from PAbstractArray
| PAbstractArray (PINDEX elementSizeInBytes, PINDEX initialSize=0)
| Create a new dynamic array of `initalSize` elements of `elementSizeInBytes` bytes each. More...
| PAbstractArray (PINDEX elementSizeInBytes, const void *buffer, PINDEX bufferSizeInElements, PBoolean dynamicAllocation)
| Create a new dynamic array of `bufferSizeInElements` elements of `elementSizeInBytes` bytes each. More...
virtual Comparison | Compare (const PObject &obj) const
| Get the relative rank of the two arrays. More...
void | Attach (const void *buffer, PINDEX bufferSize)
| Attach a pointer to a static block to the base array type. More...
void * | GetPointer (PINDEX minSize=1)
| Get a pointer to the internal array and assure that it is of at least the specified size. More...
PBoolean | Concatenate (const PAbstractArray &array)
| Concatenate one array to the end of this array. More...
Public Member Functions inherited from PContainer
| PContainer (PINDEX initialSize=0)
| Create a new unique container. More...
| PContainer (const PContainer &cont)
| Create a new refernce to container. More...
PContainer & | operator= (const PContainer &cont)
| Assign one container reference to another. More...
virtual | ~PContainer ()
| Destroy the container class. More...
virtual PINDEX | GetSize () const
| Get the current size of the container. More...
PBoolean | SetMinSize (PINDEX minSize)
| Set the minimum size of container. More...
virtual PBoolean | IsEmpty () const
| Determine if the container is empty. More...
PBoolean | IsUnique () const
| Determine if container is unique reference. More...
virtual PBoolean | MakeUnique ()
| Make this instance to be the one and only reference to the container contents. More...
Public Member Functions inherited from PObject
unsigned | GetTraceContextIdentifier () const
| Get PTRACE context identifier. More...
void | SetTraceContextIdentifier (unsigned id)
void | GetTraceContextIdentifier (PObject &obj)
void | GetTraceContextIdentifier (PObject *obj)
void | SetTraceContextIdentifier (const PObject &obj)
void | SetTraceContextIdentifier (const PObject *obj)
virtual | ~PObject ()
template<class CLS >
CLS * | CloneAs () const
| As for Clone() but converts to specified type. 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...
__inline const PObject * | PTraceObjectInstance () const

## Additional Inherited Members
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...
static __inline const PObject * | PTraceObjectInstance (const char *)
static __inline const PObject * | PTraceObjectInstance (const PObject *obj)
Protected Member Functions inherited from PBaseArray< BYTE >
| PBaseArray (PContainerReference &reference_)
virtual void | PrintElementOn (ostream &stream, PINDEX index) const
Protected Attributes inherited from PAbstractArray
PINDEX | elementSize
| Size of an element in bytes. More...
char * | theArray
| Pointer to the allocated block of memory. More...
PBoolean | allocatedDynamically
| Flag indicating the array was allocated on the heap. More...
Friends inherited from PObject

## Detailed Description

Globally unique ID definition.

This implements a 128 bit globally unique ID as required by many protocols and software systems. The value is constructed in such a way as to make a duplicate anywhere in the world highly unlikely.

## Member Enumeration Documentation

anonymous enum

Enumerator
Size | Size of a GUID.

## Constructor & Destructor Documentation

PGloballyUniqueID::PGloballyUniqueID | ( |  | ) |

Create a new ID.

The ID created with this will be initialised to a globally unique ID as per specification.

PGloballyUniqueID::PGloballyUniqueID | ( | const char * | cstr | ) |

Create an ID from a C string of hex (as produced by AsString()).

A useful construct is to construct a OpalGloballyUniqueID() with NULL which produces an all zero GUID, detectable with the IsNULL() function.

Parameters

  cstr | C string to convert

PGloballyUniqueID::PGloballyUniqueID | ( | const PString & | str | ) |

Create an ID from a PString of hex (as produced by AsString()).

Parameters

  str | String of hex to convert

PGloballyUniqueID::PGloballyUniqueID | ( | const void * | data,
|  | PINDEX | size
| ) |  |

Create an ID from a block of memory.

If the block is too small it is padded with zeros. If the block is too large, only the initial bytes are used.

## Member Function Documentation

PString PGloballyUniqueID::AsString | ( |  | ) | const

Convert the ID to human readable string.

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

Create a clone of the ID.

The duplicate ID has the same value as the source. Required for having this object as a key in dictionaries.

Reimplemented from PBYTEArray.

virtual PINDEX PGloballyUniqueID::HashFunction | ( |  | ) | const
| virtual

Get the hash value for the ID.

Creates a number based on the ID value for use in the hash table of a dictionary. Required for having this object as a key in dictionaries.

Reimplemented from PObject.

PBoolean PGloballyUniqueID::IsNULL | ( |  | ) | const

Test if the GUID is null, ie consists of all zeros.

Referenced by operator!().

PBoolean PGloballyUniqueID::operator! | ( |  | ) | const
| inline

References IsNULL().

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

Standard stream print function.

The PObject class has a << operator defined that calls this function polymorphically.

Parameters

  strm | Stream to output text representation

virtual void PGloballyUniqueID::ReadFrom | ( | istream & | strm | ) |
| virtual

Standard stream read function.

The PObject class has a >> operator defined that calls this function polymorphically.

Parameters

  strm | Stream to output text representation

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

- guid.h