4 * Created on: Dec 11, 2010
10 #include "W1TemperatureSensor.hh"
11 #include "W1CounterDevice.hh"
17 // TODO Auto-generated constructor stub
21 // TODO Auto-generated destructor stub
24 W1Device *Factory::get_device(int family_code,
26 dirent *direntry_param) {
31 log_debug("family_code: %d\n", family_code);
35 ret_val = new W1TemperatureSensor(family_code, device_id, direntry_param);
36 log_debug("temperature sensor: %d\n", ret_val->get_family_code());
39 ret_val = new W1CounterDevice(family_code, device_id, direntry_param);
40 log_debug("counter device: %d\n", family_code);
43 log_debug("device not created, unsupported device type: %d\n", family_code);
46 if (ret_val != NULL) {
47 // check that device config exist
48 // if not, create default...
49 config = get_device_config(device_id);
52 type = config->get_cfg_value(DEVICE_CONFIG_VALUE_KEY__TYPE);
53 if (type.empty() == true) {
54 type = ret_val->get_device_type();
55 config->set_cfg_value(DEVICE_CONFIG_VALUE_KEY__TYPE, type);
62 DeviceConfig *Factory::get_device_config(string device_id) {
63 DeviceConfig *ret_val;
65 ret_val = new DeviceConfig(device_id);