/* listener.cc -- implement Listener and Listener_target source file of the GNU LilyPond music typesetter (c) 2005 Erik Sandberg
*/ #include "listener.hh" #include "ly-smobs.icc" #include "warn.hh" /* Listener_target::~Listener_target () { } */ Listener::Listener (const void *target, listener_vtable *type) { target_ = (void *)target; type_ = type; } Listener::Listener (Listener const &other) { target_ = other.target_; type_ = other.type_; } void Listener::listen (Stream_event *ev) const { (type_->listen_callback) (target_, ev); } SCM Listener::mark_smob (SCM sm) { Listener *me = (Listener *) SCM_CELL_WORD_1 (sm); (me->type_->mark_callback) (me->target_); return SCM_EOL; } int Listener::print_smob (SCM s, SCM p, scm_print_state*) { scm_puts ("#