00001 00002 #ifndef header_event_listener_generic 00003 #define header_event_listener_generic 00004 00005 #include "API/Core/System/event_listener.h" 00006 #include "API/Core/System/event_trigger.h" 00007 00008 class CL_EventTrigger_Generic; 00009 00010 class CL_EventListener_Generic 00011 { 00012 // Construction: 00013 public: 00014 CL_EventListener_Generic(CL_EventListener *owner); 00015 00016 virtual ~CL_EventListener_Generic(); 00017 00018 // Attributes: 00019 public: 00020 00021 // Operations: 00022 public: 00023 void add_trigger(const CL_EventTrigger *trigger); 00024 // Adds an event trigger to the listener. 00025 00026 void remove_trigger(const CL_EventTrigger *trigger); 00027 // Removes an event trigger from the listener. 00028 00029 void clear(); 00030 // Removes all event triggers from the listener. 00031 00032 void reset_all(); 00033 // Resets all event triggers added to the listener. 00034 00035 virtual bool wait(int timeout)=0; 00036 // Wait until one of the events triggers. The timeout is in milliseconds. 00037 // Returns true if a event triggered, false if it timed out. 00038 00039 std::list<CL_EventTrigger_Generic *> triggers; 00040 // Implementation: 00041 private: 00042 CL_EventListener *owner; 00043 }; 00044 00045 #endif
1.2.6 written by Dimitri van Heesch,
© 1997-2001