ACE_Utils::UUID_Generator Class Reference

#include <UUID.h>

Collaboration diagram for ACE_Utils::UUID_Generator:
Collaboration graph
[legend]

List of all members.

Classes

struct  UUID_State

Public Types

enum  { ACE_UUID_CLOCK_SEQ_MASK = 0x3FFF }
typedef ACE_UINT64 UUID_Time

Public Member Functions

 UUID_Generator (void)
 Default constructor.
 ~UUID_Generator ()
 Destructor.
void init (void)
void generate_UUID (UUID &, ACE_UINT16 version=0x0001, u_char variant=0x80)
UUIDgenerate_UUID (ACE_UINT16 version=0x0001, u_char variant=0x80)
ACE_SYNCH_MUTEX * lock (void)
void lock (ACE_SYNCH_MUTEX *lock, bool release_lock)
 Set a new locking strategy and return the old one.

Private Member Functions

void get_timestamp (UUID_Time &timestamp)
void get_timestamp_and_clocksequence (UUID_Time &timestamp, ACE_UINT16 &clockSequence)
void get_systemtime (UUID_Time &timeNow)

Private Attributes

UUID_Time time_last_
 The system time when that last uuid was generated.
UUID_State uuid_state_
 The UUID generator persistent state.
ACE_SYNCH_MUTEX * lock_
bool destroy_lock_
bool is_init_
 Initalization state of the generator.

Member Typedef Documentation

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


Member Enumeration Documentation

anonymous enum
Enumerator:
ACE_UUID_CLOCK_SEQ_MASK 

Constructor & Destructor Documentation

ACE_Utils::UUID_Generator::UUID_Generator ( void   ) 

Default constructor.

ACE_Utils::UUID_Generator::~UUID_Generator (  ) 

Destructor.


Member Function Documentation

UUID* ACE_Utils::UUID_Generator::generate_UUID ( 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::generate_UUID ( 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]

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 the Christian calendar).

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::get_timestamp_and_clocksequence ( UUID_Time timestamp,
ACE_UINT16 &  clockSequence 
) [private]

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

void ACE_Utils::UUID_Generator::init ( void   ) 

Initialize the UUID generator

Deprecated:
This method may go away in some future release.
void ACE_Utils::UUID_Generator::lock ( ACE_SYNCH_MUTEX *  lock,
bool  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

Initalization state of the generator.

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

The system time when that last uuid was generated.

The UUID generator persistent state.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on Mon Nov 30 00:55:43 2009 for ACE by  doxygen 1.6.1