#include <iostream>
#include <string>
#include <map>
+#include <vector>
+#include <list>
+
+#include <boost/function.hpp>
#include "connection.hxx"
#include "types.hxx"
log_level_values log_level;
std::ostream *logstream;
+ /// vector initialized for all callback-types, all elements in each list will be called
+ std::vector<std::list<boost::function<void (server_connection*)> > > callbacks;
+
unsigned int next_id;
protected:
int add_connection(server_connection* newconn);
+ void do_callbacks(callback_event_type event, server_connection* conn);
+
public:
virtual ~server();
server_connection* get_connection(unsigned int conn_id);
+ void add_callback(callback_event_type event, const boost::function<void (server_connection*)>& func);
+
/** @brief look for new data on all open connections, accept new connections
@param usec_timeout wait until new data is found, max timeout usecs.
-1: wait endless