/* * 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() { const list *ret_val; try { if (_dev_man != NULL) { ret_val = _dev_man->get_device_list(_bus_client); } else { ret_val = new list; } } catch(...) { log_error("Could not get a device list\n"); ret_val = new list; } return ret_val; } BusMessage *DeviceManagerController::get_latest_data(string device_id_param) { BusMessage *ret_val; ret_val = NULL; try { if (_dev_man != NULL) { ret_val =_dev_man->get_latest_data(_bus_client, device_id_param); } } catch(...) { log_error("Could not get latest data\n"); } return ret_val; }