X-Git-Url: http://pilppa.org/gitweb/?a=blobdiff_plain;f=src%2Fplpbus%2FOrbServerImpl.cc;h=1207f912c31d3900d8a78cf13a0dfcee8b22097a;hb=db8faefedaf3d3e94865002485d8b5fa491ce4c5;hp=7085b216b08d581f3c17f3d8140c9a65595c27fa;hpb=ad609e512662ad3734340f35d7072b939d1a58cc;p=libplpbus.git diff --git a/src/plpbus/OrbServerImpl.cc b/src/plpbus/OrbServerImpl.cc index 7085b21..1207f91 100644 --- a/src/plpbus/OrbServerImpl.cc +++ b/src/plpbus/OrbServerImpl.cc @@ -93,7 +93,7 @@ void OrbServerImpl::send_dataitem_message_and_request_response(OrbClient_ptr res msg_rsp = new BusMessage(msg_req->get_type(&err_flg)); _listener->request_received(msg_req, msg_rsp); seq = (DataItemSequence *)msg_rsp->_dataItemSeq; - log_debug("msg_rsp length: %ld\n", seq->length()); + log_debug("msg_rsp length: %lu\n", (long unsigned int)seq->length()); msg_rsp->printout(); response_listener_param->receive_response_dataitem_sequence(*seq); delete(msg_req); @@ -105,25 +105,25 @@ void OrbServerImpl::send_dataitem_message_and_request_response(OrbClient_ptr res } } +void copy( const DataItemSequence& orig_seq ) +{ + DataItemSequence new_seq; + + new_seq = orig_seq; +} + CORBA::Long OrbServerImpl::send_dataitem_message_and_wait_response(const DataItemSequence& req_seq_param, DataItemSequence_out rsp_seq_param) { - BusMessage *msg_req; - BusMessage *msg_rsp; - DataItemSequence *seq; - int err_flg; + BusMessage *msg_req; + BusMessage *msg_rsp; + int err_flg; - seq = NULL; - msg_rsp = NULL; msg_req = new BusMessageInternal(req_seq_param); msg_rsp = new BusMessage(msg_req->get_type(&err_flg)); _listener->request_received(msg_req, msg_rsp); - if (msg_rsp != NULL) { - seq = (DataItemSequence *)msg_rsp->_dataItemSeq; - } - else { - seq = new DataItemSequence(); - } - rsp_seq_param._data = seq; + rsp_seq_param._data = new DataItemSequence(*(msg_rsp->_dataItemSeq)); + delete(msg_req); + delete(msg_rsp); return 0; }