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 {
24 Input_translator* itrans_l_;
26 Performer_group_performer();
27 ~Performer_group_performer();
29 bool is_bottom_performer_b() const;
30 virtual Performer_group_performer* find_performer_l( String name, String id );
32 virtual void add( Performer* perf_p );
33 virtual bool try_request( Request* req_l );
35 virtual Translator* find_get_translator_l( String name, String id );
36 virtual Translator* get_default_interpreter();
38 Translator * ancestor_l( int l = 1 );
41 void process_requests();
44 Pointer_list<Performer*> perf_p_list_;
46 Link_array<Performer_group_performer> group_l_arr_;
47 Link_array<Performer> nongroup_l_arr_;
50 #endif // PERFORMER_GROUP_PERFORMER_HH