00001 00003 00004 #ifndef header_event_listener 00005 #define header_event_listener 00006 00007 class CL_EventTrigger; 00008 00009 class CL_EventListener 00010 // The event listener is used to collect a set of events, identified as CL_EventTrigger, 00011 // and wait for one of them to occour. This is analog to the lowlevel C socket select() 00012 // function, except that this one operates on clanlib objects. 00013 { 00015 public: 00016 CL_EventListener(); 00017 // Constructs an empty event listener object. 00018 00019 CL_EventListener(CL_EventTrigger *trigger); 00020 // Constructs an event listener with one trigger in it. 00021 00022 virtual ~CL_EventListener(); 00023 00025 public: 00026 00028 public: 00029 void add_trigger(CL_EventTrigger *trigger); 00030 // Adds an event trigger to the listener. 00031 00032 void remove_trigger(CL_EventTrigger *trigger); 00033 // Removes an event trigger from the listener. 00034 00035 void clear(); 00036 // Removes all event triggers from the listener. 00037 00038 void reset_all(); 00039 // Resets all event triggers added to the listener. 00040 00041 bool wait(int timeout = -1); 00042 // Wait until one of the events triggers. The timeout is in milliseconds. 00043 // Returns true if an event triggered, false if it timed out. 00044 00046 private: 00047 class CL_EventListener_Generic *impl; 00048 }; 00049 00050 #endif
1.2.6 written by Dimitri van Heesch,
© 1997-2001