]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/listener.hh
Imported Upstream version 2.14.2
[lilypond.git] / lily / include / listener.hh
index fd7a7e2adfa3db21399a025581248ffc1fd74d9a..ed7aced9c9ca2a0e12fc27dff07f1ba54e515021 100644 (file)
@@ -1,9 +1,20 @@
 /*
-  listener.hh -- declare Listener
+  This file is part of LilyPond, the GNU music typesetter.
 
-  source file of the GNU LilyPond music typesetter
+  Copyright (C) 2005 Erik Sandberg <mandolaerik@gmail.com>
 
-  (c) 2005 Erik Sandberg <mandolaerik@gmail.com>
+  LilyPond is free software: you can redistribute it and/or modify
+  it under the terms of the GNU General Public License as published by
+  the Free Software Foundation, either version 3 of the License, or
+  (at your option) any later version.
+
+  LilyPond is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+  GNU General Public License for more details.
+
+  You should have received a copy of the GNU General Public License
+  along with LilyPond.  If not, see <http://www.gnu.org/licenses/>.
 */
 
 #ifndef LISTENER_HH
@@ -63,38 +74,40 @@ class Listener {
 public:
   Listener (const void *target, Listener_function_table *type);
   Listener (Listener const &other);
+  Listener ();
+
   void listen (SCM ev) const;
 
   bool operator == (Listener const &other) const
   { return target_ == other.target_ && type_ == other.type_; }
 
-  DECLARE_SIMPLE_SMOBS (Listener,);
+  DECLARE_SIMPLE_SMOBS (Listener);
 };
 DECLARE_UNSMOB (Listener, listener);
 
-#define IMPLEMENT_LISTENER(cl, method)                         \
-void                                                           \
-cl :: method ## _callback (void *self, SCM ev)                 \
-{                                                              \
-  cl *s = (cl *)self;                                          \
-  s->method (ev);                                              \
-}                                                              \
-void                                                           \
-cl :: method ## _mark (void *self)                             \
-{                                                              \
-  cl *s = (cl *)self;                                          \
-  scm_gc_mark (s->self_scm ());                                        \
-}                                                              \
-Listener                                                       \
-cl :: method ## _listener () const                             \
-{                                                              \
-  static Listener_function_table callbacks;                    \
-  callbacks.listen_callback = &cl::method ## _callback;                \
-  callbacks.mark_callback = &cl::method ## _mark;              \
-  return Listener (this, &callbacks);                          \
+#define IMPLEMENT_LISTENER(cl, method)                 \
+void                                                   \
+cl :: method ## _callback (void *self, SCM ev)         \
+{                                                      \
+  cl *s = (cl *)self;                                  \
+  s->method (ev);                                      \
+}                                                      \
+void                                                   \
+cl :: method ## _mark (void *self)                     \
+{                                                      \
+  cl *s = (cl *)self;                                  \
+  scm_gc_mark (s->self_scm ());                                \
+}                                                      \
+Listener                                               \
+cl :: method ## _listener () const                     \
+{                                                      \
+  static Listener_function_table callbacks;            \
+  callbacks.listen_callback = &cl::method ## _callback;        \
+  callbacks.mark_callback = &cl::method ## _mark;      \
+  return Listener (this, &callbacks);                  \
 }
 
-#define GET_LISTENER(proc) ( proc ## _listener ())
+#define GET_LISTENER(proc) proc ## _listener ()
 
 #define DECLARE_LISTENER(name)                         \
   inline void name (SCM);                              \