]> pilppa.org Git - nws-w1.git/blob - src_server/NetworkServiceServer_W1.cc
initial implementation
[nws-w1.git] / src_server / NetworkServiceServer_W1.cc
1 #include <iostream>
2 #include <list>
3
4 #include <string.h>
5 #include <plp/log.h>
6 #include <plp/bus/BusServer.hh>
7
8 #include <w1/Factory.hh>
9
10 #include <plp/devicebus/DeviceBusMessageId.hh>
11 #include <plp/devicebus/server/ServerListenerImpl.hh>
12 #include <plp/devicebus/server/DeviceManagerServer.hh>
13
14 using namespace std;
15 using namespace plp;
16 using namespace plpbus;
17 using namespace plpdevicebus;
18 using namespace w1;
19
20 int main(int argc, char** argv)
21 {
22         BusServer               *server;
23         ServerListenerImpl      *listener;
24         DeviceManagerServer     *dev_man;
25         string                  save_loc;
26         string                  server_name;
27         list<Device *>  dev_lst;
28
29         server_name     = W1_SERVER_NAME;
30         save_loc        = DeviceConfig::get_base_dir_name();
31         if (argc >= 2) {
32                 save_loc        = argv[1];
33                 log_info("storage location: %s\n", save_loc.c_str());
34                 DeviceConfig::set_base_dir_name(save_loc);
35         }
36         else {
37                 log_warning("No storage location parameter given, using default location: %s\n", save_loc.c_str());
38         }
39         log_info("starting server: %s\n", server_name.c_str());
40         dev_lst         = Factory::get_device_list();
41         server          = new BusServer();
42         dev_man         = new DeviceManagerServer(dev_lst);
43         server->init();
44         listener        = new ServerListenerImpl(dev_man);
45         server->add_server_listener(listener);
46         server->launch(server_name.c_str());
47         return 0;
48 }