OrbServerImpl::~OrbServerImpl()
{
+ _orb->destroy();
log_info("done\n");
}
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);
}
}
+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;
}
ret_val = NULL;
try {
// get nameservice reference
- log_debug("started\n");
- ns_obj = _orb->resolve_initial_references(CONST_NAME_SERVICE_NAME);
+ //log_debug("started\n");
+ ns_obj = _orb->resolve_initial_references("NameService");
if (CORBA::is_nil(ns_obj) == false) {
// get naming service context
- ns_cntx = CosNaming::NamingContext::_narrow(ns_obj);
- if (CORBA::is_nil(ns_cntx) == false) {
+ ns_cntx = CosNaming::NamingContext::_narrow(ns_obj.in());
+ if (CORBA::is_nil(ns_cntx.in()) == false) {
cntx_dta.length(1);
cntx_dta[0].id = CORBA::string_dup(service_name_param);
cntx_dta[0].kind = CORBA::string_dup(service_kind_param);
catch(CosNaming::NamingContext::AlreadyBound& ex) {
log_error("Failed to get naming service context for %s. Context with same name already exist.\n", service_name_param);
}
+ //CORBA::release(ns_cntx);
}
else {
log_error("Failed to get naming service context for %s. Could not narrow the name service.\n", service_name_param);
catch(CORBA::SystemException& ex) {
log_error("Failed to get naming service context for %s, system error.\n", service_name_param);
}
- log_debug("done\n");
+ //log_debug("done\n");
return ret_val;
}