00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #ifndef IEVENTQUEUEBUFFER_H
00016 #define IEVENTQUEUEBUFFER_H
00017
00018 #include "IInterface.h"
00019 #include "BasicTypes.h"
00020
00021 class CEvent;
00022 class CEventQueueTimer;
00023
00025
00028 class IEventQueueBuffer : public IInterface {
00029 public:
00030 enum Type {
00031 kNone,
00032 kSystem,
00033 kUser
00034 };
00035
00037
00038
00040
00044 virtual void waitForEvent(double timeout) = 0;
00045
00047
00055 virtual Type getEvent(CEvent& event, UInt32& dataID) = 0;
00056
00058
00064 virtual bool addEvent(UInt32 dataID) = 0;
00065
00067
00068
00069
00071
00074 virtual bool isEmpty() const = 0;
00075
00077
00082 virtual CEventQueueTimer*
00083 newTimer(double duration, bool oneShot) const = 0;
00084
00086
00089 virtual void deleteTimer(CEventQueueTimer*) const = 0;
00090
00092 };
00093
00094 #endif