////////////////////////////////////////////////////////////
//
// Declaration of a class
// AEvent
//
// Copyright 2001 Alexander Liss
//
//
////////////////////////////////////////////////////////////
#ifndef __EVENT_H__
#define __EVENT_H__
#include "ACondition.h"
#include "AMutex.h"
class AEvent
{
friend int AWait(AEvent&);
friend int AWait(AEvent&,unsigned timeout);
AEvent(const AEvent&);
AEvent& operator=(const AEvent&);
public:
AEvent(){}
int signal()
{ if(condition.status || mutex.status) return -1;
return condition.signal(); }
int broadcast()
{ if(condition.status || mutex.status) return -1;
return condition.broadcast(); }
private:
ACondition condition;
AMutex mutex;
};
#endif