]> pilppa.org Git - libplpbus.git/blob - src_test/test_server.cc
more debug for error handling
[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 #define MSG_ID_HELLO    33
10
11 class ServerListenerImpl : public IServerListener
12 {
13         public:
14                 inline ServerListenerImpl() {}
15                 virtual ~ServerListenerImpl() {}
16                 virtual int request_received(const char *msg_req, const char **msg_rsp);
17                 virtual int request_received(const BusMessage *msg_req, const BusMessage *msg_rsp);
18 };
19
20 int ServerListenerImpl::request_received(const char *msg_req_param, const char **msg_rsp_param) {
21         log_debug("request_received(), request_param: %s\n", msg_req_param);
22         *msg_rsp_param  = "jee";
23         log_debug("request_received(), response param set: %s\n", *msg_rsp_param);
24         return 0;
25 }
26
27 int ServerListenerImpl::request_received(const BusMessage *msg_req_param, const BusMessage *msg_rsp_param) {
28         long    type;
29         int     err_flg;
30
31         type    = ((BusMessage *)msg_req_param)->get_type(&err_flg);
32         log_debug("request_received, msg type: %ld\n", type);
33         //*msg_rsp_param = new BusMessage(MSG_ID_HELLO);
34         double dbl = (double)1.0;
35         ((BusMessage *)msg_rsp_param)->add_double_parameter("rsp_param_double", dbl);
36         return 0;
37 }
38
39 int main(int argc, char** argv) {
40         BusServer               *server;
41         ServerListenerImpl      *listener;
42
43         if (argc >= 2) {
44                 log_info("starting server\n");
45                 server  = new BusServer();
46                 if (server != NULL) {
47                         server->init();
48                         listener        = new ServerListenerImpl();
49                         if (listener != NULL) {
50                                 server->add_server_listener(listener);
51                                 server->launch(argv[1]);
52                         }
53                         delete(server);
54                         delete(listener);
55                 }
56         }
57         else {
58                 log_info("usage: give server name as a parameter\n");
59         }
60         return 0;
61 }