Changeset View
Changeset View
Standalone View
Standalone View
src/httpserver.cpp
Show First 20 Lines • Show All 507 Lines • ▼ Show 20 Lines | |||||
} | } | ||||
struct event_base *EventBase() { | struct event_base *EventBase() { | ||||
return eventBase; | return eventBase; | ||||
} | } | ||||
static void httpevent_callback_fn(evutil_socket_t, short, void *data) { | static void httpevent_callback_fn(evutil_socket_t, short, void *data) { | ||||
// Static handler: simply call inner handler | // Static handler: simply call inner handler | ||||
HTTPEvent *self = ((HTTPEvent *)data); | HTTPEvent *self = static_cast<HTTPEvent *>(data); | ||||
self->handler(); | self->handler(); | ||||
if (self->deleteWhenTriggered) delete self; | if (self->deleteWhenTriggered) delete self; | ||||
} | } | ||||
HTTPEvent::HTTPEvent(struct event_base *base, bool _deleteWhenTriggered, | HTTPEvent::HTTPEvent(struct event_base *base, bool _deleteWhenTriggered, | ||||
const std::function<void(void)> &_handler) | const std::function<void(void)> &_handler) | ||||
: deleteWhenTriggered(_deleteWhenTriggered), handler(_handler) { | : deleteWhenTriggered(_deleteWhenTriggered), handler(_handler) { | ||||
ev = event_new(base, -1, 0, httpevent_callback_fn, this); | ev = event_new(base, -1, 0, httpevent_callback_fn, this); | ||||
▲ Show 20 Lines • Show All 150 Lines • Show Last 20 Lines |