BaseEvent.h 568 Bytes
#ifndef BASE_EVENT_CLASS_H
#define BASE_EVENT_CLASS_H

#include <sys/time.h>
#include <errno.h>
#include <semaphore.h>
#include <string>
#include <pthread.h>
#include "BaseDataTypeDef.h"

#define CON_EVENT_TIME_OUT	-1
#define CON_EVENT_GET_IT	0

class CBaseEvent{
public:
    CBaseEvent();
    virtual ~CBaseEvent();

    VOID ResetEvent();
    INT32 Wait(UINT32 ui32TimeOut);
    VOID SetEvent();
    VOID Wait();

protected:
    sem_t m_sem_t;
    pthread_mutex_t m_mutex;
    pthread_cond_t m_cond;
    BOOL m_bIsSignaled;
};

#endif