#include "callback.hh"
#include "std-vector.hh"
-#include "translator.hh"
+#include "engraver.hh"
/*
TODO: derive "foo-bar-interface" from Foo_bar classname.
#define DEFINE_ACKNOWLEDGERS(classname) \
Drul_array< vector<Acknowledge_information> > classname::acknowledge_static_array_drul_; \
- Translator::Grob_info_callback \
+ SCM \
classname::static_get_acknowledger (SCM sym) \
{ \
return generic_get_acknowledger (sym, &acknowledge_static_array_drul_[START]); \
} \
- Translator::Grob_info_callback \
+ SCM \
classname::static_get_end_acknowledger (SCM sym) \
{ \
return generic_get_acknowledger (sym, &acknowledge_static_array_drul_[STOP]); \
: static_cast<Callback> (&T::process_acknowledged); \
}
-void add_acknowledger (Translator::Grob_info_callback ptr,
+void add_acknowledger (SCM ptr,
char const *func_name,
vector<Acknowledge_information> *ack_array);
-Translator::Grob_info_callback
+SCM
generic_get_acknowledger (SCM sym,
vector<Acknowledge_information> const *ack_array);
#define ADD_ACKNOWLEDGER(CLASS, NAME) \
void CLASS ## NAME ## _ack_adder () \
{ \
- add_acknowledger (static_cast<Translator::Grob_info_callback> (&CLASS::acknowledge_ ## NAME), #NAME, &CLASS::acknowledge_static_array_drul_[START]); \
+ add_acknowledger (CLASS::ack_finder<&CLASS::acknowledge_ ## NAME> (), \
+ #NAME, &CLASS::acknowledge_static_array_drul_[START]); \
} \
ADD_SCM_INIT_FUNC (CLASS ## NAME ## _ack_adder_initclass, CLASS ## NAME ## _ack_adder);
-#define ADD_END_ACKNOWLEDGER(CLASS, NAME) \
- void CLASS ## NAME ## _end_ack_adder () \
+#define ADD_END_ACKNOWLEDGER(CLASS, NAME) \
+ void CLASS ## NAME ## _end_ack_adder () \
{ \
- add_acknowledger (static_cast<Translator::Grob_info_callback> (&CLASS::acknowledge_end_ ## NAME), #NAME, &CLASS::acknowledge_static_array_drul_[STOP]); \
+ add_acknowledger (CLASS::ack_finder<&CLASS::acknowledge_end_ ## NAME> (), \
+ #NAME, &CLASS::acknowledge_static_array_drul_[STOP]); \
} \
ADD_SCM_INIT_FUNC (CLASS ## NAME ## _end_ack_adder_initclass, CLASS ## NAME ## _end_ack_adder);