Flair
Framework Libre Air
flair::core::Semaphore Class Reference

Class defining a semaphore. More...

#include <Semaphore.h>

+ Inheritance diagram for flair::core::Semaphore:

Public Member Functions

 Semaphore (const Object *parent, uint32_t initialValue, std::string name="")
 Constructor. More...
 
 ~Semaphore ()
 Destructor. More...
 
bool GetSemaphore (Time timeout=TIME_INFINITE) const
 GetSemaphore. More...
 
bool ReleaseSemaphore (void) const
 ReleaseSemaphore. More...
 
- Public Member Functions inherited from flair::core::Object
 Object (const Object *parent=NULL, std::string name="", std::string type="")
 Constructor. More...
 
virtual ~Object ()
 Destructor. More...
 
std::string ObjectName (void) const
 Name. More...
 
std::string ObjectType (void) const
 Type. More...
 
const ObjectParent (void) const
 Parent. More...
 
std::vector< const Object * > * TypeChilds (void) const
 Childs of the same type. More...
 
std::vector< const Object * > * Childs (void) const
 Childs. More...
 
void Information (const char *function, int line, const char *format,...) const
 Formatted information. More...
 
void Warning (const char *function, const char *format,...) const
 Formatted warning. More...
 
void Error (const char *function, const char *format,...) const
 Formatted error. More...
 
bool ErrorOccured (bool recursive=true) const
 Has an errror occured? More...
 

Additional Inherited Members

- Public Types inherited from flair::core::Object
enum  color_t { Auto = 0, Red = 31, Green = 32, Orange = 33 }
 

Detailed Description

Class defining a semaphore.

Constructor & Destructor Documentation

flair::core::Semaphore::Semaphore ( const Object parent,
uint32_t  initialValue,
std::string  name = "" 
)

Constructor.

Construct a semaphore.

Parameters
parentparent
namename
flair::core::Semaphore::~Semaphore ( )

Destructor.

Member Function Documentation

bool flair::core::Semaphore::GetSemaphore ( Time  timeout = TIME_INFINITE) const

GetSemaphore.

Lock the semaphore.

Parameters
timeoutThe timeout, in nanoseconds.
bool flair::core::Semaphore::ReleaseSemaphore ( void  ) const

ReleaseSemaphore.

Unlock the semaphore.