/* ====================================================================
* Copyright (c) 2003-2006, The Subcommander Crew
* http://subcommander.tigris.org
*
* Subcommander is licensed as described in the file doc/COPYING, which
* you should have received as part of this distribution.
* ====================================================================
*/
#ifndef _SC_CONDITION_H
#define _SC_CONDITION_H
// sc
#include "Mutex.h"
#include "apr.h"
// apr
struct apr_thread_cond_t;
namespace sc
{
/**
* Wrapper for the apr condition variable.
*/
class Condition
{
public:
Condition();
~Condition();
void wakeOne();
void wakeAll();
void wait();
bool wait( unsigned long );
void reset();
private:
apr::Pool _pool;
Mutex _mutex;
apr_thread_cond_t* _condition;
bool _c;
};
} // namespace
#endif // _SC_CONDITION_H
syntax highlighted by Code2HTML, v. 0.9.1