/* * DeviceManagerController.cc * * Created on: Mar 7, 2011 * Author: lamikr */ #include #include #include #include #include #include "DeviceManagerController.hh" #include "../src/plp/devicebus/DeviceBusMessageId.hh" using namespace std; using namespace plp; using namespace plpbus; using namespace plpdevicebus; DeviceManagerController::DeviceManagerController() { int err_flg; string server_name; server_name = W1_SERVER_NAME; _dev_man = NULL; _lstnr = NULL; try { _bus_client = new BusClient(); err_flg = _bus_client->init(server_name.c_str()); if (err_flg == 0) { _dev_man = new DeviceManagerClient(); _lstnr = new ClientListenerImpl(_dev_man); err_flg = _bus_client->add_client_listener(_lstnr); } } catch(...) { log_error("Exception catched\n"); _dev_man = NULL; _lstnr = NULL; } } DeviceManagerController::~DeviceManagerController() { if (_dev_man != NULL) { delete(_dev_man); } if (_bus_client != NULL) { delete(_bus_client); } if (_lstnr != NULL) { delete(_lstnr); } } const std::list *DeviceManagerController::get_device_list(int *err_flg) { const list *ret_val; ret_val = NULL; *err_flg = PLP_ERR; try { if (_dev_man != NULL) { ret_val = _dev_man->get_device_list(_bus_client, err_flg); } else { ret_val = new list; } } catch(...) { log_error("Could not get a device list\n"); *err_flg = PLP_ERR; } return ret_val; } Data *DeviceManagerController::get_latest_data(string device_id_param, int *err_flg) { Data *ret_val; ret_val = NULL; *err_flg = PLP_ERR; try { if (_dev_man != NULL) { ret_val = _dev_man->get_latest_data(_bus_client, device_id_param, err_flg); } } catch(...) { log_error("Could not get latest data\n"); *err_flg = PLP_ERR; } return ret_val; } DataRange *DeviceManagerController::get_data_range(string device_id_param, int *err_flg) { DataRange *ret_val; ret_val = NULL; *err_flg = PLP_ERR; try { if (_dev_man != NULL) { ret_val = _dev_man->get_data_range(_bus_client, device_id_param, err_flg); } } catch(...) { log_error("Could not get data range\n"); *err_flg = PLP_ERR; } return ret_val; } DataRange *DeviceManagerController::get_data(std::string device_id_param, plp::Date *start_date, plp::Date *end_date, int *err_flg) { DataRange *ret_val; ret_val = NULL; *err_flg = PLP_ERR; try { if (_dev_man != NULL) { ret_val = _dev_man->get_data(_bus_client, device_id_param, start_date, end_date, err_flg); } } catch(...) { log_error("Could not get data\n"); *err_flg = PLP_ERR; } return ret_val; }