]> pilppa.org Git - libplp.git/blobdiff - src/DeviceData.cc
fix possibility for unitialized variable
[libplp.git] / src / DeviceData.cc
index 1621d054247522c3b175ff925b778c7e9447a3a8..fa57a5213706fc3cfd113d42f51bf976dd4e77e7 100644 (file)
@@ -5,21 +5,46 @@
  *      Author: lamikr
  */
 
+#include "Data.hh"
 #include "DeviceData.hh"
+#include "log.h"
 
 using namespace std;
 using namespace plp;
 
 DeviceData::DeviceData(string id_param, string type_param) : Device(id_param, type_param) {
+       _latest_data    = NULL;
 }
 
-DeviceData::DeviceData(string id_param, string type_param, string name_param, EnumDeviceLifeCycleStatus status_param) : Device(id_param, type_param, name_param, status_param) {
-
+DeviceData::DeviceData(string id_param,
+               string type_param,
+               string name_param,
+               EnumDeviceLifeCycleStatus status_param,
+               Data *data_param) : Device(id_param, type_param, name_param, status_param) {
+       //if (latest_data != NULL)
+       //      _latest_data    = latest_data->clone();
+       _latest_data    = data_param;
 }
 
 DeviceData::~DeviceData() {
+       if (_latest_data != NULL)
+               delete(_latest_data);
+       _latest_data    = NULL;
 }
 
 void DeviceData::printout() {
-
+       string  id;
+
+       log_debug("--- device data --- \n");
+       id      = get_id();
+       log_debug("\tid: %s\n", id.c_str());
+       log_debug("\tname: %s\n", get_name().c_str());
+       log_debug("\ttype: %s\n", get_type().c_str());
+       log_debug("\tlifecycle state: %d\n", get_lifecycle_state());
+       if (_latest_data != NULL) {
+               log_debug("data not null\n");
+               _latest_data->printout();
+       }
+       else
+               log_debug("data null\n");
 }