]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/prob.hh
Merge branch 'jneeman' of git+ssh://jneem@git.sv.gnu.org/srv/git/lilypond into jneeman
[lilypond.git] / lily / include / prob.hh
index 80827a67a332cac4a04c4c47ba2d5e009aa8df45..6c6f59be7c691eee8545d5d997adb9760933cb23 100644 (file)
@@ -10,6 +10,8 @@
 #define PROPERTY_OBJECT_HH
 
 #include "stencil.hh"
+#include "virtual-methods.hh"
+
 
 /*
   A formatted "system" (A block of titling also is a Property_object)
 */
 class Prob
 {
-  DECLARE_SMOBS (Prob,);
+  DECLARE_SMOBS (Prob);
   DECLARE_CLASSNAME(Prob);
 
   void init_vars ();
 protected:
   SCM mutable_property_alist_;
   SCM immutable_property_alist_;
-
+  SCM type_;
+  
   virtual void derived_mark () const;
   virtual SCM copy_mutable_properties () const;
   virtual void type_check_assignment (SCM,SCM) const;
   
 public:
-  Prob (SCM);
+  Prob (SCM, SCM);
   Prob (Prob const &);
-  virtual String name () const;
-
+  virtual string name () const;
+  SCM type () const { return type_; }
   SCM get_property_alist (bool mutble) const;
   SCM internal_get_property (SCM sym) const;
+
+#ifndef NDEBUG
+  void internal_set_property (SCM sym, SCM val, const char *file, int line, char const *fun);
+#else
   void internal_set_property (SCM sym, SCM val);
+#endif
 };
-
-DECLARE_UNSMOB (Prob, prob);
+DECLARE_UNSMOB(Prob,prob);
+SCM ly_prob_set_property_x (SCM system, SCM sym, SCM value);
+SCM ly_prob_property (SCM system, SCM sym, SCM dfault);
 
 #endif /* PROPERTY_OBJECT_HH */