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) {
+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 = strdup("jee");
+ *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) {
+int ServerListenerImpl::request_received(const BusMessage *msg_req_param, const BusMessage *msg_rsp_param) {
long type;
+ int err_flg;
- type = 0;
- ((BusMessage *)msg_req_param)->get_type(&type);
+ 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);
+ //*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;
}
if (argc >= 2) {
log_info("starting server\n");
- server = new BusServer();
- server->init();
- listener = new ServerListenerImpl();
- server->add_server_listener(listener);
- server->launch(argv[1]);
+ server = new BusServer();
+ 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 {
log_info("usage: give server name as a parameter\n");