]> rtime.felk.cvut.cz Git - l4.git/blob - kernel/fiasco/src/jdb/jdb_prompt_ext.cpp
update
[l4.git] / kernel / fiasco / src / jdb / jdb_prompt_ext.cpp
1 INTERFACE:
2
3 #include <hlist>
4
5 class Jdb_prompt_ext : public cxx::H_list_item
6 {
7 public:
8   Jdb_prompt_ext();
9   virtual void ext() = 0;
10   virtual void update();
11   virtual ~Jdb_prompt_ext() = 0;
12
13   static void do_all();
14   static void update_all();
15
16 private:
17   typedef cxx::H_list_bss<Jdb_prompt_ext> List;
18   typedef List::Const_iterator Iter;
19   static List exts;
20 };
21
22 IMPLEMENTATION:
23
24 Jdb_prompt_ext::List Jdb_prompt_ext::exts;
25
26 IMPLEMENT
27 Jdb_prompt_ext::Jdb_prompt_ext()
28 {
29   exts.push_front(this);
30 }
31
32 IMPLEMENT inline Jdb_prompt_ext::~Jdb_prompt_ext() {}
33
34 IMPLEMENT
35 void Jdb_prompt_ext::update()
36 {}
37
38 IMPLEMENT
39 void Jdb_prompt_ext::do_all()
40 {
41   for (Iter e = exts.begin(); e != exts.end(); ++e)
42     e->ext();
43 }
44
45 IMPLEMENT
46 void Jdb_prompt_ext::update_all()
47 {
48   for (Iter e = exts.begin(); e != exts.end(); ++e)
49     e->update();
50 }
51