]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/global-context.hh
Issue 5024: Rework the Preinit framework into something simpler
[lilypond.git] / lily / include / global-context.hh
index 1779280accd717f8662d70983e26e89937c81390..e0aca0a7d6cc35aeea203bb3c524e985eedd80ba 100644 (file)
 #include "context.hh"
 #include "pqueue.hh"
 
-class Global_context : public Context
+struct Preinit_Global_context
 {
-  PQueue<Moment> extra_mom_pq_;
   Output_def *output_def_;
+  Preinit_Global_context ();
+};
+
+class Global_context : Preinit_Global_context, public Context
+{
+  PQueue<Moment> extra_mom_pq_;
+  virtual void derived_mark () const;
 
   DECLARE_CLASSNAME (Global_context);
 
@@ -46,7 +52,7 @@ public:
   virtual SCM get_output ();
   virtual Output_def *get_output_def () const;
   virtual Moment now_mom () const;
-  virtual Context *get_default_interpreter (const std::string &context_id = "");
+  virtual Context *get_default_interpreter (const string &context_id = "");
 
   Moment previous_moment () const;
 protected: