source file of the GNU LilyPond music typesetter
- (c) 1999--2005 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1999--2006 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef SMOBS_HH
#define SMOBS_HH
#include "lily-guile.hh"
+#include "virtual-methods.hh"
/*
Smobs are GUILEs mechanism of exporting C(++) objects to the Scheme
private: \
void smobify_self (); \
SCM self_scm_; \
+ SCM protection_cons_; \
public: \
+ SCM unprotect (); \
+ void protect (); \
SCM self_scm () const { return self_scm_; } \
private:
#define DECLARE_TYPE_P(CL) extern SCM CL ## _type_p_proc
+void protect_smob (SCM smob, SCM *prot_cons);
+void unprotect_smob (SCM smob, SCM *prot_cons);
+
#endif /* SMOBS_HH */