Time Class Reference

A time holding class. More...

#include <yateclass.h>

List of all members.

Public Member Functions

 Time ()
 Time (u_int64_t usec)
 Time (const struct timeval *tv)
 Time (const struct timeval &tv)
 ~Time ()
u_int32_t sec () const
u_int64_t msec () const
u_int64_t usec () const
 operator u_int64_t () const
Timeoperator= (u_int64_t usec)
Timeoperator+= (int64_t delta)
Timeoperator-= (int64_t delta)
void toTimeval (struct timeval *tv) const

Static Public Member Functions

static void toTimeval (struct timeval *tv, u_int64_t usec)
static u_int64_t fromTimeval (const struct timeval *tv)
static u_int64_t fromTimeval (const struct timeval &tv)
static u_int64_t now ()
static u_int64_t msecNow ()
static u_int32_t secNow ()
static unsigned int toEpoch (int year, unsigned int month, unsigned int day, unsigned int hour, unsigned int minute, unsigned int sec, int offset=0)
static bool toDateTime (unsigned int epochTimeSec, int &year, unsigned int &month, unsigned int &day, unsigned int &hour, unsigned int &minute, unsigned int &sec)
static bool isLeap (unsigned int year)

Detailed Description

A time holding class.

The Time class holds a time moment with microsecond accuracy


Constructor & Destructor Documentation

Time (  )  [inline]

Constructs a Time object from the current time

Time ( u_int64_t  usec  )  [inline]

Constructs a Time object from a given time

Parameters:
usec Time in microseconds
Time ( const struct timeval *  tv  )  [inline, explicit]

Constructs a Time object from a timeval structure pointer

Parameters:
tv Pointer to the timeval structure
Time ( const struct timeval &  tv  )  [inline, explicit]

Constructs a Time object from a timeval structure

Parameters:
tv Reference of the timeval structure
~Time (  )  [inline]

Do-nothing destructor that keeps the compiler from complaining about inlining derivates or members of Time type


Member Function Documentation

static u_int64_t fromTimeval ( const struct timeval &  tv  )  [inline, static]

Convert time in a timeval struct to microseconds

Parameters:
tv Reference of the timeval structure
Returns:
Corresponding time in microseconds

References Time::fromTimeval().

Referenced by Time::fromTimeval().

static u_int64_t fromTimeval ( const struct timeval *  tv  )  [static]

Convert time in a timeval struct to microseconds

Parameters:
tv Pointer to the timeval structure
Returns:
Corresponding time in microseconds or zero if tv is NULL
static bool isLeap ( unsigned int  year  )  [inline, static]

Check if an year is a leap one

Parameters:
year The year to check
Returns:
True if the given year is a leap one
u_int64_t msec (  )  const [inline]

Get time in milliseconds

Returns:
Time in milliseconds since the Epoch
static u_int64_t msecNow (  )  [static]

Get the current system time in milliseconds

Returns:
Time in milliseconds since the Epoch

Referenced by IAXTransaction::timeStamp().

static u_int64_t now (  )  [static]

Get the current system time in microseconds

Returns:
Time in microseconds since the Epoch
operator u_int64_t (  )  const [inline]

Conversion to microseconds operator

Time& operator+= ( int64_t  delta  )  [inline]

Offsetting operator.

Time& operator-= ( int64_t  delta  )  [inline]

Offsetting operator.

Time& operator= ( u_int64_t  usec  )  [inline]

Assignment operator.

u_int32_t sec (  )  const [inline]

Get time in seconds

Returns:
Time in seconds since the Epoch
static u_int32_t secNow (  )  [static]

Get the current system time in seconds

Returns:
Time in seconds since the Epoch
static bool toDateTime ( unsigned int  epochTimeSec,
int &  year,
unsigned int &  month,
unsigned int &  day,
unsigned int &  hour,
unsigned int &  minute,
unsigned int &  sec 
) [static]

Split a given EPOCH time into its date/time components

Parameters:
epochTimeSec EPOCH time in seconds
year The year component of the date
month The month component of the date (1 to 12)
day The day component of the date (1 to 31)
hour The hour component of the time (0 to 23)
minute The minute component of the time (0 to 59)
sec The seconds component of the time (0 to 59)
Returns:
True on succes, false if conversion failed
static unsigned int toEpoch ( int  year,
unsigned int  month,
unsigned int  day,
unsigned int  hour,
unsigned int  minute,
unsigned int  sec,
int  offset = 0 
) [static]

Build EPOCH time from date/time components

Parameters:
year The year component of the date. Must be greater then 1969
month The month component of the date (1 to 12)
day The day component of the date (1 to 31)
hour The hour component of the time (0 to 23). The hour can be 24 if minute and sec are 0
minute The minute component of the time (0 to 59)
sec The seconds component of the time (0 to 59)
offset Optional number of seconds to be added/substracted to/from result. It can't exceed the number of seconds in a day
Returns:
EPOCH time in seconds, -1 on failure
static void toTimeval ( struct timeval *  tv,
u_int64_t  usec 
) [static]

Fill in a timeval struct from a value in microseconds

Parameters:
tv Pointer to the timeval structure
usec Time to convert to timeval
void toTimeval ( struct timeval *  tv  )  const [inline]

Fill in a timeval struct from a value in microseconds

Parameters:
tv Pointer to the timeval structure

References Time::toTimeval().

Referenced by Time::toTimeval().

u_int64_t usec (  )  const [inline]

Get time in microseconds

Returns:
Time in microseconds since the Epoch

The documentation for this class was generated from the following file:
Generated on Thu Apr 8 18:19:41 2010 for Yate by  doxygen 1.6.3