Main Page | Class Hierarchy | Alphabetical List | Compound List | File List | Compound Members | File Members | Related Pages

LOW_platformMisc Class Reference

Abstract base class for simple opering system dependent functions. More...

#include <LOW_platformMisc.h>

Inheritance diagram for LOW_platformMisc:

Inheritance graph
[legend]
Collaboration diagram for LOW_platformMisc:

Collaboration graph
[legend]
List of all members.

Public Types

typedef LOW_platformMisc::timestamp_t timestamp_t
 Data structure for timestamps.


Public Member Functions

 class_DERIVE_FROM_EXCEPTION (platformMisc_error, LOW_exception)
 Exception base class for all exceptions thrown by LOW_platformMisc.


Static Public Member Functions

const void secSleep (const unsigned int inSeconds)
 Sleep for a specified number of seconds.

const void milliSleep (const unsigned long inMilliSeconds)
 Sleep for a specified number of milli seconds.

const void microSleep (const unsigned long inMicroSeconds)
 Sleep for a specified number of micro seconds.

const void nanoSleep (const unsigned long inNanoSeconds)
 Sleep for a specified number of nano seconds.

const void nanoSleep (const unsigned int inSeconds, const unsigned long inNanoSeconds)
 Sleep for a specified number of nano seconds.

const void getTimestamp (timestamp_t &outTimestamp)
 Get a timestamp.

const void diffTimestamp (const timestamp_t &inT1, const timestamp_t &inT2, timestamp_t &outResult)
 Calculate difference of two timestamps.

const LOW_platformMiscFactory::threadIdent_t getThreadID ()
 Get identifier for current thread.

const std::string getHostname ()
 Get the host's name.


Protected Member Functions

virtual const void p_secSleep (const unsigned int inSeconds) const=0
 Sleep for a specified number of seconds.

virtual const void p_milliSleep (const unsigned long inMilliSeconds) const=0
 Sleep for a specified number of milli seconds.

virtual const void p_microSleep (const unsigned long inMicroSeconds) const=0
 Sleep for a specified number of micro seconds.

virtual const void p_nanoSleep (const unsigned long inNanoSeconds) const=0
 Sleep for a specified number of nano seconds.

virtual const void p_nanoSleep (const unsigned int inSeconds, const unsigned long inNanoSeconds) const=0
 Sleep for a specified number of nano seconds.

virtual const void p_getTimestamp (timestamp_t &outTimestamp) const=0
 Get a timestamp.

virtual const LOW_platformMiscFactory::threadIdent_t p_getThreadID () const=0
 Get identifier for current thread.

virtual const std::string p_getHostname () const=0
 Get the host's name.


Static Private Attributes

const LOW_platformMiscruntimeInstance = LOW_platformMiscFactory::new_platformMisc()
 Runtime instance of platform specific implementation of this class.


Detailed Description

Abstract base class for simple opering system dependent functions.

The methods are accessed via the public and static access functions. This class itself takes care of creating an appropiate instance.

Specific platforms dereive their implementation classes from this class.

The instances are created by LOW_platformMiscFactory, following the factory design pattern.

Note: There is no prescribed constructor. A class deriving from this one should only provide the default constructor.

This class is thread-safe.

See also:
LOW_platformMiscFactory
Author:
Harald Roelle

Definition at line 45 of file LOW_platformMisc.h.


Member Typedef Documentation

typedef struct LOW_platformMisc::timestamp_t LOW_platformMisc::timestamp_t
 

Data structure for timestamps.


Member Function Documentation

LOW_platformMisc::class_DERIVE_FROM_EXCEPTION platformMisc_error  ,
LOW_exception 
 

Exception base class for all exceptions thrown by LOW_platformMisc.

const void LOW_platformMisc::diffTimestamp const timestamp_t inT1,
const timestamp_t inT2,
timestamp_t outResult
[static]
 

Calculate difference of two timestamps.

Parameters:
inT1 A timestamp.
inT2 A timestamp.
outResult T1-T2.

Definition at line 61 of file LOW_platformMisc.cpp.

References LOW_platformMisc::timestamp_t::milSec, and LOW_platformMisc::timestamp_t::sec.

Referenced by LOW_compJalousieController::measureTransitionDelays().

const std::string LOW_platformMisc::getHostname  )  [static]
 

Get the host's name.

Returns:
Host's name.

Definition at line 83 of file LOW_platformMisc.cpp.

References p_getHostname(), and runtimeInstance.

const LOW_platformMiscFactory::threadIdent_t LOW_platformMisc::getThreadID  )  [static]
 

Get identifier for current thread.

Returns:
Unique identifier for current thread.

Definition at line 77 of file LOW_platformMisc.cpp.

References p_getThreadID(), and runtimeInstance.

Referenced by LOW_objectSynchronizer::__synchronizeMethodReadWeak::__synchronizeMethodReadWeak(), LOW_objectSynchronizer::__synchronizeMethodWrite::__synchronizeMethodWrite(), LOW_objectSynchronizer::__synchronizeMethodWriteWeak::__synchronizeMethodWriteWeak(), LOW_objectSynchronizer::__synchronizeStaticReadWeak::__synchronizeStaticReadWeak(), LOW_objectSynchronizer::__synchronizeStaticWrite::__synchronizeStaticWrite(), LOW_objectSynchronizer::__synchronizeStaticWriteWeak::__synchronizeStaticWriteWeak(), and LOW_helper_msglog::fprintLogHeader().

const void LOW_platformMisc::getTimestamp timestamp_t outTimestamp  )  [static]
 

Get a timestamp.

Parameters:
outTimestamp Where timestamp should be written to.

Definition at line 55 of file LOW_platformMisc.cpp.

References p_getTimestamp(), and runtimeInstance.

