]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/listener.cc
po: updates Danish
[lilypond.git] / lily / listener.cc
index 686ee3ad67395fa721ec210d2921c45ef2295559..50f1969ecb418c4735715fc8c77bf9f08963b080 100644 (file)
@@ -18,7 +18,6 @@
 */
 
 #include "listener.hh"
-#include "ly-smobs.icc"
 #include "warn.hh"
 
 Listener::Listener ()
@@ -36,37 +35,29 @@ Listener::Listener (const void *target, Listener_function_table *type)
 Listener::Listener (Listener const &other)
 {
   target_ = other.target_;
-  type_ = other.type_; 
+  type_ = other.type_;
 }
 
-void Listener::listen (SCM ev) const {
+void Listener::listen (SCM ev) const
+{
   (type_->listen_callback) (target_, ev);
 }
 
 SCM
-Listener::mark_smob (SCM sm)
+Listener::mark_smob ()
 {
-  Listener *me = (Listener *) SCM_CELL_WORD_1 (sm);
-  if (me->type_)
-    (me->type_->mark_callback) (me->target_);
+  if (type_)
+    (type_->mark_callback) (target_);
   return SCM_EOL;
 }
 
-int
-Listener::print_smob (SCM, SCM p, scm_print_state*)
-{
-  scm_puts ("#<Listener>", p);
-  return 1;
-}
-
 SCM
 Listener::equal_p (SCM a, SCM b)
 {
-  Listener *l1 = unsmob_listener (a);
-  Listener *l2 = unsmob_listener (b);
+  Listener *l1 = Listener::unsmob (a);
+  Listener *l2 = Listener::unsmob (b);
 
   return (*l1 == *l2) ? SCM_BOOL_T : SCM_BOOL_F;
 }
 
-IMPLEMENT_SIMPLE_SMOBS (Listener);
-IMPLEMENT_TYPE_P (Listener, "ly:listener?");
+const char Listener::type_p_name_[] = "ly:listener?";