/*
This file is part of LilyPond, the GNU music typesetter.
- Copyright (C) 1997--2014 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ Copyright (C) 1997--2015 Han-Wen Nienhuys <hanwen@xs4all.nl>
LilyPond is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
struct Translator_method_binding
{
Translator *translator_;
- Translator_void_method_ptr method_;
+ Translator::Callback method_;
Translator_method_binding ()
{
}
- Translator_method_binding (Translator *tr, Translator_void_method_ptr ptr)
+ Translator_method_binding (Translator *tr, Translator::Callback ptr)
{
translator_ = tr;
method_ = ptr;
}
};
-class Translator_group
+class Translator_group : public Smob<Translator_group>
{
+public:
+ SCM mark_smob () const;
+ int print_smob (SCM, scm_print_state *) const;
+ static const char type_p_name_[];
+ virtual ~Translator_group ();
private:
void precompute_method_bindings ();
- vector<Translator_method_binding>
+ std::vector<Translator_method_binding>
precomputed_method_bindings_[TRANSLATOR_METHOD_PRECOMPUTE_COUNT];
Translator_group_void_method
SCM protected_events_;
- DECLARE_LISTENER (create_child_translator);
+ void create_child_translator (SCM);
public:
- VIRTUAL_COPY_CONSTRUCTOR (Translator_group, Translator_group);
- DECLARE_SMOBS (Translator_group);
+ DECLARE_CLASSNAME (Translator_group);
-public:
virtual void connect_to_context (Context *c);
virtual void disconnect_from_context ();
virtual SCM get_simple_trans_list ();