#include #include #include #include #include #include #include #include #include using namespace std; using namespace plp; using namespace plpbus; using namespace plpdevicebus; using namespace w1; int main(int argc, char** argv) { BusServer *server; ServerListenerImpl *listener; DeviceManagerServer *dev_man; string save_loc; string server_name; list dev_lst; server_name = W1_SERVER_NAME; save_loc = DeviceConfig::get_base_dir_name(); if (argc >= 2) { save_loc = argv[1]; log_info("storage location: %s\n", save_loc.c_str()); DeviceConfig::set_base_dir_name(save_loc); } else { log_warning("No storage location parameter given, using default location: %s\n", save_loc.c_str()); } log_info("starting server: %s\n", server_name.c_str()); dev_lst = Factory::get_device_list(); server = new BusServer(); dev_man = new DeviceManagerServer(dev_lst); server->init(); listener = new ServerListenerImpl(dev_man); server->add_server_listener(listener); server->launch(server_name.c_str()); return 0; }