Referenced by LOW_compJalousieController::measureTransitionDelays().

const void LOW_platformMisc::microSleep const unsigned long  inMicroSeconds  )  [static]
 

Sleep for a specified number of micro seconds.

Parameters:
inMicroSeconds Number of micro seconds to sleep.

Definition at line 37 of file LOW_platformMisc.cpp.

References p_microSleep(), and runtimeInstance.

Referenced by LOW_linkDS2490::programPulse(), and LOW_linkDS2480B::pulse_cmd_manual().

const void LOW_platformMisc::milliSleep const unsigned long  inMilliSeconds  )  [static]
 

Sleep for a specified number of milli seconds.

Parameters:
inMilliSeconds Number of milli seconds to sleep.

Definition at line 31 of file LOW_platformMisc.cpp.

References p_milliSleep(), and runtimeInstance.

Referenced by LOW_compJalousieController::moveDownStop(), LOW_compJalousieController::moveUpStop(), LOW_linkDS2480B::pulse_cmd_manual(), LOW_linkDS2480B::resetLinkAdapter(), LOW_linkDS2490::strongPullup(), and LOW_linkDS2490::waitUntilIdle().

const void LOW_platformMisc::nanoSleep const unsigned int  inSeconds,
const unsigned long  inNanoSeconds
[static]
 

Sleep for a specified number of nano seconds.

Parameters:
inSeconds Number of seconds to sleep.
inNanoSeconds Number of additional nano seconds to sleep.

Definition at line 49 of file LOW_platformMisc.cpp.

References p_nanoSleep(), and runtimeInstance.

const void LOW_platformMisc::nanoSleep const unsigned long  inNanoSeconds  )  [static]
 

Sleep for a specified number of nano seconds.

Parameters:
inNanoSeconds Number of nano seconds to sleep.

Definition at line 43 of file LOW_platformMisc.cpp.

References p_nanoSleep(), and runtimeInstance.

virtual const std::string LOW_platformMisc::p_getHostname  )  const [protected, pure virtual]
 

Get the host's name.

Virtual method to be implemented by OS specific subclasses.

Returns:
Host's name.

Implemented in LOW_platformMisc_Linux.

Referenced by getHostname().

virtual const LOW_platformMiscFactory::threadIdent_t LOW_platformMisc::p_getThreadID  )  const [protected, pure virtual]
 

Get identifier for current thread.

Virtual method to be implemented by OS specific subclasses.

Returns:
Unique identifier for current thread.

Implemented in LOW_platformMisc_Linux.

Referenced by getThreadID().

virtual const void LOW_platformMisc::p_getTimestamp timestamp_t outTimestamp  )  const [protected, pure virtual]
 

Get a timestamp.

Virtual method to be implemented by OS specific subclasses.

Parameters:
outTimestamp Where timestamp should written to.

Referenced by getTimestamp().

virtual const void LOW_platformMisc::p_microSleep const unsigned long  inMicroSeconds  )  const [protected, pure virtual]
 

Sleep for a specified number of micro seconds.

Virtual method to be implemented by OS specific subclasses.

Parameters:
inMicroSeconds Number of micro seconds to sleep.

Implemented in LOW_platformMisc_Linux.

Referenced by microSleep().

virtual const void LOW_platformMisc::p_milliSleep const unsigned long  inMilliSeconds  )  const [protected, pure virtual]
 

Sleep for a specified number of milli seconds.

Virtual method to be implemented by OS specific subclasses.

Parameters:
inMilliSeconds Number of milli seconds to sleep.

Implemented in LOW_platformMisc_Linux.

Referenced by milliSleep().

virtual const void LOW_platformMisc::p_nanoSleep const unsigned int  inSeconds,
const unsigned long  inNanoSeconds
const [protected, pure virtual]
 

Sleep for a specified number of nano seconds.

Virtual method to be implemented by OS specific subclasses.

Parameters:
inSeconds Number of seconds to sleep.
inNanoSeconds Number of additional nano seconds to sleep.

Implemented in LOW_platformMisc_Linux.

virtual const void LOW_platformMisc::p_nanoSleep const unsigned long  inNanoSeconds  )  const [protected, pure virtual]
 

Sleep for a specified number of nano seconds.

Virtual method to be implemented by OS specific subclasses.

Parameters:
inNanoSeconds Number of nano seconds to sleep.

Implemented in LOW_platformMisc_Linux.

Referenced by nanoSleep().

virtual const void LOW_platformMisc::p_secSleep const unsigned int  inSeconds  )  const [protected, pure virtual]
 

Sleep for a specified number of seconds.

Virtual method to be implemented by OS specific subclasses.

Parameters:
inSeconds Number of seconds to sleep.

Implemented in LOW_platformMisc_Linux.

Referenced by secSleep().

const void LOW_platformMisc::secSleep const unsigned int  inSeconds  )  [static]
 

Sleep for a specified number of seconds.

Parameters:
inSeconds Number of seconds to sleep.

Definition at line 25 of file LOW_platformMisc.cpp.

References p_secSleep(), and runtimeInstance.

Referenced by LOW_linkPassiveSerial::strongPullup().


Member Data Documentation

const LOW_platformMisc * LOW_platformMisc::runtimeInstance = LOW_platformMiscFactory::new_platformMisc() [static, private]
 

Runtime instance of platform specific implementation of this class.

Having created this instance relieves the burden of explicitely creating/accessing an instance by users of methods in this class.

Definition at line 22 of file LOW_platformMisc.cpp.

Referenced by getHostname(), getThreadID(), getTimestamp(), microSleep(), milliSleep(), nanoSleep(), and secSleep().


The documentation for this class was generated from the following files:
Generated on Tue Feb 3 11:31:05 2004 for OneWireLibrary++ by doxygen 1.3.2