X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fdispatcher.cc;h=b268218f4719905b3f882e788bad22bcc4ef4f5f;hb=47db9a3883d726ca53e2133a3b2298f78dd6a32e;hp=49536a0a8a36d7485bb1211522d22e34813591a8;hpb=5bbfc22fce036b9b69df5e420de93e11da23c05e;p=lilypond.git diff --git a/lily/dispatcher.cc b/lily/dispatcher.cc index 49536a0a8a..b268218f47 100644 --- a/lily/dispatcher.cc +++ b/lily/dispatcher.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Erik Sandberg + Copyright (C) 2005--2015 Erik Sandberg LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -20,12 +20,9 @@ #include "dispatcher.hh" #include "input.hh" #include "international.hh" -#include "ly-smobs.icc" #include "warn.hh" -IMPLEMENT_SMOBS (Dispatcher); -IMPLEMENT_TYPE_P (Dispatcher, "ly:dispatcher?"); -IMPLEMENT_DEFAULT_EQUAL_P (Dispatcher); +const char Dispatcher::type_p_name_[] = "ly:dispatcher?"; Dispatcher::~Dispatcher () { @@ -33,7 +30,6 @@ Dispatcher::~Dispatcher () Dispatcher::Dispatcher () { - self_scm_ = SCM_EOL; listeners_ = SCM_EOL; dispatchers_ = SCM_EOL; listen_classes_ = SCM_EOL; @@ -45,21 +41,19 @@ Dispatcher::Dispatcher () } SCM -Dispatcher::mark_smob (SCM sm) +Dispatcher::mark_smob () { - Dispatcher *me = (Dispatcher *) SCM_CELL_WORD_1 (sm); - scm_gc_mark (me->dispatchers_); - scm_gc_mark (me->listen_classes_); - return me->listeners_; + scm_gc_mark (dispatchers_); + scm_gc_mark (listen_classes_); + return listeners_; } int -Dispatcher::print_smob (SCM s, SCM p, scm_print_state *) +Dispatcher::print_smob (SCM p, scm_print_state *) { - Dispatcher *me = (Dispatcher *) SCM_CELL_WORD_1 (s); scm_puts ("#alist"), - me->listeners_), p); + listeners_), p); scm_puts (">", p); return 1; } @@ -82,7 +76,7 @@ IMPLEMENT_LISTENER (Dispatcher, dispatch); void Dispatcher::dispatch (SCM sev) { - Stream_event *ev = unsmob_stream_event (sev); + Stream_event *ev = Stream_event::unsmob (sev); SCM class_list = ev->get_property ("class"); if (!scm_is_pair (class_list)) {