]> pilppa.org Git - libplpbus.git/blobdiff - src_test/test_server.cc
Memory leak fixes.
[libplpbus.git] / src_test / test_server.cc
index c59d76ee76280c6b072fe8a62d106d4293ee365d..ae00f4fa8087abfddfbe6d37fa173fee3e970e0f 100644 (file)
@@ -1,48 +1,61 @@
-#include <iostream>
+#include <string.h>
+#include <plp/log.h>
 
 #include "plpbus/BusServer.hh"
 
 using namespace std;
 using namespace plpbus;
 
+#define MSG_ID_HELLO   33
+
 class ServerListenerImpl : public IServerListener
 {
        public:
                inline ServerListenerImpl() {}
                virtual ~ServerListenerImpl() {}
-               virtual int request_received(const char *msg_req, char **msg_rsp);
-               virtual int request_received(const BusMessage *msg_req, BusMessage **msg_rsp);
+               virtual int request_received(const char *msg_req, const char **msg_rsp);
+               virtual int request_received(const BusMessage *msg_req, const BusMessage *msg_rsp);
 };
 
-int ServerListenerImpl::request_received(const char *msg_req_param, char **msg_rsp_param) {
-       cout << "request_received(char *" << msg_req_param << ") " << endl;
-       *msg_rsp_param = strdup("jee");
+int ServerListenerImpl::request_received(const char *msg_req_param, const char **msg_rsp_param) {
+       log_debug("request_received(), request_param: %s\n", msg_req_param);
+       *msg_rsp_param  = "jee";
+       log_debug("request_received(), response param set: %s\n", *msg_rsp_param);
        return 0;
 }
 
-int ServerListenerImpl::request_received(const BusMessage *msg_req_param, BusMessage **msg_rsp_param) {
-       cout << "request_received(BusMessage *) " << endl;
-       *msg_rsp_param = new BusMessage();
+int ServerListenerImpl::request_received(const BusMessage *msg_req_param, const BusMessage *msg_rsp_param) {
+       long    type;
+       int     err_flg;
+
+       type    = ((BusMessage *)msg_req_param)->get_type(&err_flg);
+       log_debug("request_received, msg type: %ld\n", type);
+       //*msg_rsp_param = new BusMessage(MSG_ID_HELLO);
        double dbl = (double)1.0;
-       (*msg_rsp_param)->add_double_parameter("rsp_param_double", dbl);
+       ((BusMessage *)msg_rsp_param)->add_double_parameter("rsp_param_double", dbl);
        return 0;
 }
 
-int main(int argc, char** argv)
-{
+int main(int argc, char** argv) {
        BusServer               *server;
        ServerListenerImpl      *listener;
 
        if (argc >= 2) {
-               cout << "starting server"  << endl;
+               log_info("starting server\n");
                server          = new BusServer();
-               server->init();
-               listener        = new ServerListenerImpl();
-               server->add_server_listener(listener);
-               server->launch(argv[1]);
+               if (server != NULL) {
+                       server->init();
+                       listener        = new ServerListenerImpl();
+                       if (listener != NULL) {
+                               server->add_server_listener(listener);
+                               server->launch(argv[1]);
+                       }
+                       delete(server);
+                       delete(listener);
+               }
        }
        else {
-               cout << "usage: give server name as a parameter"  << endl;
+               log_info("usage: give server name as a parameter\n");
        }
        return 0;
 }