]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/request.hh
release: 0.1.11
[lilypond.git] / lily / include / request.hh
index 6d9343a0652440238d01b5960ef759eeafb3d0f3..e93f493176cc8f08f78c8888bc47a8acf92269b7 100644 (file)
@@ -8,34 +8,33 @@
 
 #ifndef REQUEST_HH
 #define REQUEST_HH
-// GNU LilyPond's second egg of columbus!
 
-#include "glob.hh"
+
 #include "string.hh"
 #include "moment.hh"
 #include "virtual-methods.hh"
 #include "input.hh"
+#include "music.hh"
+#include "direction.hh"
 
 /**
  a voice element wants something printed.
  Hungarian postfix: req
  @see lilygut manpage
  */
-class Request : public Input {
+class Request : public Music {
+
 public:
-    Voice_element*elt_l_;
     
     /* *************** */
-    Voice  * voice_l();
-    Request();
-    Request(Request const&);
+
     virtual ~Request(){}
 
-    NAME_MEMBERS();
-    virtual Request* clone() const { return new Request(*this); }
-    void print()const ;
+    DECLARE_MY_RUNTIME_TYPEINFO;
+    VIRTUAL_COPY_CONS(Request,Music);
     
-    virtual void transpose(Melodic_req const &){}
+    virtual MInterval time_int() const;
+    virtual void transpose (Melodic_req const &){}
     virtual Moment duration() const { return 0; }
 
     /*  accessors for children
@@ -43,21 +42,21 @@ public:
      */
     virtual Barcheck_req *barcheck() { return 0; }
     virtual Script_req *script() { return 0;}
-    virtual Text_req*text() { return 0; }
-    virtual Rest_req *rest() { return 0; }
     virtual Span_req *span() { return 0; }
     virtual Spacing_req * spacing() { return 0; }
     virtual Blank_req * blank() { return 0; }
     virtual Musical_req *musical() { return 0; }
     virtual Command_req * command() { return 0; }
+    bool equal_b (Request*) const;
 protected:
-    virtual void do_print()const ;
+    virtual bool do_equal_b (Request*) const;
+    virtual void do_print() const;
 };
 
 #define REQUESTMETHODS(T,accessor)     \
 virtual T * accessor() { return this;}\
-NAME_MEMBERS();\
-VIRTUAL_COPY_CONS(T, Request)\
+DECLARE_MY_RUNTIME_TYPEINFO;\
+VIRTUAL_COPY_CONS(T, Request);\
 virtual void do_print() const
 
 
@@ -67,15 +66,16 @@ virtual void do_print() const
   this also a request */
 class Script_req  : public virtual Request { 
 public:
-    int dir_i_;
+    Direction dir_;
     General_script_def *scriptdef_p_;
 
     /* *************** */
-    static int compare(const Script_req &, const Script_req &);
+    bool do_equal_b (Request*) const;
+
     Script_req();
     REQUESTMETHODS(Script_req,script);
     ~Script_req();
-    Script_req(Script_req const&);
+    Script_req (Script_req const&);
 };