+ VALUE t;
+
+ t = INT2FIX (ecore_event_type_new ());
+ rb_hash_aset (event_classes, t, child);
+
+ rb_define_const (child, "TYPE", t);
+ rb_define_singleton_method (child, "raise", c_ev_raise, 1);
+
+ return Qnil;
+}
+
+VALUE c_ev_inherited_noop (VALUE klass, VALUE child)
+{
+ return Qnil;
+}
+
+static void free_ruby_event (void *data, void *event)
+{
+ /* do nothing */
+}
+
+static VALUE c_ev_raise (VALUE klass, VALUE event)
+{
+ VALUE t;
+
+ t = rb_const_get (klass, rb_intern ("TYPE"));
+ ecore_event_add (FIX2INT (t), (void *) event, free_ruby_event, NULL);
+
+ return Qnil;