/* * This file was generated by orbit-idl - DO NOT EDIT! */ #include #include "test-any.h" #define GET_ATOM(x) G_STMT_START{ GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->decoder(&x, (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur), sizeof(x)); ((guchar *)GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(x); }G_STMT_END CORBA_any * TestAny_print(TestAny _obj, const CORBA_any * what, CORBA_Environment * ev) { GIOP_unsigned_long _ORBIT_request_id; GIOPSendBuffer *_ORBIT_send_buffer; GIOPRecvBuffer *_ORBIT_recv_buffer; static const struct { CORBA_unsigned_long len; char opname[6]; } _ORBIT_operation_name_data = { 6, "print" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 10}; CORBA_any *_ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && TestAny__classid) { return ((POA_TestAny__epv *) _obj->vepv[TestAny__classid])->print(_obj->servant, what, ev); } _cnx = ORBit_object_get_connection(_obj); retry_request: _ORBIT_request_id = giop_get_request_id(); if ((_cnx == NULL) || (_obj->active_profile == NULL)) { CORBA_exception_set_system(ev, ex_CORBA_COMM_FAILURE, CORBA_COMPLETED_NO); return _ORBIT_retval; } _ORBIT_send_buffer = giop_send_request_buffer_use(_cnx, NULL, _ORBIT_request_id, CORBA_TRUE, &(_obj->active_profile->object_key_vec), &_ORBIT_operation_vec, &ORBit_default_principal_iovec); if (!_ORBIT_send_buffer) { CORBA_exception_set_system(ev, ex_CORBA_COMM_FAILURE, CORBA_COMPLETED_NO); return _ORBIT_retval; } /* marshal parameter *what */ ORBit_marshal_any(_ORBIT_send_buffer, &(*what)); giop_send_buffer_write(_ORBIT_send_buffer); giop_send_buffer_unuse(_ORBIT_send_buffer); _ORBIT_recv_buffer = giop_recv_reply_buffer_use_2(ORBit_object_get_connection(_obj), _ORBIT_request_id, TRUE); if (_ORBIT_recv_buffer == NULL || _ORBIT_recv_buffer->message_buffer.message_header.message_type != GIOP_REPLY) { CORBA_exception_set_system(ev, ex_CORBA_COMM_FAILURE, CORBA_COMPLETED_MAYBE); if (_ORBIT_recv_buffer) giop_recv_buffer_unuse(_ORBIT_recv_buffer); return _ORBIT_retval; } if (_ORBIT_recv_buffer->message.u.reply.reply_status != GIOP_NO_EXCEPTION) { if (_ORBIT_recv_buffer->message.u.reply.reply_status == GIOP_LOCATION_FORWARD) { if (_obj->forward_locations != NULL) ORBit_delete_profiles(_obj->forward_locations); _obj->forward_locations = ORBit_demarshal_IOR(_ORBIT_recv_buffer); _cnx = ORBit_object_get_forwarded_connection(_obj); giop_recv_buffer_unuse(_ORBIT_recv_buffer); goto retry_request; } else { ORBit_handle_exception(_ORBIT_recv_buffer, ev, NULL, _obj->orb); giop_recv_buffer_unuse(_ORBIT_recv_buffer); return _ORBIT_retval; } } _ORBIT_retval = CORBA_any__alloc(); if (giop_msg_conversion_needed(GIOP_MESSAGE_BUFFER(_ORBIT_recv_buffer))) { /* demarshal return value */ ORBit_demarshal_any(_ORBIT_recv_buffer, &(*_ORBIT_retval), CORBA_TRUE, (_obj->orb)); } else { /* demarshal return value */ ORBit_demarshal_any(_ORBIT_recv_buffer, &(*_ORBIT_retval), CORBA_TRUE, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; }