ocarina/libsaria/callback.cpp
Bryan Schumaker 2888e741e8 libsaria: Added callback framework
I have created generic functions for registering and triggering
callbacks.  New callbacks can be added by creating a new constant in the
callback_t enum.
2011-08-27 12:34:19 -04:00

22 lines
411 B
C++

#include <libsaria/libsaria.h>
#include <libsaria/callback.h>
#include <map>
using namespace std;
static map<callback_t, void (*)()> callbacks;
void Libsaria::trigger_callback(callback_t type)
{
map<callback_t, void (*)()>::iterator it;
it=callbacks.find(type);
if (it != callbacks.end())
it->second();
}
void Libsaria::register_callback(callback_t type, void (* func)())
{
callbacks[type] = func;
}