29 new_event event_list::instanciate_event[MAX_EVENTS];
64 if (Paused) ev->
pause ();
73 vector<event*>::iterator i;
85 vector<event*>::iterator i;
88 if ((*i)->id () == id)
return *i;
97 for (vector<event*>::iterator i =
Events.begin (); i !=
Events.end (); i++)
105 for (vector<event*>::iterator i =
Events.begin (); i !=
Events.end (); i++)
112 if (type < MAX_EVENTS)
113 instanciate_event[type] = e;
119 std::vector <event *>::iterator i;
125 (*i)->put_state (out);
143 if (type < MAX_EVENTS && instanciate_event[type] != NULL)
144 ev = instanciate_event[type]();
147 if (ev != NULL && ev->get_state (in))
153 fprintf (stderr,
"Could not load event #%i. Aborting ...\n", type);
Class to write data from a Gzip compressed file.
Declares the event_handler class.
void clear()
Unregisters and deletes all events owned by this list.
Class to read data from a Gzip compressed file.
virtual void pause()
Disable the event temporarily.
event *(* new_event)()
Pointer to a function returning a newly allocated event.
#define u_int32
32 bits long unsigned integer
#define u_int8
8 bits long unsigned integer
bool get_state(igzstream &in)
Loads the event_list from a file and registers all loaded events.
void put_state(ogzstream &out) const
Save the event_list to a file.
void add_event(event *ev)
Adds an event to this list.
event_list()
Constructor - creates an empty, unpaused event_list.
event * get_event(const string &id)
Try to retrieve the event with given id from the list.
void resume()
Re-enable the events associated with the event_list, thus 'awaking' the object to life again...
std::vector< event * > Events
List of events.
virtual ~event_list()
Destructor - unregisters and deletes all events owned by this list.
void set_list(event_list *list)
Tell the whether it is kept in an event_list.
bool is_paused() const
Check whether the event is temporarily disabled or not.
static void register_event(event *ev)
Registers an event.
static void register_event(u_int8 type, new_event e)
Register an event for loading.
void remove_event(event *ev)
Removes an event from the list.
Declares the event_list class.
void pause()
Disable any events associated with this event_list.