(t->*callback) (Grob_info (e, g));
return SCM_UNSPECIFIED;
}
- template <class T, void (T::*callback)(Grob_info)>
- static SCM ack_find_base ()
- { return Callback2_wrapper::make_smob<ack_trampoline<T, callback> > (); }
/**
Announce element. Default: pass on to daddy. Utility
/* end #define */
#define TRANSLATOR_INHERIT(BASE) \
- using BASE::method_finder; \
- using BASE::ack_finder;
+ using BASE::method_finder;
#define DECLARE_TRANSLATOR_CALLBACKS(NAME) \
template <void (NAME::*mf)()> \
static SCM method_finder () { return method_find_base<NAME, mf> (); } \
- template <void (NAME::*callback)(Grob_info)> \
- static SCM ack_finder () { return ack_find_base<NAME, callback> (); } \
/* end #define */
/*
static SCM
method_finder () { return SCM_UNDEFINED; }
- // Overriden in Engraver.
- template <class T, void (T::*callback)(Grob_info)>
- static SCM
- ack_find_base () { return SCM_UNDEFINED; }
-
- template <void (Translator::*)(Grob_info)>
- static SCM
- ack_finder () { return SCM_UNDEFINED; }
-
virtual void derived_mark () const;
static SCM event_class_symbol (const char *ev_class);
SCM static_translator_description (const char *grobs,
SCM &ack_hash);
#define ADD_ACKNOWLEDGER(CLASS, NAME) \
- add_acknowledger (ack_finder<&CLASS::acknowledge_ ## NAME> (), \
+ add_acknowledger (Callback2_wrapper::make_smob \
+ <ack_trampoline<CLASS, &CLASS::acknowledge_ ## NAME> > (), \
#NAME, acknowledge_static_array_drul_[START]);
#define ADD_END_ACKNOWLEDGER(CLASS, NAME) \
- add_acknowledger (ack_finder<&CLASS::acknowledge_end_ ## NAME> (), \
+ add_acknowledger (Callback2_wrapper::make_smob \
+ <ack_trampoline<CLASS, &CLASS::acknowledge_end_ ## NAME> > (), \
#NAME, acknowledge_static_array_drul_[STOP]);
-
/*
Implement the method cl::listen_##m, and make it listen to stream
events of class m.