}
if (data != NULL) {
result->add(data);
- log_debug("%s\n", description.c_str());
+ //log_debug("%s\n", description.c_str());
data->printout();
delete(data);
}
return ret_val;
}
-DataRange *DeviceManagerClient::parse_data_range_msg(BusMessage *msg_param,
+DataRange *DeviceManagerClient::parse_first_and_last_data_msg(BusMessage *msg_param,
int *err_flg) {
DataRange *ret_val;
return ret_val;
}
+DataRange *DeviceManagerClient::parse_data_range_msg(BusMessage *msg_param,
+ int *err_flg) {
+ DataRange *ret_val;
+ int ii;
+ int count;
+ string data_str;
+ string key_str;
+ string desc_str;
+ ostringstream key;
+ ostringstream desc;
+
+ *err_flg = PLP_ERR;
+ ret_val = NULL;
+ if (msg_param != NULL) {
+ ret_val = new DataRange();
+ count = msg_param->get_int_parameter(RSP__COUNT, err_flg);
+ //unit = msg_param->get_string_parameter(RSP__DATA_UNIT, err_flg);
+ for (ii = 0; ii < count; ii++) {
+ key.str("");
+ key << RSP__DATA_VALUE << ii;
+ desc.str("");
+ desc << "value_" << ii;
+ parse_device_data_msg(msg_param,
+ ret_val,
+ key.str(),
+ err_flg,
+ desc.str());
+ }
+ *err_flg = PLP_OK;
+ }
+ return ret_val;
+}
+
DataRange *DeviceManagerClient::get_data_range(BusClient *client_param,
string device_id_param,
int *err_flg) {
msg_rsp = NULL;
ret_val = NULL;
msg_req = new BusMessage(MSG_TYPE_ID__GET_DATA_RANGE);
- msg_req->add_string_parameter(REQ__DEVICE_ID, device_id_param.c_str());
+ msg_req->add_string_parameter(REQ__DEVICE_ID, device_id_param);
+ client_param->send_message_and_wait_response(msg_req, &msg_rsp);
+ ret_val = parse_first_and_last_data_msg(msg_rsp, err_flg);
+ delete(msg_req);
+ delete(msg_rsp);
+
+ return ret_val;
+}
+
+DataRange *DeviceManagerClient::get_data(BusClient *client_param,
+ string device_id_param,
+ Date *start_date,
+ Date *end_date,
+ int *err_flg) {
+ BusMessage *msg_req;
+ BusMessage *msg_rsp;
+ DataRange *ret_val;
+
+ msg_rsp = NULL;
+ ret_val = NULL;
+ msg_req = new BusMessage(MSG_TYPE_ID__GET_DATA_BETWEEN_DATES);
+ msg_req->add_string_parameter(REQ__DEVICE_ID, device_id_param);
+ msg_req->add_string_parameter(REQ__DATE1, start_date->to_string());
+ msg_req->add_string_parameter(REQ__DATE2, end_date->to_string());
client_param->send_message_and_wait_response(msg_req, &msg_rsp);
ret_val = parse_data_range_msg(msg_rsp, err_flg);
delete(msg_req);