projects
/
ruby-ecore.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Tweaked event/callback system.
[ruby-ecore.git]
/
src
/
ecore
/
rb_event_handler.h
diff --git
a/src/ecore/rb_event_handler.h
b/src/ecore/rb_event_handler.h
index 80aa232427348a875d71102b976a35bc483937b5..b9d56a8e6ae74ee6b22deb278d1ce5523d5a515a 100644
(file)
--- a/
src/ecore/rb_event_handler.h
+++ b/
src/ecore/rb_event_handler.h
@@
-1,5
+1,5
@@
/*
/*
- * $Id: rb_event_handler.h
107 2004-08-29 18:37:58
Z tilman $
+ * $Id: rb_event_handler.h
365 2006-02-14 21:50:47
Z tilman $
*
* Copyright (C) 2004 ruby-ecore team (see AUTHORS)
*
*
* Copyright (C) 2004 ruby-ecore team (see AUTHORS)
*
@@
-21,20
+21,22
@@
#ifndef __RB_EVENT_HANDLER_H
#define __RB_EVENT_HANDLER_H
#ifndef __RB_EVENT_HANDLER_H
#define __RB_EVENT_HANDLER_H
-#define ADD_EVENT(mod,
prefix,
constname, clsname, obj) \
- rb_define_
const ((mod), #constname
, \
-
INT2FIX (prefix##constname)
); \
+#define ADD_EVENT(mod, constname, clsname, obj) \
+ rb_define_
singleton_method (cEcoreEvent, "inherited"
, \
+
c_ev_inherited_noop, 1
); \
\
(obj) = rb_define_class_under ((mod), (clsname), cEcoreEvent); \
rb_define_private_method (rb_singleton_class ((obj)), \
"new", NULL, 0); \
\
\
(obj) = rb_define_class_under ((mod), (clsname), cEcoreEvent); \
rb_define_private_method (rb_singleton_class ((obj)), \
"new", NULL, 0); \
\
- rb_hash_aset (event_classes, INT2FIX (prefix##constname), (obj));
+ rb_define_const ((obj), "TYPE", INT2FIX (constname)); \
+ rb_hash_aset (event_classes, INT2FIX (constname), (obj)); \
+ rb_define_singleton_method (cEcoreEvent, "inherited", c_ev_inherited, 1);
void Init_EventHandler (void);
void Init_EventHandler (void);
-
int on_ecore_event (void *data, int type, void *event
);
-VALUE c_ev_
generic_init (VALUE self, VALUE event
);
+
VALUE c_ev_inherited (VALUE klass, VALUE child
);
+VALUE c_ev_
inherited_noop (VALUE klass, VALUE child
);
#ifndef __RB_EVENT_HANDLER_C
extern VALUE event_classes, cEcoreEvent;
#ifndef __RB_EVENT_HANDLER_C
extern VALUE event_classes, cEcoreEvent;