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