off_event(p1 = v1)
public
static VALUE
fev_off_event(int argc, VALUE *argv, VALUE self)
{
VALUE event = Qnil;
VALUE events;
rb_scan_args(argc, argv, "01", &event);
if(!NIL_P(event)) {
if(!RB_TYPE_P(event, T_STRING) && !RB_TYPE_P(event, T_SYMBOL)) {
rb_raise(rb_eTypeError, "wrong argument type (expected String or Symbol)");
}
if (RB_TYPE_P(event, T_SYMBOL)) {
event = rb_sym2str(event);
}
}
events = rb_ivar_get(self, id_events);
if (NIL_P(events)) {
return Qnil;
}
ole_delete_event(events, event);
return Qnil;
}