class PsiTime

Psion time related utility class. More...

Definition#include <psitime.h>
List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

Public Types

Public Methods

Public Members


Detailed Description

Psion time related utility class.

PsiTime provides easy access to the time format, used when communicating with a Psion. Internally, the time is always normalized to GMT. The time value can be set and retrieved in both Unix and Psion formats. This allows easy conversion between both formats. NOTE: For proper conversion, the current timezone of the Psion has to be set. For EPOC devices, the timezone can be evaluated using rpcs::getMachineInfo . For SIBO devices, unfortunately there is no known method of retrieving this information. Therefore, if the timezone is <em>not</em> set, a fallback using the environment variable <em>PSI_TZ</em> is provided. Users should set this variable to the offset of their time zone in seconds. If <em>PSI_TZ</em> is net set, a second fallback uses the local machine's setup, which assumes that both Psion and local machine have the same time zone and daylight settings.

 PsiTime (struct timeval *_utv, struct timezone *_utz = 0L)

Contructs a new instance.

Parameters:

 PsiTime (time_t time)

Contructs a new instance.

Parameters:

 PsiTime (psi_timeval *_ptv, psi_timezone *_ptz = 0L)

Contructs a new instance.

Parameters:

 PsiTime (const u_int32_t _ptvHi, const u_int32_t _ptvLo)

Contructs a new instance.

Parameters:

 PsiTime (void)

Constructs a new instance, initializing to now.

 PsiTime (const PsiTime &t)

A copy-constructor

PsiTime ()

Destroys the instance.

void  setPsiTime (psi_timeval *_ptv)

Modifies the value of this instance.

Parameters:

void  setPsiTime (const u_int32_t _ptvHi, const u_int32_t _ptvLo)

Modifies the value of this instance.

Parameters:

void  setPsiZone (psi_timezone *_ptz)

Sets the Psion time zone of this instance.

Parameters:

void  setUnixTime (struct timeval *_utv)

Sets the value of this instance.

Parameters:

void  setUnixTime (time_t time)

Sets the value of this instance.

Parameters:

void  setUnixNow (void)

Sets the value of this instance to the current time of the Unix machine.

struct timeval& getTimeval(void)

Retrieves the instance's current value in Unix time format.

Returns: The instance's current time as Unix struct timeval.

time_t  getTime (void)

Retrieves the instance's current value in Unix time format.

Returns: The instance's current time as Unix time_t.

psi_timeval & getPsiTimeval (void)

Retrieves the instance's current value in Psion time format.

Returns: The instance's current time a Psion struct psi_timeval_t.

const u_int32_t  getPsiTimeLo (void)

Retrieves the instance's current value in Psion time format, high 32 bits.

Returns: The instance's current time as lower 32 bits of a Psion struct psi_timeval_t.

const u_int32_t  getPsiTimeHi (void)

Retrieves the instance's current value in Psion time format, low 32 bits.

Returns: The instance's current time as upper 32 bits of a Psion struct psi_timeval_t.

friend ostreamoperator<< (ostream &s, const PsiTime &t)

Prints the instance's value in human readable format. This function uses the current locale setting for formatting the time.

Parameters:

Returns: The stream.

PsiTimeoperator= (const PsiTime &t)

Assignment operator

enum zone {PSI_TZ_NONE = 0, PSI_TZ_EUROPEAN = 1, PSI_TZ_NORTHERN = 2, PSI_TZ_SOUTHERN = 4, PSI_TZ_HOME = 0x40000000, }