]> pilppa.org Git - libplpbus.git/blob - src_test/test_server.cc
801ca08a5caec7d14ec44a1f2be562bb79344136
[libplpbus.git] / src_test / test_server.cc
1 #include "plpbus/BusServer.hh"
2
3 using namespace std;
4 using namespace plpbus;
5
6 class ServerListenerImpl : public IServerListener
7 {
8         public:
9                 inline ServerListenerImpl() {}
10                 virtual ~ServerListenerImpl() {}
11                 virtual int request_received(const char *msg_req, char **msg_rsp);
12                 virtual int request_received(const BusMessage *msg_req, BusMessage **msg_rsp);
13 };
14
15 int ServerListenerImpl::request_received(const char *msg_req_param, char **msg_rsp_param) {
16         cout << "request_received(char *" << msg_req_param << ") " << endl;
17         *msg_rsp_param = strdup("jee");
18         return 0;
19 }
20
21 int ServerListenerImpl::request_received(const BusMessage *msg_req_param, BusMessage **msg_rsp_param) {
22         cout << "request_received(BusMessage *) " << endl;
23         *msg_rsp_param = new BusMessage();
24         double dbl = (double)1.0;
25         (*msg_rsp_param)->add_double_parameter("rsp_param_double", dbl);
26         return 0;
27 }
28
29 int main(int argc, char** argv)
30 {
31         BusServer               *server;
32         ServerListenerImpl      *listener;
33
34         if (argc >= 2) {
35                 cout << "starting server"  << endl;
36                 server          = new BusServer();
37                 server->init();
38                 listener        = new ServerListenerImpl();
39                 server->add_server_listener(listener);
40                 server->launch(argv[1]);
41         }
42         else {
43                 cout << "usage: give server name as a parameter"  << endl;
44         }
45         return 0;
46 }