coeng

annotate 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
rev   line source
nuclear@2 1 #include <map>
nuclear@2 2 #include <string>
nuclear@2 3 #include "comp.h"
nuclear@2 4
nuclear@2 5 static std::map<std::string, Component *(*)()> comp_cons;
nuclear@2 6
nuclear@2 7 Component::Component()
nuclear@2 8 {
nuclear@2 9 name = "unknown";
nuclear@2 10 gobj = 0;
nuclear@2 11 upd_prio = 0;
nuclear@2 12 }
nuclear@2 13
nuclear@2 14 Component::~Component()
nuclear@2 15 {
nuclear@2 16 }
nuclear@2 17
nuclear@2 18 const char *Component::get_name() const
nuclear@2 19 {
nuclear@2 20 return name;
nuclear@2 21 }
nuclear@2 22
nuclear@2 23 void Component::update()
nuclear@2 24 {
nuclear@2 25 }
nuclear@2 26
nuclear@2 27 bool Component::operator <(const Component &c) const
nuclear@2 28 {
nuclear@2 29 return upd_prio < c.upd_prio;
nuclear@2 30 }
nuclear@2 31
nuclear@2 32
nuclear@2 33 void register_component(const char *name, Component *(*cons_func)())
nuclear@2 34 {
nuclear@2 35 comp_cons[name] = cons_func;
nuclear@2 36 }
nuclear@2 37
nuclear@2 38 Component *create_component(const char *name)
nuclear@2 39 {
nuclear@2 40 Component *(*cons)() = comp_cons[name];
nuclear@2 41 if(cons) {
nuclear@2 42 return cons();
nuclear@2 43 }
nuclear@2 44 return 0;
nuclear@2 45 }