33 new_event event_list::instanciate_event[MAX_EVENTS];
68 if (Paused) ev->
pause ();
77 vector<event*>::iterator i;
89 vector<event*>::iterator i;
92 if ((*i)->id () == id)
return *i;
101 for (vector<event*>::iterator i =
Events.begin (); i !=
Events.end (); i++)
109 for (vector<event*>::iterator i =
Events.begin (); i !=
Events.end (); i++)
116 if (type < MAX_EVENTS)
117 instanciate_event[type] = e;
123 std::vector <event *>::iterator i;
129 (*i)->put_state (out);
147 if (type < MAX_EVENTS && instanciate_event[type] != NULL)
148 ev = instanciate_event[type]();
151 if (ev != NULL && ev->get_state (in))
157 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.