coeng
diff 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 diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/src/comp.cc Thu Feb 05 11:04:07 2015 +0200 1.3 @@ -0,0 +1,45 @@ 1.4 +#include <map> 1.5 +#include <string> 1.6 +#include "comp.h" 1.7 + 1.8 +static std::map<std::string, Component *(*)()> comp_cons; 1.9 + 1.10 +Component::Component() 1.11 +{ 1.12 + name = "unknown"; 1.13 + gobj = 0; 1.14 + upd_prio = 0; 1.15 +} 1.16 + 1.17 +Component::~Component() 1.18 +{ 1.19 +} 1.20 + 1.21 +const char *Component::get_name() const 1.22 +{ 1.23 + return name; 1.24 +} 1.25 + 1.26 +void Component::update() 1.27 +{ 1.28 +} 1.29 + 1.30 +bool Component::operator <(const Component &c) const 1.31 +{ 1.32 + return upd_prio < c.upd_prio; 1.33 +} 1.34 + 1.35 + 1.36 +void register_component(const char *name, Component *(*cons_func)()) 1.37 +{ 1.38 + comp_cons[name] = cons_func; 1.39 +} 1.40 + 1.41 +Component *create_component(const char *name) 1.42 +{ 1.43 + Component *(*cons)() = comp_cons[name]; 1.44 + if(cons) { 1.45 + return cons(); 1.46 + } 1.47 + return 0; 1.48 +}