# ACE_Utils::UUID_Generator Class Reference

`#include <UUID.h>`

Collaboration diagram for ACE_Utils::UUID_Generator:

[legend]
List of all members.

## Public Types

typedef ACE_UINT64 | UUID_time
enum | { ACE_UUID_CLOCK_SEQ_MASK = 0x3FFF }

## Public Member Functions

| UUID_Generator ()
| ~UUID_Generator ()
void | init (void)
void | generateUUID (UUID &, ACE_UINT16 version=0x0001, u_char variant=0x80)
UUID * | generateUUID (ACE_UINT16 version=0x0001, u_char variant=0x80)
ACE_SYNCH_MUTEX * | lock (void)
ACE_SYNCH_MUTEX * | lock (ACE_SYNCH_MUTEX *lock, int release_lock)
| Set a new locking strategy and return the old one.

## Private Member Functions

void | get_timestamp (UUID_time &timestamp)
void | get_systemtime (UUID_time &timeNow)
| the Christian calendar).

## Private Attributes

UUID_time | timeLast_
| The system time when that last uuid was generated.
UUID_State | uuid_state_
| The UUID generator persistent state.
ACE_SYNCH_MUTEX * | lock_
int | destroy_lock_

## Member Typedef Documentation

typedef ACE_UINT64 ACE_Utils::UUID_Generator::UUID_time

| Type to represent UTC as a count of 100 nanosecond intervals since 00:00:00.00, 15 October 1582.

## Member Enumeration Documentation

anonymous enum

Enumeration values:

  ACE_UUID_CLOCK_SEQ_MASK |

## Constructor & Destructor Documentation

ACE_Utils::UUID_Generator::UUID_Generator | ( |  | ) |

ACE_Utils::UUID_Generator::~UUID_Generator | ( |  | ) |

## Member Function Documentation

UUID * ACE_Utils::UUID_Generator::generateUUID | ( | ACE_UINT16 | version = `0x0001`,
|  | u_char | variant = `0x80`
| ) |

| Format timestamp, clockseq, and nodeID into a VI UUID. For generating UUID's with thread and process ids use variant=0xc0

void ACE_Utils::UUID_Generator::generateUUID | ( | UUID & | ,
|  | ACE_UINT16 | version = `0x0001`,
|  | u_char | variant = `0x80`
| ) |

| Format timestamp, clockseq, and nodeID into an UUID of the specified version and variant. For generating UUID's with thread and process ids use variant=0xc0

void ACE_Utils::UUID_Generator::get_systemtime | ( | UUID_time & | timeNow | ) | `[private]`

| the Christian calendar). Obtain the system time in UTC as a count of 100 nanosecond intervals since 00:00:00.00, 15 October 1582 (the date of Gregorian reform to

void ACE_Utils::UUID_Generator::get_timestamp | ( | UUID_time & | timestamp | ) | `[private]`

| Obtain a UUID timestamp. Compensate for the fact that the time obtained from getSystem time has a resolution less than 100ns.

void ACE_Utils::UUID_Generator::init | ( | void |  | ) |

ACE_SYNCH_MUTEX * ACE_Utils::UUID_Generator::lock | ( | ACE_SYNCH_MUTEX * | lock,
|  | int | release_lock
| ) |

| Set a new locking strategy and return the old one.

ACE_SYNCH_MUTEX * ACE_Utils::UUID_Generator::lock | ( | void |  | ) |

| The locking strategy prevents multiple generators from accessing the UUID_state at the same time. Get the locking strategy.

## Member Data Documentation

int ACE_Utils::UUID_Generator::destroy_lock_ `[private]`

ACE_SYNCH_MUTEX* ACE_Utils::UUID_Generator::lock_ `[private]`

UUID_time ACE_Utils::UUID_Generator::timeLast_ `[private]`

| The system time when that last uuid was generated.

UUID_State ACE_Utils::UUID_Generator::uuid_state_ `[private]`

| The UUID generator persistent state.

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

- UUID.h
- UUID.cpp