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