coeng

view src/comp.cc @ 2:4a1c9597f4d3

foo
author John Tsiombikas <nuclear@member.fsf.org>
date Thu, 05 Feb 2015 11:04:07 +0200
parents
children 66d1762eb203
line source
1 #include <map>
2 #include <string>
3 #include "comp.h"
5 static std::map<std::string, Component *(*)()> comp_cons;
7 Component::Component()
8 {
9 name = "unknown";
10 gobj = 0;
11 upd_prio = 0;
12 }
14 Component::~Component()
15 {
16 }
18 const char *Component::get_name() const
19 {
20 return name;
21 }
23 void Component::update()
24 {
25 }
27 bool Component::operator <(const Component &c) const
28 {
29 return upd_prio < c.upd_prio;
30 }
33 void register_component(const char *name, Component *(*cons_func)())
34 {
35 comp_cons[name] = cons_func;
36 }
38 Component *create_component(const char *name)
39 {
40 Component *(*cons)() = comp_cons[name];
41 if(cons) {
42 return cons();
43 }
44 return 0;
45 }