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 virtual void add (Performer* perf_p);
27 virtual bool do_try_request (Request* req_l);
28 virtual void print() const;
29 virtual bool try_request (Request* r);
33 virtual ~Performer_group_performer();
34 virtual Translator* find_get_translator_l (String name, String id);
35 virtual Translator* get_default_interpreter();
37 Translator * ancestor_l (int l = 1);
38 virtual int depth_i() const;
40 virtual void process_requests();
41 virtual void do_removal_processing();
42 virtual void do_creation_processing();
44 bool is_bottom_performer_b() const;
45 virtual Performer_group_performer* find_performer_l (String name, String id);
46 virtual void do_print() const;
49 Pointer_list<Performer*> perf_p_list_;
51 Link_array<Performer_group_performer> group_l_arr_;
52 Link_array<Performer> nongroup_l_arr_;
55 #endif // PERFORMER_GROUP_PERFORMER_HH