Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

ACE_Utils::UUID_Generator Class Reference

#include <UUID.h>

Collaboration diagram for ACE_Utils::UUID_Generator:

Collaboration graph
[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)
UUIDgenerateUUID (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:
Generated on Fri Dec 31 14:59:46 2004 for ACE by  doxygen 1.3.9.1