/* * This file was generated by orbit-idl - DO NOT EDIT! */ #include #include "test-tc.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_TypeCode TestTC__get_type(TestTC _obj, 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[10]; } _ORBIT_operation_name_data = { 10, "_get_type" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 14}; CORBA_TypeCode _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && TestTC__classid) { return ((POA_TestTC__epv *) _obj->vepv[TestTC__classid])->_get_type(_obj->servant, 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; } 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; } } if (giop_msg_conversion_needed(GIOP_MESSAGE_BUFFER(_ORBIT_recv_buffer))) { /* demarshal return value */ GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); ORBit_decode_CORBA_TypeCode(&_ORBIT_retval, _ORBIT_recv_buffer); } else { /* demarshal return value */ GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); ORBit_decode_CORBA_TypeCode(&_ORBIT_retval, _ORBIT_recv_buffer); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; }