coeng

annotate src/comp.cc @ 3:66d1762eb203

foo
author John Tsiombikas <nuclear@member.fsf.org>
date Thu, 05 Feb 2015 23:20:20 +0200
parents 4a1c9597f4d3
children 49a2e70ac455
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@3 35 if(!comp_cons[name]) {
nuclear@3 36 printf("register component: %s\n", name);
nuclear@3 37 comp_cons[name] = cons_func;
nuclear@3 38 }
nuclear@2 39 }
nuclear@2 40
nuclear@2 41 Component *create_component(const char *name)
nuclear@2 42 {
nuclear@2 43 Component *(*cons)() = comp_cons[name];
nuclear@2 44 if(cons) {
nuclear@2 45 return cons();
nuclear@2 46 }
nuclear@2 47 return 0;
nuclear@2 48 }