X-Git-Url: https://git.llucax.com/software/libev.git/blobdiff_plain/df8e71c4e2c8581ed8f5c4503f30af035c138494..7c2c0ecea2a4196af25910beaaf0faa4468e8e52:/ev%20%20.h/software/libev.git/blobdiff_plain/df8e71c4e2c8581ed8f5c4503f30af035c138494..7c2c0ecea2a4196af25910beaaf0faa4468e8e52:/ev++.h diff --git a/ev++.h b/ev++.h index 6086a97..fea0ac1 100644 --- a/ev++.h +++ b/ev++.h @@ -22,7 +22,7 @@ namespace ev { ev_init (this, 0); } - void set_ (void *object, void (*cb)(ev_watcher *w, int revents)) + void set_ (void *object, void (*cb)(EV_P_ ev_watcher *w, int revents)) { this->data = object; ev_set_cb (static_cast(this), cb); @@ -35,7 +35,7 @@ namespace ev { } template - static void method_thunk (ev_watcher *w, int revents) + static void method_thunk (EV_P_ ev_watcher *w, int revents) { watcher *self = static_cast(w); K *obj = static_cast(self->data); @@ -49,21 +49,21 @@ namespace ev { } template - static void const_method_thunk (ev_watcher *w, int revents) + static void const_method_thunk (EV_P_ ev_watcher *w, int revents) { watcher *self = static_cast(w); K *obj = static_cast(self->data); (obj->*method) (*self, revents); } - template + template void set () { - set_ (0, function_thunk); + set_ (data, function_thunk); } template - static void function_thunk (ev_watcher *w, int revents) + static void function_thunk (EV_P_ ev_watcher *w, int revents) { watcher *self = static_cast(w); function (*self, revents); @@ -71,7 +71,8 @@ namespace ev { void operator ()(int events = EV_UNDEF) { - return e_cb (static_cast(this)) (events); + return ev_cb (static_cast(this)) + (static_cast(this), events); } bool is_active () const