2 performer-group-performer.hh -- declare Performer_group_performer
4 (c) 1996, 1997 Han-Wen Nienhuys <hanwen@stack.nl>
5 Jan Nieuwenhuizen <jan@digicash.com>
8 #ifndef PERFORMER_GROUP_PERFORMER_HH
9 #define PERFORMER_GROUP_PERFORMER_HH
11 #include "lily-proto.hh"
14 #include "performer.hh"
15 #include "translator.hh"
18 Group a number of performers. Usually delegates everything to its contents.
21 class Performer_group_performer : public Performer, public virtual Translator {
23 DECLARE_MY_RUNTIME_TYPEINFO;
24 Input_translator* itrans_l_;
26 Performer_group_performer();
27 ~Performer_group_performer();
29 virtual void add( Performer* perf_p );
30 virtual void print()const { Performer::print() ; }
31 virtual Moment get_mom() const;
32 virtual bool do_try_request( Request* req_l );
33 virtual bool try_request(Request*r) { return Performer::try_request(r) ; }
36 virtual void set_track( int& track_i_r );
37 virtual int get_track_i() const;
42 virtual Translator* find_get_translator_l( String name, String id );
43 virtual Translator* get_default_interpreter();
45 Translator * ancestor_l( int l = 1 );
46 virtual int depth_i() const;
48 virtual void process_requests();
49 virtual void do_removal_processing();
50 virtual void do_creation_processing();
52 bool is_bottom_performer_b() const;
53 virtual Performer_group_performer* find_performer_l( String name, String id );
54 virtual void do_print()const;
57 Pointer_list<Performer*> perf_p_list_;
59 Link_array<Performer_group_performer> group_l_arr_;
60 Link_array<Performer> nongroup_l_arr_;
63 #endif // PERFORMER_GROUP_PERFORMER_HH