/* * This file was generated by orbit-idl - DO NOT EDIT! */ #include #include "interface_repository.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 /***************** Begin module CORBA ***************/ CORBA_DefinitionKind CORBA_IRObject__get_def_kind(CORBA_IRObject _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[14]; } _ORBIT_operation_name_data = { 14, "_get_def_kind" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 18}; CORBA_DefinitionKind _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_IRObject__classid) { return ((POA_CORBA_IRObject__epv *) _obj->vepv[CORBA_IRObject__classid])->_get_def_kind(_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); GET_ATOM(_ORBIT_retval); } else { /* demarshal return value */ GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); _ORBIT_retval = *((CORBA_DefinitionKind *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_DefinitionKind); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_IRObject_destroy(CORBA_IRObject _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[8]; } _ORBIT_operation_name_data = { 8, "destroy" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 12}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_IRObject__classid) { ((POA_CORBA_IRObject__epv *) _obj->vepv[CORBA_IRObject__classid])->destroy(_obj->servant, ev); return; } _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_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; } 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } CORBA_RepositoryId CORBA_Contained__get_id(CORBA_Contained _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[8]; } _ORBIT_operation_name_data = { 8, "_get_id" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 12}; CORBA_RepositoryId _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_get_id(_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_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(len); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } else { /* demarshal return value */ { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_Contained__set_id(CORBA_Contained _obj, const CORBA_RepositoryId value, 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[8]; } _ORBIT_operation_name_data = { 8, "_set_id" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 12}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_set_id(_obj->servant, value, ev); return; } _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_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; } /* marshal parameter value */ { GIOP_unsigned_long len = value ? (strlen(value) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (value) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), value, len); } 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } CORBA_Identifier CORBA_Contained__get_name(CORBA_Contained _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_name" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 14}; CORBA_Identifier _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_get_name(_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_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(len); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } else { /* demarshal return value */ { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_Contained__set_name(CORBA_Contained _obj, const CORBA_Identifier value, 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, "_set_name" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 14}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_set_name(_obj->servant, value, ev); return; } _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_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; } /* marshal parameter value */ { GIOP_unsigned_long len = value ? (strlen(value) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (value) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), value, len); } 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } CORBA_VersionSpec CORBA_Contained__get_version(CORBA_Contained _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[13]; } _ORBIT_operation_name_data = { 13, "_get_version" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 17}; CORBA_VersionSpec _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_get_version(_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_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(len); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } else { /* demarshal return value */ { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_Contained__set_version(CORBA_Contained _obj, const CORBA_VersionSpec value, 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[13]; } _ORBIT_operation_name_data = { 13, "_set_version" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 17}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_set_version(_obj->servant, value, ev); return; } _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_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; } /* marshal parameter value */ { GIOP_unsigned_long len = value ? (strlen(value) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (value) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), value, len); } 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } CORBA_Container CORBA_Contained__get_defined_in(CORBA_Contained _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[16]; } _ORBIT_operation_name_data = { 16, "_get_defined_in" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 20}; CORBA_Container _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_get_defined_in(_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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_ScopedName CORBA_Contained__get_absolute_name(CORBA_Contained _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[19]; } _ORBIT_operation_name_data = { 19, "_get_absolute_name" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 23}; CORBA_ScopedName _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_get_absolute_name(_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_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(len); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } else { /* demarshal return value */ { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_Repository CORBA_Contained__get_containing_repository(CORBA_Contained _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[27]; } _ORBIT_operation_name_data = { 27, "_get_containing_repository" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 31}; CORBA_Repository _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_get_containing_repository(_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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_Contained_Description * CORBA_Contained_describe(CORBA_Contained _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[9]; } _ORBIT_operation_name_data = { 9, "describe" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 13}; CORBA_Contained_Description *_ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->describe(_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; } } _ORBIT_retval = CORBA_Contained_Description__alloc(); 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); GET_ATOM((*_ORBIT_retval).kind); ORBit_demarshal_any(_ORBIT_recv_buffer, &((*_ORBIT_retval).value), CORBA_TRUE, (_obj->orb)); } else { /* demarshal return value */ GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); (*_ORBIT_retval).kind = *((CORBA_DefinitionKind *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_DefinitionKind); ORBit_demarshal_any(_ORBIT_recv_buffer, &((*_ORBIT_retval).value), CORBA_TRUE, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_Contained_move(CORBA_Contained _obj, const CORBA_Container new_container, const CORBA_Identifier new_name, const CORBA_VersionSpec new_version, 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[5]; } _ORBIT_operation_name_data = { 5, "move" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 9}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->move(_obj->servant, new_container, new_name, new_version, ev); return; } _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_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; } /* marshal parameter new_container */ ORBit_marshal_object(_ORBIT_send_buffer, new_container); /* marshal parameter new_name */ { GIOP_unsigned_long len = new_name ? (strlen(new_name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (new_name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), new_name, len); } /* marshal parameter new_version */ { GIOP_unsigned_long len = new_version ? (strlen(new_version) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (new_version) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), new_version, len); } 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } /* Begin inherited operations for CORBA_Contained */ /* From interface CORBA_IRObject */ CORBA_DefinitionKind CORBA_Contained__get_def_kind(CORBA_Contained _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[14]; } _ORBIT_operation_name_data = { 14, "_get_def_kind" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 18}; CORBA_DefinitionKind _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_IRObject__classid) { return ((POA_CORBA_IRObject__epv *) _obj->vepv[CORBA_IRObject__classid])->_get_def_kind(_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); GET_ATOM(_ORBIT_retval); } else { /* demarshal return value */ GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); _ORBIT_retval = *((CORBA_DefinitionKind *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_DefinitionKind); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_Contained_destroy(CORBA_Contained _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[8]; } _ORBIT_operation_name_data = { 8, "destroy" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 12}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_IRObject__classid) { ((POA_CORBA_IRObject__epv *) _obj->vepv[CORBA_IRObject__classid])->destroy(_obj->servant, ev); return; } _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_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; } 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } /* End inherited operations for CORBA_Contained */ CORBA_Contained CORBA_Container_lookup(CORBA_Container _obj, const CORBA_ScopedName search_name, 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[7]; } _ORBIT_operation_name_data = { 7, "lookup" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 11}; CORBA_Contained _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->lookup(_obj->servant, search_name, 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 search_name */ { GIOP_unsigned_long len = search_name ? (strlen(search_name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (search_name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), search_name, len); } 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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_ContainedSeq * CORBA_Container_contents(CORBA_Container _obj, const CORBA_DefinitionKind limit_type, const CORBA_boolean exclude_inherited, 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[9]; } _ORBIT_operation_name_data = { 9, "contents" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 13}; CORBA_ContainedSeq *_ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->contents(_obj->servant, limit_type, exclude_inherited, 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 limit_type */ giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &limit_type, sizeof(limit_type)); /* marshal parameter exclude_inherited */ giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &exclude_inherited, sizeof(exclude_inherited)); 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_ContainedSeq__alloc(); 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); GET_ATOM((*_ORBIT_retval)._length); (*_ORBIT_retval)._release = CORBA_TRUE; (*_ORBIT_retval)._buffer = CORBA_sequence_CORBA_Contained_allocbuf((*_ORBIT_retval)._length); { int i1; for (i1 = 0; i1 < (*_ORBIT_retval)._length; i1++) { (*_ORBIT_retval)._buffer[i1] = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } } } else { /* demarshal return value */ GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); (*_ORBIT_retval)._length = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); (*_ORBIT_retval)._release = CORBA_TRUE; (*_ORBIT_retval)._buffer = CORBA_sequence_CORBA_Contained_allocbuf((*_ORBIT_retval)._length); { int i1; for (i1 = 0; i1 < (*_ORBIT_retval)._length; i1++) { (*_ORBIT_retval)._buffer[i1] = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_ContainedSeq * CORBA_Container_lookup_name(CORBA_Container _obj, const CORBA_Identifier search_name, const CORBA_long levels_to_search, const CORBA_DefinitionKind limit_type, const CORBA_boolean exclude_inherited, 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[12]; } _ORBIT_operation_name_data = { 12, "lookup_name" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 16}; CORBA_ContainedSeq *_ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->lookup_name(_obj->servant, search_name, levels_to_search, limit_type, exclude_inherited, 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 search_name */ { GIOP_unsigned_long len = search_name ? (strlen(search_name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (search_name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), search_name, len); } /* marshal parameter levels_to_search */ giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &levels_to_search, sizeof(levels_to_search)); /* marshal parameter limit_type */ giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &limit_type, sizeof(limit_type)); /* marshal parameter exclude_inherited */ giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &exclude_inherited, sizeof(exclude_inherited)); 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_ContainedSeq__alloc(); 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); GET_ATOM((*_ORBIT_retval)._length); (*_ORBIT_retval)._release = CORBA_TRUE; (*_ORBIT_retval)._buffer = CORBA_sequence_CORBA_Contained_allocbuf((*_ORBIT_retval)._length); { int i1; for (i1 = 0; i1 < (*_ORBIT_retval)._length; i1++) { (*_ORBIT_retval)._buffer[i1] = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } } } else { /* demarshal return value */ GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); (*_ORBIT_retval)._length = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); (*_ORBIT_retval)._release = CORBA_TRUE; (*_ORBIT_retval)._buffer = CORBA_sequence_CORBA_Contained_allocbuf((*_ORBIT_retval)._length); { int i1; for (i1 = 0; i1 < (*_ORBIT_retval)._length; i1++) { (*_ORBIT_retval)._buffer[i1] = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_Container_DescriptionSeq * CORBA_Container_describe_contents(CORBA_Container _obj, const CORBA_DefinitionKind limit_type, const CORBA_boolean exclude_inherited, const CORBA_long max_returned_objs, 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[18]; } _ORBIT_operation_name_data = { 18, "describe_contents" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 22}; CORBA_Container_DescriptionSeq *_ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->describe_contents(_obj->servant, limit_type, exclude_inherited, max_returned_objs, 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 limit_type */ giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &limit_type, sizeof(limit_type)); /* marshal parameter exclude_inherited */ giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &exclude_inherited, sizeof(exclude_inherited)); /* marshal parameter max_returned_objs */ giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &max_returned_objs, sizeof(max_returned_objs)); 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_Container_DescriptionSeq__alloc(); 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); GET_ATOM((*_ORBIT_retval)._length); (*_ORBIT_retval)._release = CORBA_TRUE; (*_ORBIT_retval)._buffer = CORBA_sequence_CORBA_Container_Description_allocbuf((*_ORBIT_retval)._length); { int i1; for (i1 = 0; i1 < (*_ORBIT_retval)._length; i1++) { ((*_ORBIT_retval)._buffer[i1]).contained_object = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(((*_ORBIT_retval)._buffer[i1]).kind); ORBit_demarshal_any(_ORBIT_recv_buffer, &(((*_ORBIT_retval)._buffer[i1]).value), CORBA_TRUE, (_obj->orb)); } } } else { /* demarshal return value */ GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); (*_ORBIT_retval)._length = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); (*_ORBIT_retval)._release = CORBA_TRUE; (*_ORBIT_retval)._buffer = CORBA_sequence_CORBA_Container_Description_allocbuf((*_ORBIT_retval)._length); { int i1; for (i1 = 0; i1 < (*_ORBIT_retval)._length; i1++) { ((*_ORBIT_retval)._buffer[i1]).contained_object = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); ((*_ORBIT_retval)._buffer[i1]).kind = *((CORBA_DefinitionKind *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_DefinitionKind); ORBit_demarshal_any(_ORBIT_recv_buffer, &(((*_ORBIT_retval)._buffer[i1]).value), CORBA_TRUE, (_obj->orb)); } } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_ModuleDef CORBA_Container_create_module(CORBA_Container _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, 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[14]; } _ORBIT_operation_name_data = { 14, "create_module" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 18}; CORBA_ModuleDef _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->create_module(_obj->servant, id, name, version, 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 id */ { GIOP_unsigned_long len = id ? (strlen(id) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (id) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), id, len); } /* marshal parameter name */ { GIOP_unsigned_long len = name ? (strlen(name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), name, len); } /* marshal parameter version */ { GIOP_unsigned_long len = version ? (strlen(version) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (version) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), version, len); } 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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_ConstantDef CORBA_Container_create_constant(CORBA_Container _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_IDLType type, const CORBA_any * value, 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[16]; } _ORBIT_operation_name_data = { 16, "create_constant" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 20}; CORBA_ConstantDef _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->create_constant(_obj->servant, id, name, version, type, value, 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 id */ { GIOP_unsigned_long len = id ? (strlen(id) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (id) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), id, len); } /* marshal parameter name */ { GIOP_unsigned_long len = name ? (strlen(name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), name, len); } /* marshal parameter version */ { GIOP_unsigned_long len = version ? (strlen(version) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (version) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), version, len); } /* marshal parameter type */ ORBit_marshal_object(_ORBIT_send_buffer, type); /* marshal parameter *value */ ORBit_marshal_any(_ORBIT_send_buffer, &(*value)); 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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_StructDef CORBA_Container_create_struct(CORBA_Container _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_StructMemberSeq * members, 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[14]; } _ORBIT_operation_name_data = { 14, "create_struct" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 18}; CORBA_StructDef _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->create_struct(_obj->servant, id, name, version, members, 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 id */ { GIOP_unsigned_long len = id ? (strlen(id) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (id) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), id, len); } /* marshal parameter name */ { GIOP_unsigned_long len = name ? (strlen(name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), name, len); } /* marshal parameter version */ { GIOP_unsigned_long len = version ? (strlen(version) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (version) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), version, len); } /* marshal parameter *members */ { GIOP_unsigned_long i1; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &(*members)._length, sizeof((*members)._length)); for (i1 = 0; i1 < (*members)._length; i1++) { { GIOP_unsigned_long len = ((*members)._buffer[i1]).name ? (strlen(((*members)._buffer[i1]).name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (((*members)._buffer[i1]).name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*members)._buffer[i1]).name, len); } ORBit_encode_CORBA_TypeCode(((*members)._buffer[i1]).type, _ORBIT_send_buffer); ORBit_marshal_object(_ORBIT_send_buffer, ((*members)._buffer[i1]).type_def); } } 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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_UnionDef CORBA_Container_create_union(CORBA_Container _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_IDLType discriminator_type, const CORBA_UnionMemberSeq * members, 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[13]; } _ORBIT_operation_name_data = { 13, "create_union" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 17}; CORBA_UnionDef _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->create_union(_obj->servant, id, name, version, discriminator_type, members, 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 id */ { GIOP_unsigned_long len = id ? (strlen(id) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (id) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), id, len); } /* marshal parameter name */ { GIOP_unsigned_long len = name ? (strlen(name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), name, len); } /* marshal parameter version */ { GIOP_unsigned_long len = version ? (strlen(version) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (version) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), version, len); } /* marshal parameter discriminator_type */ ORBit_marshal_object(_ORBIT_send_buffer, discriminator_type); /* marshal parameter *members */ { GIOP_unsigned_long i1; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &(*members)._length, sizeof((*members)._length)); for (i1 = 0; i1 < (*members)._length; i1++) { { GIOP_unsigned_long len = ((*members)._buffer[i1]).name ? (strlen(((*members)._buffer[i1]).name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (((*members)._buffer[i1]).name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*members)._buffer[i1]).name, len); } ORBit_marshal_any(_ORBIT_send_buffer, &(((*members)._buffer[i1]).label)); ORBit_encode_CORBA_TypeCode(((*members)._buffer[i1]).type, _ORBIT_send_buffer); ORBit_marshal_object(_ORBIT_send_buffer, ((*members)._buffer[i1]).type_def); } } 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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_EnumDef CORBA_Container_create_enum(CORBA_Container _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_EnumMemberSeq * members, 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[12]; } _ORBIT_operation_name_data = { 12, "create_enum" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 16}; CORBA_EnumDef _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->create_enum(_obj->servant, id, name, version, members, 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 id */ { GIOP_unsigned_long len = id ? (strlen(id) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (id) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), id, len); } /* marshal parameter name */ { GIOP_unsigned_long len = name ? (strlen(name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), name, len); } /* marshal parameter version */ { GIOP_unsigned_long len = version ? (strlen(version) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (version) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), version, len); } /* marshal parameter *members */ { GIOP_unsigned_long i1; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &(*members)._length, sizeof((*members)._length)); for (i1 = 0; i1 < (*members)._length; i1++) { { GIOP_unsigned_long len = (*members)._buffer[i1] ? (strlen((*members)._buffer[i1]) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if ((*members)._buffer[i1]) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (*members)._buffer[i1], len); } } } 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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_AliasDef CORBA_Container_create_alias(CORBA_Container _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_IDLType original_type, 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[13]; } _ORBIT_operation_name_data = { 13, "create_alias" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 17}; CORBA_AliasDef _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->create_alias(_obj->servant, id, name, version, original_type, 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 id */ { GIOP_unsigned_long len = id ? (strlen(id) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (id) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), id, len); } /* marshal parameter name */ { GIOP_unsigned_long len = name ? (strlen(name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), name, len); } /* marshal parameter version */ { GIOP_unsigned_long len = version ? (strlen(version) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (version) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), version, len); } /* marshal parameter original_type */ ORBit_marshal_object(_ORBIT_send_buffer, original_type); 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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_InterfaceDef CORBA_Container_create_interface(CORBA_Container _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_InterfaceDefSeq * base_interfaces, 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[17]; } _ORBIT_operation_name_data = { 17, "create_interface" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 21}; CORBA_InterfaceDef _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->create_interface(_obj->servant, id, name, version, base_interfaces, 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 id */ { GIOP_unsigned_long len = id ? (strlen(id) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (id) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), id, len); } /* marshal parameter name */ { GIOP_unsigned_long len = name ? (strlen(name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), name, len); } /* marshal parameter version */ { GIOP_unsigned_long len = version ? (strlen(version) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (version) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), version, len); } /* marshal parameter *base_interfaces */ { GIOP_unsigned_long i1; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &(*base_interfaces)._length, sizeof((*base_interfaces)._length)); for (i1 = 0; i1 < (*base_interfaces)._length; i1++) { ORBit_marshal_object(_ORBIT_send_buffer, (*base_interfaces)._buffer[i1]); } } 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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_ExceptionDef CORBA_Container_create_exception(CORBA_Container _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_StructMemberSeq * members, 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[17]; } _ORBIT_operation_name_data = { 17, "create_exception" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 21}; CORBA_ExceptionDef _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->create_exception(_obj->servant, id, name, version, members, 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 id */ { GIOP_unsigned_long len = id ? (strlen(id) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (id) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), id, len); } /* marshal parameter name */ { GIOP_unsigned_long len = name ? (strlen(name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), name, len); } /* marshal parameter version */ { GIOP_unsigned_long len = version ? (strlen(version) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (version) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), version, len); } /* marshal parameter *members */ { GIOP_unsigned_long i1; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &(*members)._length, sizeof((*members)._length)); for (i1 = 0; i1 < (*members)._length; i1++) { { GIOP_unsigned_long len = ((*members)._buffer[i1]).name ? (strlen(((*members)._buffer[i1]).name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (((*members)._buffer[i1]).name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*members)._buffer[i1]).name, len); } ORBit_encode_CORBA_TypeCode(((*members)._buffer[i1]).type, _ORBIT_send_buffer); ORBit_marshal_object(_ORBIT_send_buffer, ((*members)._buffer[i1]).type_def); } } 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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } /* Begin inherited operations for CORBA_Container */ /* From interface CORBA_IRObject */ CORBA_DefinitionKind CORBA_Container__get_def_kind(CORBA_Container _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[14]; } _ORBIT_operation_name_data = { 14, "_get_def_kind" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 18}; CORBA_DefinitionKind _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_IRObject__classid) { return ((POA_CORBA_IRObject__epv *) _obj->vepv[CORBA_IRObject__classid])->_get_def_kind(_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); GET_ATOM(_ORBIT_retval); } else { /* demarshal return value */ GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); _ORBIT_retval = *((CORBA_DefinitionKind *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_DefinitionKind); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_Container_destroy(CORBA_Container _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[8]; } _ORBIT_operation_name_data = { 8, "destroy" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 12}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_IRObject__classid) { ((POA_CORBA_IRObject__epv *) _obj->vepv[CORBA_IRObject__classid])->destroy(_obj->servant, ev); return; } _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_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; } 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } /* End inherited operations for CORBA_Container */ CORBA_TypeCode CORBA_IDLType__get_type(CORBA_IDLType _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 && CORBA_IDLType__classid) { return ((POA_CORBA_IDLType__epv *) _obj->vepv[CORBA_IDLType__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; } /* Begin inherited operations for CORBA_IDLType */ /* From interface CORBA_IRObject */ CORBA_DefinitionKind CORBA_IDLType__get_def_kind(CORBA_IDLType _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[14]; } _ORBIT_operation_name_data = { 14, "_get_def_kind" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 18}; CORBA_DefinitionKind _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_IRObject__classid) { return ((POA_CORBA_IRObject__epv *) _obj->vepv[CORBA_IRObject__classid])->_get_def_kind(_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); GET_ATOM(_ORBIT_retval); } else { /* demarshal return value */ GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); _ORBIT_retval = *((CORBA_DefinitionKind *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_DefinitionKind); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_IDLType_destroy(CORBA_IDLType _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[8]; } _ORBIT_operation_name_data = { 8, "destroy" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 12}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_IRObject__classid) { ((POA_CORBA_IRObject__epv *) _obj->vepv[CORBA_IRObject__classid])->destroy(_obj->servant, ev); return; } _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_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; } 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } /* End inherited operations for CORBA_IDLType */ CORBA_Contained CORBA_Repository_lookup_id(CORBA_Repository _obj, const CORBA_RepositoryId search_id, 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, "lookup_id" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 14}; CORBA_Contained _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Repository__classid) { return ((POA_CORBA_Repository__epv *) _obj->vepv[CORBA_Repository__classid])->lookup_id(_obj->servant, search_id, 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 search_id */ { GIOP_unsigned_long len = search_id ? (strlen(search_id) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (search_id) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), search_id, len); } 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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_PrimitiveDef CORBA_Repository_get_primitive(CORBA_Repository _obj, const CORBA_PrimitiveKind kind, 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[14]; } _ORBIT_operation_name_data = { 14, "get_primitive" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 18}; CORBA_PrimitiveDef _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Repository__classid) { return ((POA_CORBA_Repository__epv *) _obj->vepv[CORBA_Repository__classid])->get_primitive(_obj->servant, kind, 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 kind */ giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &kind, sizeof(kind)); 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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_StringDef CORBA_Repository_create_string(CORBA_Repository _obj, const CORBA_unsigned_long bound, 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[14]; } _ORBIT_operation_name_data = { 14, "create_string" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 18}; CORBA_StringDef _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Repository__classid) { return ((POA_CORBA_Repository__epv *) _obj->vepv[CORBA_Repository__classid])->create_string(_obj->servant, bound, 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 bound */ giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &bound, sizeof(bound)); 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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_WstringDef CORBA_Repository_create_wstring(CORBA_Repository _obj, const CORBA_unsigned_long bound, 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[15]; } _ORBIT_operation_name_data = { 15, "create_wstring" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 19}; CORBA_WstringDef _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Repository__classid) { return ((POA_CORBA_Repository__epv *) _obj->vepv[CORBA_Repository__classid])->create_wstring(_obj->servant, bound, 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 bound */ giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &bound, sizeof(bound)); 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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_SequenceDef CORBA_Repository_create_sequence(CORBA_Repository _obj, const CORBA_unsigned_long bound, const CORBA_IDLType element_type, 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[16]; } _ORBIT_operation_name_data = { 16, "create_sequence" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 20}; CORBA_SequenceDef _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Repository__classid) { return ((POA_CORBA_Repository__epv *) _obj->vepv[CORBA_Repository__classid])->create_sequence(_obj->servant, bound, element_type, 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 bound */ giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &bound, sizeof(bound)); /* marshal parameter element_type */ ORBit_marshal_object(_ORBIT_send_buffer, element_type); 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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_ArrayDef CORBA_Repository_create_array(CORBA_Repository _obj, const CORBA_unsigned_long length, const CORBA_IDLType element_type, 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[13]; } _ORBIT_operation_name_data = { 13, "create_array" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 17}; CORBA_ArrayDef _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Repository__classid) { return ((POA_CORBA_Repository__epv *) _obj->vepv[CORBA_Repository__classid])->create_array(_obj->servant, length, element_type, 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 length */ giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &length, sizeof(length)); /* marshal parameter element_type */ ORBit_marshal_object(_ORBIT_send_buffer, element_type); 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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_FixedDef CORBA_Repository_create_fixed(CORBA_Repository _obj, const CORBA_unsigned_short digits, const CORBA_short scale, 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[13]; } _ORBIT_operation_name_data = { 13, "create_fixed" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 17}; CORBA_FixedDef _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Repository__classid) { return ((POA_CORBA_Repository__epv *) _obj->vepv[CORBA_Repository__classid])->create_fixed(_obj->servant, digits, scale, 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 digits */ giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 2); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &digits, sizeof(digits)); /* marshal parameter scale */ giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &scale, sizeof(scale)); 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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } /* Begin inherited operations for CORBA_Repository */ /* From interface CORBA_IRObject */ CORBA_DefinitionKind CORBA_Repository__get_def_kind(CORBA_Repository _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[14]; } _ORBIT_operation_name_data = { 14, "_get_def_kind" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 18}; CORBA_DefinitionKind _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_IRObject__classid) { return ((POA_CORBA_IRObject__epv *) _obj->vepv[CORBA_IRObject__classid])->_get_def_kind(_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); GET_ATOM(_ORBIT_retval); } else { /* demarshal return value */ GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); _ORBIT_retval = *((CORBA_DefinitionKind *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_DefinitionKind); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_Repository_destroy(CORBA_Repository _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[8]; } _ORBIT_operation_name_data = { 8, "destroy" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 12}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_IRObject__classid) { ((POA_CORBA_IRObject__epv *) _obj->vepv[CORBA_IRObject__classid])->destroy(_obj->servant, ev); return; } _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_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; } 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } /* From interface CORBA_Container */ CORBA_Contained CORBA_Repository_lookup(CORBA_Repository _obj, const CORBA_ScopedName search_name, 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[7]; } _ORBIT_operation_name_data = { 7, "lookup" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 11}; CORBA_Contained _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->lookup(_obj->servant, search_name, 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 search_name */ { GIOP_unsigned_long len = search_name ? (strlen(search_name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (search_name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), search_name, len); } 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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_ContainedSeq * CORBA_Repository_contents(CORBA_Repository _obj, const CORBA_DefinitionKind limit_type, const CORBA_boolean exclude_inherited, 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[9]; } _ORBIT_operation_name_data = { 9, "contents" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 13}; CORBA_ContainedSeq *_ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->contents(_obj->servant, limit_type, exclude_inherited, 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 limit_type */ giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &limit_type, sizeof(limit_type)); /* marshal parameter exclude_inherited */ giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &exclude_inherited, sizeof(exclude_inherited)); 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_ContainedSeq__alloc(); 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); GET_ATOM((*_ORBIT_retval)._length); (*_ORBIT_retval)._release = CORBA_TRUE; (*_ORBIT_retval)._buffer = CORBA_sequence_CORBA_Contained_allocbuf((*_ORBIT_retval)._length); { int i1; for (i1 = 0; i1 < (*_ORBIT_retval)._length; i1++) { (*_ORBIT_retval)._buffer[i1] = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } } } else { /* demarshal return value */ GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); (*_ORBIT_retval)._length = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); (*_ORBIT_retval)._release = CORBA_TRUE; (*_ORBIT_retval)._buffer = CORBA_sequence_CORBA_Contained_allocbuf((*_ORBIT_retval)._length); { int i1; for (i1 = 0; i1 < (*_ORBIT_retval)._length; i1++) { (*_ORBIT_retval)._buffer[i1] = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_ContainedSeq * CORBA_Repository_lookup_name(CORBA_Repository _obj, const CORBA_Identifier search_name, const CORBA_long levels_to_search, const CORBA_DefinitionKind limit_type, const CORBA_boolean exclude_inherited, 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[12]; } _ORBIT_operation_name_data = { 12, "lookup_name" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 16}; CORBA_ContainedSeq *_ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->lookup_name(_obj->servant, search_name, levels_to_search, limit_type, exclude_inherited, 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 search_name */ { GIOP_unsigned_long len = search_name ? (strlen(search_name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (search_name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), search_name, len); } /* marshal parameter levels_to_search */ giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &levels_to_search, sizeof(levels_to_search)); /* marshal parameter limit_type */ giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &limit_type, sizeof(limit_type)); /* marshal parameter exclude_inherited */ giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &exclude_inherited, sizeof(exclude_inherited)); 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_ContainedSeq__alloc(); 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); GET_ATOM((*_ORBIT_retval)._length); (*_ORBIT_retval)._release = CORBA_TRUE; (*_ORBIT_retval)._buffer = CORBA_sequence_CORBA_Contained_allocbuf((*_ORBIT_retval)._length); { int i1; for (i1 = 0; i1 < (*_ORBIT_retval)._length; i1++) { (*_ORBIT_retval)._buffer[i1] = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } } } else { /* demarshal return value */ GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); (*_ORBIT_retval)._length = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); (*_ORBIT_retval)._release = CORBA_TRUE; (*_ORBIT_retval)._buffer = CORBA_sequence_CORBA_Contained_allocbuf((*_ORBIT_retval)._length); { int i1; for (i1 = 0; i1 < (*_ORBIT_retval)._length; i1++) { (*_ORBIT_retval)._buffer[i1] = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_Container_DescriptionSeq * CORBA_Repository_describe_contents(CORBA_Repository _obj, const CORBA_DefinitionKind limit_type, const CORBA_boolean exclude_inherited, const CORBA_long max_returned_objs, 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[18]; } _ORBIT_operation_name_data = { 18, "describe_contents" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 22}; CORBA_Container_DescriptionSeq *_ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->describe_contents(_obj->servant, limit_type, exclude_inherited, max_returned_objs, 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 limit_type */ giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &limit_type, sizeof(limit_type)); /* marshal parameter exclude_inherited */ giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &exclude_inherited, sizeof(exclude_inherited)); /* marshal parameter max_returned_objs */ giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &max_returned_objs, sizeof(max_returned_objs)); 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_Container_DescriptionSeq__alloc(); 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); GET_ATOM((*_ORBIT_retval)._length); (*_ORBIT_retval)._release = CORBA_TRUE; (*_ORBIT_retval)._buffer = CORBA_sequence_CORBA_Container_Description_allocbuf((*_ORBIT_retval)._length); { int i1; for (i1 = 0; i1 < (*_ORBIT_retval)._length; i1++) { ((*_ORBIT_retval)._buffer[i1]).contained_object = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(((*_ORBIT_retval)._buffer[i1]).kind); ORBit_demarshal_any(_ORBIT_recv_buffer, &(((*_ORBIT_retval)._buffer[i1]).value), CORBA_TRUE, (_obj->orb)); } } } else { /* demarshal return value */ GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); (*_ORBIT_retval)._length = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); (*_ORBIT_retval)._release = CORBA_TRUE; (*_ORBIT_retval)._buffer = CORBA_sequence_CORBA_Container_Description_allocbuf((*_ORBIT_retval)._length); { int i1; for (i1 = 0; i1 < (*_ORBIT_retval)._length; i1++) { ((*_ORBIT_retval)._buffer[i1]).contained_object = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); ((*_ORBIT_retval)._buffer[i1]).kind = *((CORBA_DefinitionKind *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_DefinitionKind); ORBit_demarshal_any(_ORBIT_recv_buffer, &(((*_ORBIT_retval)._buffer[i1]).value), CORBA_TRUE, (_obj->orb)); } } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_ModuleDef CORBA_Repository_create_module(CORBA_Repository _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, 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[14]; } _ORBIT_operation_name_data = { 14, "create_module" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 18}; CORBA_ModuleDef _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->create_module(_obj->servant, id, name, version, 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 id */ { GIOP_unsigned_long len = id ? (strlen(id) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (id) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), id, len); } /* marshal parameter name */ { GIOP_unsigned_long len = name ? (strlen(name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), name, len); } /* marshal parameter version */ { GIOP_unsigned_long len = version ? (strlen(version) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (version) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), version, len); } 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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_ConstantDef CORBA_Repository_create_constant(CORBA_Repository _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_IDLType type, const CORBA_any * value, 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[16]; } _ORBIT_operation_name_data = { 16, "create_constant" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 20}; CORBA_ConstantDef _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->create_constant(_obj->servant, id, name, version, type, value, 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 id */ { GIOP_unsigned_long len = id ? (strlen(id) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (id) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), id, len); } /* marshal parameter name */ { GIOP_unsigned_long len = name ? (strlen(name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), name, len); } /* marshal parameter version */ { GIOP_unsigned_long len = version ? (strlen(version) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (version) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), version, len); } /* marshal parameter type */ ORBit_marshal_object(_ORBIT_send_buffer, type); /* marshal parameter *value */ ORBit_marshal_any(_ORBIT_send_buffer, &(*value)); 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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_StructDef CORBA_Repository_create_struct(CORBA_Repository _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_StructMemberSeq * members, 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[14]; } _ORBIT_operation_name_data = { 14, "create_struct" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 18}; CORBA_StructDef _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->create_struct(_obj->servant, id, name, version, members, 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 id */ { GIOP_unsigned_long len = id ? (strlen(id) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (id) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), id, len); } /* marshal parameter name */ { GIOP_unsigned_long len = name ? (strlen(name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), name, len); } /* marshal parameter version */ { GIOP_unsigned_long len = version ? (strlen(version) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (version) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), version, len); } /* marshal parameter *members */ { GIOP_unsigned_long i1; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &(*members)._length, sizeof((*members)._length)); for (i1 = 0; i1 < (*members)._length; i1++) { { GIOP_unsigned_long len = ((*members)._buffer[i1]).name ? (strlen(((*members)._buffer[i1]).name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (((*members)._buffer[i1]).name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*members)._buffer[i1]).name, len); } ORBit_encode_CORBA_TypeCode(((*members)._buffer[i1]).type, _ORBIT_send_buffer); ORBit_marshal_object(_ORBIT_send_buffer, ((*members)._buffer[i1]).type_def); } } 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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_UnionDef CORBA_Repository_create_union(CORBA_Repository _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_IDLType discriminator_type, const CORBA_UnionMemberSeq * members, 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[13]; } _ORBIT_operation_name_data = { 13, "create_union" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 17}; CORBA_UnionDef _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->create_union(_obj->servant, id, name, version, discriminator_type, members, 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 id */ { GIOP_unsigned_long len = id ? (strlen(id) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (id) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), id, len); } /* marshal parameter name */ { GIOP_unsigned_long len = name ? (strlen(name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), name, len); } /* marshal parameter version */ { GIOP_unsigned_long len = version ? (strlen(version) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (version) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), version, len); } /* marshal parameter discriminator_type */ ORBit_marshal_object(_ORBIT_send_buffer, discriminator_type); /* marshal parameter *members */ { GIOP_unsigned_long i1; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &(*members)._length, sizeof((*members)._length)); for (i1 = 0; i1 < (*members)._length; i1++) { { GIOP_unsigned_long len = ((*members)._buffer[i1]).name ? (strlen(((*members)._buffer[i1]).name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (((*members)._buffer[i1]).name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*members)._buffer[i1]).name, len); } ORBit_marshal_any(_ORBIT_send_buffer, &(((*members)._buffer[i1]).label)); ORBit_encode_CORBA_TypeCode(((*members)._buffer[i1]).type, _ORBIT_send_buffer); ORBit_marshal_object(_ORBIT_send_buffer, ((*members)._buffer[i1]).type_def); } } 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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_EnumDef CORBA_Repository_create_enum(CORBA_Repository _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_EnumMemberSeq * members, 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[12]; } _ORBIT_operation_name_data = { 12, "create_enum" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 16}; CORBA_EnumDef _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->create_enum(_obj->servant, id, name, version, members, 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 id */ { GIOP_unsigned_long len = id ? (strlen(id) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (id) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), id, len); } /* marshal parameter name */ { GIOP_unsigned_long len = name ? (strlen(name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), name, len); } /* marshal parameter version */ { GIOP_unsigned_long len = version ? (strlen(version) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (version) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), version, len); } /* marshal parameter *members */ { GIOP_unsigned_long i1; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &(*members)._length, sizeof((*members)._length)); for (i1 = 0; i1 < (*members)._length; i1++) { { GIOP_unsigned_long len = (*members)._buffer[i1] ? (strlen((*members)._buffer[i1]) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if ((*members)._buffer[i1]) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (*members)._buffer[i1], len); } } } 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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_AliasDef CORBA_Repository_create_alias(CORBA_Repository _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_IDLType original_type, 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[13]; } _ORBIT_operation_name_data = { 13, "create_alias" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 17}; CORBA_AliasDef _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->create_alias(_obj->servant, id, name, version, original_type, 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 id */ { GIOP_unsigned_long len = id ? (strlen(id) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (id) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), id, len); } /* marshal parameter name */ { GIOP_unsigned_long len = name ? (strlen(name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), name, len); } /* marshal parameter version */ { GIOP_unsigned_long len = version ? (strlen(version) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (version) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), version, len); } /* marshal parameter original_type */ ORBit_marshal_object(_ORBIT_send_buffer, original_type); 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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_InterfaceDef CORBA_Repository_create_interface(CORBA_Repository _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_InterfaceDefSeq * base_interfaces, 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[17]; } _ORBIT_operation_name_data = { 17, "create_interface" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 21}; CORBA_InterfaceDef _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->create_interface(_obj->servant, id, name, version, base_interfaces, 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 id */ { GIOP_unsigned_long len = id ? (strlen(id) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (id) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), id, len); } /* marshal parameter name */ { GIOP_unsigned_long len = name ? (strlen(name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), name, len); } /* marshal parameter version */ { GIOP_unsigned_long len = version ? (strlen(version) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (version) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), version, len); } /* marshal parameter *base_interfaces */ { GIOP_unsigned_long i1; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &(*base_interfaces)._length, sizeof((*base_interfaces)._length)); for (i1 = 0; i1 < (*base_interfaces)._length; i1++) { ORBit_marshal_object(_ORBIT_send_buffer, (*base_interfaces)._buffer[i1]); } } 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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_ExceptionDef CORBA_Repository_create_exception(CORBA_Repository _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_StructMemberSeq * members, 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[17]; } _ORBIT_operation_name_data = { 17, "create_exception" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 21}; CORBA_ExceptionDef _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->create_exception(_obj->servant, id, name, version, members, 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 id */ { GIOP_unsigned_long len = id ? (strlen(id) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (id) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), id, len); } /* marshal parameter name */ { GIOP_unsigned_long len = name ? (strlen(name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), name, len); } /* marshal parameter version */ { GIOP_unsigned_long len = version ? (strlen(version) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (version) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), version, len); } /* marshal parameter *members */ { GIOP_unsigned_long i1; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &(*members)._length, sizeof((*members)._length)); for (i1 = 0; i1 < (*members)._length; i1++) { { GIOP_unsigned_long len = ((*members)._buffer[i1]).name ? (strlen(((*members)._buffer[i1]).name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (((*members)._buffer[i1]).name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*members)._buffer[i1]).name, len); } ORBit_encode_CORBA_TypeCode(((*members)._buffer[i1]).type, _ORBIT_send_buffer); ORBit_marshal_object(_ORBIT_send_buffer, ((*members)._buffer[i1]).type_def); } } 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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } /* End inherited operations for CORBA_Repository */ /* Begin inherited operations for CORBA_ModuleDef */ /* From interface CORBA_IRObject */ CORBA_DefinitionKind CORBA_ModuleDef__get_def_kind(CORBA_ModuleDef _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[14]; } _ORBIT_operation_name_data = { 14, "_get_def_kind" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 18}; CORBA_DefinitionKind _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_IRObject__classid) { return ((POA_CORBA_IRObject__epv *) _obj->vepv[CORBA_IRObject__classid])->_get_def_kind(_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); GET_ATOM(_ORBIT_retval); } else { /* demarshal return value */ GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); _ORBIT_retval = *((CORBA_DefinitionKind *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_DefinitionKind); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_ModuleDef_destroy(CORBA_ModuleDef _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[8]; } _ORBIT_operation_name_data = { 8, "destroy" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 12}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_IRObject__classid) { ((POA_CORBA_IRObject__epv *) _obj->vepv[CORBA_IRObject__classid])->destroy(_obj->servant, ev); return; } _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_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; } 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } /* From interface CORBA_Container */ CORBA_Contained CORBA_ModuleDef_lookup(CORBA_ModuleDef _obj, const CORBA_ScopedName search_name, 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[7]; } _ORBIT_operation_name_data = { 7, "lookup" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 11}; CORBA_Contained _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->lookup(_obj->servant, search_name, 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 search_name */ { GIOP_unsigned_long len = search_name ? (strlen(search_name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (search_name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), search_name, len); } 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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_ContainedSeq * CORBA_ModuleDef_contents(CORBA_ModuleDef _obj, const CORBA_DefinitionKind limit_type, const CORBA_boolean exclude_inherited, 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[9]; } _ORBIT_operation_name_data = { 9, "contents" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 13}; CORBA_ContainedSeq *_ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->contents(_obj->servant, limit_type, exclude_inherited, 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 limit_type */ giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &limit_type, sizeof(limit_type)); /* marshal parameter exclude_inherited */ giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &exclude_inherited, sizeof(exclude_inherited)); 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_ContainedSeq__alloc(); 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); GET_ATOM((*_ORBIT_retval)._length); (*_ORBIT_retval)._release = CORBA_TRUE; (*_ORBIT_retval)._buffer = CORBA_sequence_CORBA_Contained_allocbuf((*_ORBIT_retval)._length); { int i1; for (i1 = 0; i1 < (*_ORBIT_retval)._length; i1++) { (*_ORBIT_retval)._buffer[i1] = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } } } else { /* demarshal return value */ GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); (*_ORBIT_retval)._length = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); (*_ORBIT_retval)._release = CORBA_TRUE; (*_ORBIT_retval)._buffer = CORBA_sequence_CORBA_Contained_allocbuf((*_ORBIT_retval)._length); { int i1; for (i1 = 0; i1 < (*_ORBIT_retval)._length; i1++) { (*_ORBIT_retval)._buffer[i1] = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_ContainedSeq * CORBA_ModuleDef_lookup_name(CORBA_ModuleDef _obj, const CORBA_Identifier search_name, const CORBA_long levels_to_search, const CORBA_DefinitionKind limit_type, const CORBA_boolean exclude_inherited, 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[12]; } _ORBIT_operation_name_data = { 12, "lookup_name" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 16}; CORBA_ContainedSeq *_ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->lookup_name(_obj->servant, search_name, levels_to_search, limit_type, exclude_inherited, 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 search_name */ { GIOP_unsigned_long len = search_name ? (strlen(search_name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (search_name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), search_name, len); } /* marshal parameter levels_to_search */ giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &levels_to_search, sizeof(levels_to_search)); /* marshal parameter limit_type */ giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &limit_type, sizeof(limit_type)); /* marshal parameter exclude_inherited */ giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &exclude_inherited, sizeof(exclude_inherited)); 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_ContainedSeq__alloc(); 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); GET_ATOM((*_ORBIT_retval)._length); (*_ORBIT_retval)._release = CORBA_TRUE; (*_ORBIT_retval)._buffer = CORBA_sequence_CORBA_Contained_allocbuf((*_ORBIT_retval)._length); { int i1; for (i1 = 0; i1 < (*_ORBIT_retval)._length; i1++) { (*_ORBIT_retval)._buffer[i1] = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } } } else { /* demarshal return value */ GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); (*_ORBIT_retval)._length = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); (*_ORBIT_retval)._release = CORBA_TRUE; (*_ORBIT_retval)._buffer = CORBA_sequence_CORBA_Contained_allocbuf((*_ORBIT_retval)._length); { int i1; for (i1 = 0; i1 < (*_ORBIT_retval)._length; i1++) { (*_ORBIT_retval)._buffer[i1] = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_Container_DescriptionSeq * CORBA_ModuleDef_describe_contents(CORBA_ModuleDef _obj, const CORBA_DefinitionKind limit_type, const CORBA_boolean exclude_inherited, const CORBA_long max_returned_objs, 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[18]; } _ORBIT_operation_name_data = { 18, "describe_contents" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 22}; CORBA_Container_DescriptionSeq *_ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->describe_contents(_obj->servant, limit_type, exclude_inherited, max_returned_objs, 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 limit_type */ giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &limit_type, sizeof(limit_type)); /* marshal parameter exclude_inherited */ giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &exclude_inherited, sizeof(exclude_inherited)); /* marshal parameter max_returned_objs */ giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &max_returned_objs, sizeof(max_returned_objs)); 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_Container_DescriptionSeq__alloc(); 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); GET_ATOM((*_ORBIT_retval)._length); (*_ORBIT_retval)._release = CORBA_TRUE; (*_ORBIT_retval)._buffer = CORBA_sequence_CORBA_Container_Description_allocbuf((*_ORBIT_retval)._length); { int i1; for (i1 = 0; i1 < (*_ORBIT_retval)._length; i1++) { ((*_ORBIT_retval)._buffer[i1]).contained_object = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(((*_ORBIT_retval)._buffer[i1]).kind); ORBit_demarshal_any(_ORBIT_recv_buffer, &(((*_ORBIT_retval)._buffer[i1]).value), CORBA_TRUE, (_obj->orb)); } } } else { /* demarshal return value */ GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); (*_ORBIT_retval)._length = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); (*_ORBIT_retval)._release = CORBA_TRUE; (*_ORBIT_retval)._buffer = CORBA_sequence_CORBA_Container_Description_allocbuf((*_ORBIT_retval)._length); { int i1; for (i1 = 0; i1 < (*_ORBIT_retval)._length; i1++) { ((*_ORBIT_retval)._buffer[i1]).contained_object = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); ((*_ORBIT_retval)._buffer[i1]).kind = *((CORBA_DefinitionKind *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_DefinitionKind); ORBit_demarshal_any(_ORBIT_recv_buffer, &(((*_ORBIT_retval)._buffer[i1]).value), CORBA_TRUE, (_obj->orb)); } } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_ModuleDef CORBA_ModuleDef_create_module(CORBA_ModuleDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, 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[14]; } _ORBIT_operation_name_data = { 14, "create_module" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 18}; CORBA_ModuleDef _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->create_module(_obj->servant, id, name, version, 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 id */ { GIOP_unsigned_long len = id ? (strlen(id) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (id) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), id, len); } /* marshal parameter name */ { GIOP_unsigned_long len = name ? (strlen(name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), name, len); } /* marshal parameter version */ { GIOP_unsigned_long len = version ? (strlen(version) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (version) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), version, len); } 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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_ConstantDef CORBA_ModuleDef_create_constant(CORBA_ModuleDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_IDLType type, const CORBA_any * value, 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[16]; } _ORBIT_operation_name_data = { 16, "create_constant" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 20}; CORBA_ConstantDef _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->create_constant(_obj->servant, id, name, version, type, value, 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 id */ { GIOP_unsigned_long len = id ? (strlen(id) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (id) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), id, len); } /* marshal parameter name */ { GIOP_unsigned_long len = name ? (strlen(name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), name, len); } /* marshal parameter version */ { GIOP_unsigned_long len = version ? (strlen(version) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (version) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), version, len); } /* marshal parameter type */ ORBit_marshal_object(_ORBIT_send_buffer, type); /* marshal parameter *value */ ORBit_marshal_any(_ORBIT_send_buffer, &(*value)); 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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_StructDef CORBA_ModuleDef_create_struct(CORBA_ModuleDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_StructMemberSeq * members, 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[14]; } _ORBIT_operation_name_data = { 14, "create_struct" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 18}; CORBA_StructDef _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->create_struct(_obj->servant, id, name, version, members, 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 id */ { GIOP_unsigned_long len = id ? (strlen(id) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (id) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), id, len); } /* marshal parameter name */ { GIOP_unsigned_long len = name ? (strlen(name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), name, len); } /* marshal parameter version */ { GIOP_unsigned_long len = version ? (strlen(version) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (version) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), version, len); } /* marshal parameter *members */ { GIOP_unsigned_long i1; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &(*members)._length, sizeof((*members)._length)); for (i1 = 0; i1 < (*members)._length; i1++) { { GIOP_unsigned_long len = ((*members)._buffer[i1]).name ? (strlen(((*members)._buffer[i1]).name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (((*members)._buffer[i1]).name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*members)._buffer[i1]).name, len); } ORBit_encode_CORBA_TypeCode(((*members)._buffer[i1]).type, _ORBIT_send_buffer); ORBit_marshal_object(_ORBIT_send_buffer, ((*members)._buffer[i1]).type_def); } } 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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_UnionDef CORBA_ModuleDef_create_union(CORBA_ModuleDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_IDLType discriminator_type, const CORBA_UnionMemberSeq * members, 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[13]; } _ORBIT_operation_name_data = { 13, "create_union" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 17}; CORBA_UnionDef _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->create_union(_obj->servant, id, name, version, discriminator_type, members, 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 id */ { GIOP_unsigned_long len = id ? (strlen(id) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (id) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), id, len); } /* marshal parameter name */ { GIOP_unsigned_long len = name ? (strlen(name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), name, len); } /* marshal parameter version */ { GIOP_unsigned_long len = version ? (strlen(version) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (version) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), version, len); } /* marshal parameter discriminator_type */ ORBit_marshal_object(_ORBIT_send_buffer, discriminator_type); /* marshal parameter *members */ { GIOP_unsigned_long i1; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &(*members)._length, sizeof((*members)._length)); for (i1 = 0; i1 < (*members)._length; i1++) { { GIOP_unsigned_long len = ((*members)._buffer[i1]).name ? (strlen(((*members)._buffer[i1]).name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (((*members)._buffer[i1]).name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*members)._buffer[i1]).name, len); } ORBit_marshal_any(_ORBIT_send_buffer, &(((*members)._buffer[i1]).label)); ORBit_encode_CORBA_TypeCode(((*members)._buffer[i1]).type, _ORBIT_send_buffer); ORBit_marshal_object(_ORBIT_send_buffer, ((*members)._buffer[i1]).type_def); } } 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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_EnumDef CORBA_ModuleDef_create_enum(CORBA_ModuleDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_EnumMemberSeq * members, 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[12]; } _ORBIT_operation_name_data = { 12, "create_enum" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 16}; CORBA_EnumDef _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->create_enum(_obj->servant, id, name, version, members, 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 id */ { GIOP_unsigned_long len = id ? (strlen(id) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (id) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), id, len); } /* marshal parameter name */ { GIOP_unsigned_long len = name ? (strlen(name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), name, len); } /* marshal parameter version */ { GIOP_unsigned_long len = version ? (strlen(version) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (version) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), version, len); } /* marshal parameter *members */ { GIOP_unsigned_long i1; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &(*members)._length, sizeof((*members)._length)); for (i1 = 0; i1 < (*members)._length; i1++) { { GIOP_unsigned_long len = (*members)._buffer[i1] ? (strlen((*members)._buffer[i1]) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if ((*members)._buffer[i1]) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (*members)._buffer[i1], len); } } } 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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_AliasDef CORBA_ModuleDef_create_alias(CORBA_ModuleDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_IDLType original_type, 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[13]; } _ORBIT_operation_name_data = { 13, "create_alias" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 17}; CORBA_AliasDef _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->create_alias(_obj->servant, id, name, version, original_type, 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 id */ { GIOP_unsigned_long len = id ? (strlen(id) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (id) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), id, len); } /* marshal parameter name */ { GIOP_unsigned_long len = name ? (strlen(name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), name, len); } /* marshal parameter version */ { GIOP_unsigned_long len = version ? (strlen(version) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (version) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), version, len); } /* marshal parameter original_type */ ORBit_marshal_object(_ORBIT_send_buffer, original_type); 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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_InterfaceDef CORBA_ModuleDef_create_interface(CORBA_ModuleDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_InterfaceDefSeq * base_interfaces, 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[17]; } _ORBIT_operation_name_data = { 17, "create_interface" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 21}; CORBA_InterfaceDef _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->create_interface(_obj->servant, id, name, version, base_interfaces, 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 id */ { GIOP_unsigned_long len = id ? (strlen(id) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (id) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), id, len); } /* marshal parameter name */ { GIOP_unsigned_long len = name ? (strlen(name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), name, len); } /* marshal parameter version */ { GIOP_unsigned_long len = version ? (strlen(version) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (version) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), version, len); } /* marshal parameter *base_interfaces */ { GIOP_unsigned_long i1; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &(*base_interfaces)._length, sizeof((*base_interfaces)._length)); for (i1 = 0; i1 < (*base_interfaces)._length; i1++) { ORBit_marshal_object(_ORBIT_send_buffer, (*base_interfaces)._buffer[i1]); } } 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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_ExceptionDef CORBA_ModuleDef_create_exception(CORBA_ModuleDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_StructMemberSeq * members, 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[17]; } _ORBIT_operation_name_data = { 17, "create_exception" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 21}; CORBA_ExceptionDef _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->create_exception(_obj->servant, id, name, version, members, 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 id */ { GIOP_unsigned_long len = id ? (strlen(id) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (id) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), id, len); } /* marshal parameter name */ { GIOP_unsigned_long len = name ? (strlen(name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), name, len); } /* marshal parameter version */ { GIOP_unsigned_long len = version ? (strlen(version) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (version) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), version, len); } /* marshal parameter *members */ { GIOP_unsigned_long i1; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &(*members)._length, sizeof((*members)._length)); for (i1 = 0; i1 < (*members)._length; i1++) { { GIOP_unsigned_long len = ((*members)._buffer[i1]).name ? (strlen(((*members)._buffer[i1]).name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (((*members)._buffer[i1]).name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*members)._buffer[i1]).name, len); } ORBit_encode_CORBA_TypeCode(((*members)._buffer[i1]).type, _ORBIT_send_buffer); ORBit_marshal_object(_ORBIT_send_buffer, ((*members)._buffer[i1]).type_def); } } 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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } /* From interface CORBA_Contained */ CORBA_RepositoryId CORBA_ModuleDef__get_id(CORBA_ModuleDef _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[8]; } _ORBIT_operation_name_data = { 8, "_get_id" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 12}; CORBA_RepositoryId _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_get_id(_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_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(len); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } else { /* demarshal return value */ { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_ModuleDef__set_id(CORBA_ModuleDef _obj, const CORBA_RepositoryId value, 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[8]; } _ORBIT_operation_name_data = { 8, "_set_id" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 12}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_set_id(_obj->servant, value, ev); return; } _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_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; } /* marshal parameter value */ { GIOP_unsigned_long len = value ? (strlen(value) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (value) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), value, len); } 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } CORBA_Identifier CORBA_ModuleDef__get_name(CORBA_ModuleDef _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_name" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 14}; CORBA_Identifier _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_get_name(_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_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(len); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } else { /* demarshal return value */ { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_ModuleDef__set_name(CORBA_ModuleDef _obj, const CORBA_Identifier value, 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, "_set_name" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 14}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_set_name(_obj->servant, value, ev); return; } _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_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; } /* marshal parameter value */ { GIOP_unsigned_long len = value ? (strlen(value) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (value) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), value, len); } 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } CORBA_VersionSpec CORBA_ModuleDef__get_version(CORBA_ModuleDef _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[13]; } _ORBIT_operation_name_data = { 13, "_get_version" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 17}; CORBA_VersionSpec _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_get_version(_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_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(len); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } else { /* demarshal return value */ { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_ModuleDef__set_version(CORBA_ModuleDef _obj, const CORBA_VersionSpec value, 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[13]; } _ORBIT_operation_name_data = { 13, "_set_version" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 17}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_set_version(_obj->servant, value, ev); return; } _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_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; } /* marshal parameter value */ { GIOP_unsigned_long len = value ? (strlen(value) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (value) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), value, len); } 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } CORBA_Container CORBA_ModuleDef__get_defined_in(CORBA_ModuleDef _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[16]; } _ORBIT_operation_name_data = { 16, "_get_defined_in" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 20}; CORBA_Container _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_get_defined_in(_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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_ScopedName CORBA_ModuleDef__get_absolute_name(CORBA_ModuleDef _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[19]; } _ORBIT_operation_name_data = { 19, "_get_absolute_name" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 23}; CORBA_ScopedName _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_get_absolute_name(_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_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(len); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } else { /* demarshal return value */ { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_Repository CORBA_ModuleDef__get_containing_repository(CORBA_ModuleDef _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[27]; } _ORBIT_operation_name_data = { 27, "_get_containing_repository" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 31}; CORBA_Repository _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_get_containing_repository(_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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_Contained_Description * CORBA_ModuleDef_describe(CORBA_ModuleDef _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[9]; } _ORBIT_operation_name_data = { 9, "describe" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 13}; CORBA_Contained_Description *_ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->describe(_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; } } _ORBIT_retval = CORBA_Contained_Description__alloc(); 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); GET_ATOM((*_ORBIT_retval).kind); ORBit_demarshal_any(_ORBIT_recv_buffer, &((*_ORBIT_retval).value), CORBA_TRUE, (_obj->orb)); } else { /* demarshal return value */ GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); (*_ORBIT_retval).kind = *((CORBA_DefinitionKind *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_DefinitionKind); ORBit_demarshal_any(_ORBIT_recv_buffer, &((*_ORBIT_retval).value), CORBA_TRUE, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_ModuleDef_move(CORBA_ModuleDef _obj, const CORBA_Container new_container, const CORBA_Identifier new_name, const CORBA_VersionSpec new_version, 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[5]; } _ORBIT_operation_name_data = { 5, "move" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 9}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->move(_obj->servant, new_container, new_name, new_version, ev); return; } _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_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; } /* marshal parameter new_container */ ORBit_marshal_object(_ORBIT_send_buffer, new_container); /* marshal parameter new_name */ { GIOP_unsigned_long len = new_name ? (strlen(new_name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (new_name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), new_name, len); } /* marshal parameter new_version */ { GIOP_unsigned_long len = new_version ? (strlen(new_version) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (new_version) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), new_version, len); } 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } /* End inherited operations for CORBA_ModuleDef */ CORBA_TypeCode CORBA_ConstantDef__get_type(CORBA_ConstantDef _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 && CORBA_ConstantDef__classid) { return ((POA_CORBA_ConstantDef__epv *) _obj->vepv[CORBA_ConstantDef__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; } CORBA_IDLType CORBA_ConstantDef__get_type_def(CORBA_ConstantDef _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[14]; } _ORBIT_operation_name_data = { 14, "_get_type_def" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 18}; CORBA_IDLType _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_ConstantDef__classid) { return ((POA_CORBA_ConstantDef__epv *) _obj->vepv[CORBA_ConstantDef__classid])->_get_type_def(_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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_ConstantDef__set_type_def(CORBA_ConstantDef _obj, const CORBA_IDLType value, 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[14]; } _ORBIT_operation_name_data = { 14, "_set_type_def" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 18}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_ConstantDef__classid) { ((POA_CORBA_ConstantDef__epv *) _obj->vepv[CORBA_ConstantDef__classid])->_set_type_def(_obj->servant, value, ev); return; } _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_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; } /* marshal parameter value */ ORBit_marshal_object(_ORBIT_send_buffer, value); 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } CORBA_any * CORBA_ConstantDef__get_value(CORBA_ConstantDef _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[11]; } _ORBIT_operation_name_data = { 11, "_get_value" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 15}; CORBA_any *_ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_ConstantDef__classid) { return ((POA_CORBA_ConstantDef__epv *) _obj->vepv[CORBA_ConstantDef__classid])->_get_value(_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; } } _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; } void CORBA_ConstantDef__set_value(CORBA_ConstantDef _obj, const CORBA_any * value, 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[11]; } _ORBIT_operation_name_data = { 11, "_set_value" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 15}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_ConstantDef__classid) { ((POA_CORBA_ConstantDef__epv *) _obj->vepv[CORBA_ConstantDef__classid])->_set_value(_obj->servant, value, ev); return; } _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_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; } /* marshal parameter *value */ ORBit_marshal_any(_ORBIT_send_buffer, &(*value)); 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } /* Begin inherited operations for CORBA_ConstantDef */ /* From interface CORBA_IRObject */ CORBA_DefinitionKind CORBA_ConstantDef__get_def_kind(CORBA_ConstantDef _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[14]; } _ORBIT_operation_name_data = { 14, "_get_def_kind" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 18}; CORBA_DefinitionKind _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_IRObject__classid) { return ((POA_CORBA_IRObject__epv *) _obj->vepv[CORBA_IRObject__classid])->_get_def_kind(_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); GET_ATOM(_ORBIT_retval); } else { /* demarshal return value */ GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); _ORBIT_retval = *((CORBA_DefinitionKind *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_DefinitionKind); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_ConstantDef_destroy(CORBA_ConstantDef _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[8]; } _ORBIT_operation_name_data = { 8, "destroy" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 12}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_IRObject__classid) { ((POA_CORBA_IRObject__epv *) _obj->vepv[CORBA_IRObject__classid])->destroy(_obj->servant, ev); return; } _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_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; } 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } /* From interface CORBA_Contained */ CORBA_RepositoryId CORBA_ConstantDef__get_id(CORBA_ConstantDef _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[8]; } _ORBIT_operation_name_data = { 8, "_get_id" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 12}; CORBA_RepositoryId _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_get_id(_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_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(len); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } else { /* demarshal return value */ { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_ConstantDef__set_id(CORBA_ConstantDef _obj, const CORBA_RepositoryId value, 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[8]; } _ORBIT_operation_name_data = { 8, "_set_id" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 12}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_set_id(_obj->servant, value, ev); return; } _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_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; } /* marshal parameter value */ { GIOP_unsigned_long len = value ? (strlen(value) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (value) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), value, len); } 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } CORBA_Identifier CORBA_ConstantDef__get_name(CORBA_ConstantDef _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_name" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 14}; CORBA_Identifier _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_get_name(_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_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(len); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } else { /* demarshal return value */ { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_ConstantDef__set_name(CORBA_ConstantDef _obj, const CORBA_Identifier value, 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, "_set_name" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 14}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_set_name(_obj->servant, value, ev); return; } _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_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; } /* marshal parameter value */ { GIOP_unsigned_long len = value ? (strlen(value) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (value) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), value, len); } 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } CORBA_VersionSpec CORBA_ConstantDef__get_version(CORBA_ConstantDef _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[13]; } _ORBIT_operation_name_data = { 13, "_get_version" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 17}; CORBA_VersionSpec _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_get_version(_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_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(len); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } else { /* demarshal return value */ { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_ConstantDef__set_version(CORBA_ConstantDef _obj, const CORBA_VersionSpec value, 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[13]; } _ORBIT_operation_name_data = { 13, "_set_version" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 17}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_set_version(_obj->servant, value, ev); return; } _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_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; } /* marshal parameter value */ { GIOP_unsigned_long len = value ? (strlen(value) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (value) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), value, len); } 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } CORBA_Container CORBA_ConstantDef__get_defined_in(CORBA_ConstantDef _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[16]; } _ORBIT_operation_name_data = { 16, "_get_defined_in" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 20}; CORBA_Container _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_get_defined_in(_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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_ScopedName CORBA_ConstantDef__get_absolute_name(CORBA_ConstantDef _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[19]; } _ORBIT_operation_name_data = { 19, "_get_absolute_name" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 23}; CORBA_ScopedName _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_get_absolute_name(_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_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(len); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } else { /* demarshal return value */ { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_Repository CORBA_ConstantDef__get_containing_repository(CORBA_ConstantDef _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[27]; } _ORBIT_operation_name_data = { 27, "_get_containing_repository" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 31}; CORBA_Repository _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_get_containing_repository(_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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_Contained_Description * CORBA_ConstantDef_describe(CORBA_ConstantDef _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[9]; } _ORBIT_operation_name_data = { 9, "describe" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 13}; CORBA_Contained_Description *_ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->describe(_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; } } _ORBIT_retval = CORBA_Contained_Description__alloc(); 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); GET_ATOM((*_ORBIT_retval).kind); ORBit_demarshal_any(_ORBIT_recv_buffer, &((*_ORBIT_retval).value), CORBA_TRUE, (_obj->orb)); } else { /* demarshal return value */ GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); (*_ORBIT_retval).kind = *((CORBA_DefinitionKind *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_DefinitionKind); ORBit_demarshal_any(_ORBIT_recv_buffer, &((*_ORBIT_retval).value), CORBA_TRUE, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_ConstantDef_move(CORBA_ConstantDef _obj, const CORBA_Container new_container, const CORBA_Identifier new_name, const CORBA_VersionSpec new_version, 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[5]; } _ORBIT_operation_name_data = { 5, "move" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 9}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->move(_obj->servant, new_container, new_name, new_version, ev); return; } _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_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; } /* marshal parameter new_container */ ORBit_marshal_object(_ORBIT_send_buffer, new_container); /* marshal parameter new_name */ { GIOP_unsigned_long len = new_name ? (strlen(new_name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (new_name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), new_name, len); } /* marshal parameter new_version */ { GIOP_unsigned_long len = new_version ? (strlen(new_version) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (new_version) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), new_version, len); } 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } /* End inherited operations for CORBA_ConstantDef */ /* Begin inherited operations for CORBA_TypedefDef */ /* From interface CORBA_IRObject */ CORBA_DefinitionKind CORBA_TypedefDef__get_def_kind(CORBA_TypedefDef _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[14]; } _ORBIT_operation_name_data = { 14, "_get_def_kind" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 18}; CORBA_DefinitionKind _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_IRObject__classid) { return ((POA_CORBA_IRObject__epv *) _obj->vepv[CORBA_IRObject__classid])->_get_def_kind(_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); GET_ATOM(_ORBIT_retval); } else { /* demarshal return value */ GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); _ORBIT_retval = *((CORBA_DefinitionKind *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_DefinitionKind); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_TypedefDef_destroy(CORBA_TypedefDef _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[8]; } _ORBIT_operation_name_data = { 8, "destroy" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 12}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_IRObject__classid) { ((POA_CORBA_IRObject__epv *) _obj->vepv[CORBA_IRObject__classid])->destroy(_obj->servant, ev); return; } _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_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; } 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } /* From interface CORBA_Contained */ CORBA_RepositoryId CORBA_TypedefDef__get_id(CORBA_TypedefDef _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[8]; } _ORBIT_operation_name_data = { 8, "_get_id" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 12}; CORBA_RepositoryId _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_get_id(_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_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(len); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } else { /* demarshal return value */ { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_TypedefDef__set_id(CORBA_TypedefDef _obj, const CORBA_RepositoryId value, 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[8]; } _ORBIT_operation_name_data = { 8, "_set_id" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 12}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_set_id(_obj->servant, value, ev); return; } _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_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; } /* marshal parameter value */ { GIOP_unsigned_long len = value ? (strlen(value) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (value) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), value, len); } 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } CORBA_Identifier CORBA_TypedefDef__get_name(CORBA_TypedefDef _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_name" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 14}; CORBA_Identifier _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_get_name(_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_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(len); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } else { /* demarshal return value */ { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_TypedefDef__set_name(CORBA_TypedefDef _obj, const CORBA_Identifier value, 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, "_set_name" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 14}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_set_name(_obj->servant, value, ev); return; } _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_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; } /* marshal parameter value */ { GIOP_unsigned_long len = value ? (strlen(value) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (value) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), value, len); } 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } CORBA_VersionSpec CORBA_TypedefDef__get_version(CORBA_TypedefDef _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[13]; } _ORBIT_operation_name_data = { 13, "_get_version" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 17}; CORBA_VersionSpec _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_get_version(_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_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(len); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } else { /* demarshal return value */ { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_TypedefDef__set_version(CORBA_TypedefDef _obj, const CORBA_VersionSpec value, 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[13]; } _ORBIT_operation_name_data = { 13, "_set_version" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 17}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_set_version(_obj->servant, value, ev); return; } _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_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; } /* marshal parameter value */ { GIOP_unsigned_long len = value ? (strlen(value) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (value) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), value, len); } 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } CORBA_Container CORBA_TypedefDef__get_defined_in(CORBA_TypedefDef _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[16]; } _ORBIT_operation_name_data = { 16, "_get_defined_in" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 20}; CORBA_Container _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_get_defined_in(_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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_ScopedName CORBA_TypedefDef__get_absolute_name(CORBA_TypedefDef _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[19]; } _ORBIT_operation_name_data = { 19, "_get_absolute_name" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 23}; CORBA_ScopedName _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_get_absolute_name(_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_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(len); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } else { /* demarshal return value */ { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_Repository CORBA_TypedefDef__get_containing_repository(CORBA_TypedefDef _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[27]; } _ORBIT_operation_name_data = { 27, "_get_containing_repository" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 31}; CORBA_Repository _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_get_containing_repository(_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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_Contained_Description * CORBA_TypedefDef_describe(CORBA_TypedefDef _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[9]; } _ORBIT_operation_name_data = { 9, "describe" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 13}; CORBA_Contained_Description *_ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->describe(_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; } } _ORBIT_retval = CORBA_Contained_Description__alloc(); 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); GET_ATOM((*_ORBIT_retval).kind); ORBit_demarshal_any(_ORBIT_recv_buffer, &((*_ORBIT_retval).value), CORBA_TRUE, (_obj->orb)); } else { /* demarshal return value */ GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); (*_ORBIT_retval).kind = *((CORBA_DefinitionKind *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_DefinitionKind); ORBit_demarshal_any(_ORBIT_recv_buffer, &((*_ORBIT_retval).value), CORBA_TRUE, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_TypedefDef_move(CORBA_TypedefDef _obj, const CORBA_Container new_container, const CORBA_Identifier new_name, const CORBA_VersionSpec new_version, 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[5]; } _ORBIT_operation_name_data = { 5, "move" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 9}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->move(_obj->servant, new_container, new_name, new_version, ev); return; } _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_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; } /* marshal parameter new_container */ ORBit_marshal_object(_ORBIT_send_buffer, new_container); /* marshal parameter new_name */ { GIOP_unsigned_long len = new_name ? (strlen(new_name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (new_name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), new_name, len); } /* marshal parameter new_version */ { GIOP_unsigned_long len = new_version ? (strlen(new_version) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (new_version) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), new_version, len); } 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } /* From interface CORBA_IDLType */ CORBA_TypeCode CORBA_TypedefDef__get_type(CORBA_TypedefDef _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 && CORBA_IDLType__classid) { return ((POA_CORBA_IDLType__epv *) _obj->vepv[CORBA_IDLType__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; } /* End inherited operations for CORBA_TypedefDef */ CORBA_StructMemberSeq * CORBA_StructDef__get_members(CORBA_StructDef _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[13]; } _ORBIT_operation_name_data = { 13, "_get_members" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 17}; CORBA_StructMemberSeq *_ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_StructDef__classid) { return ((POA_CORBA_StructDef__epv *) _obj->vepv[CORBA_StructDef__classid])->_get_members(_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; } } _ORBIT_retval = CORBA_StructMemberSeq__alloc(); 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); GET_ATOM((*_ORBIT_retval)._length); (*_ORBIT_retval)._release = CORBA_TRUE; (*_ORBIT_retval)._buffer = CORBA_sequence_CORBA_StructMember_allocbuf((*_ORBIT_retval)._length); { int i1; for (i1 = 0; i1 < (*_ORBIT_retval)._length; i1++) { { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(len); ((*_ORBIT_retval)._buffer[i1]).name = CORBA_string_alloc(len); if (len) strncpy(((*_ORBIT_retval)._buffer[i1]).name, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (((*_ORBIT_retval)._buffer[i1]).name)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); ORBit_decode_CORBA_TypeCode(&((*_ORBIT_retval)._buffer[i1]).type, _ORBIT_recv_buffer); ((*_ORBIT_retval)._buffer[i1]).type_def = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } } } else { /* demarshal return value */ GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); (*_ORBIT_retval)._length = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); (*_ORBIT_retval)._release = CORBA_TRUE; (*_ORBIT_retval)._buffer = CORBA_sequence_CORBA_StructMember_allocbuf((*_ORBIT_retval)._length); { int i1; for (i1 = 0; i1 < (*_ORBIT_retval)._length; i1++) { { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); ((*_ORBIT_retval)._buffer[i1]).name = CORBA_string_alloc(len); if (len) strncpy(((*_ORBIT_retval)._buffer[i1]).name, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (((*_ORBIT_retval)._buffer[i1]).name)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); ORBit_decode_CORBA_TypeCode(&((*_ORBIT_retval)._buffer[i1]).type, _ORBIT_recv_buffer); ((*_ORBIT_retval)._buffer[i1]).type_def = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_StructDef__set_members(CORBA_StructDef _obj, const CORBA_StructMemberSeq * value, 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[13]; } _ORBIT_operation_name_data = { 13, "_set_members" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 17}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_StructDef__classid) { ((POA_CORBA_StructDef__epv *) _obj->vepv[CORBA_StructDef__classid])->_set_members(_obj->servant, value, ev); return; } _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_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; } /* marshal parameter *value */ { GIOP_unsigned_long i1; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &(*value)._length, sizeof((*value)._length)); for (i1 = 0; i1 < (*value)._length; i1++) { { GIOP_unsigned_long len = ((*value)._buffer[i1]).name ? (strlen(((*value)._buffer[i1]).name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (((*value)._buffer[i1]).name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*value)._buffer[i1]).name, len); } ORBit_encode_CORBA_TypeCode(((*value)._buffer[i1]).type, _ORBIT_send_buffer); ORBit_marshal_object(_ORBIT_send_buffer, ((*value)._buffer[i1]).type_def); } } 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } /* Begin inherited operations for CORBA_StructDef */ /* From interface CORBA_IRObject */ CORBA_DefinitionKind CORBA_StructDef__get_def_kind(CORBA_StructDef _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[14]; } _ORBIT_operation_name_data = { 14, "_get_def_kind" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 18}; CORBA_DefinitionKind _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_IRObject__classid) { return ((POA_CORBA_IRObject__epv *) _obj->vepv[CORBA_IRObject__classid])->_get_def_kind(_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); GET_ATOM(_ORBIT_retval); } else { /* demarshal return value */ GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); _ORBIT_retval = *((CORBA_DefinitionKind *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_DefinitionKind); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_StructDef_destroy(CORBA_StructDef _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[8]; } _ORBIT_operation_name_data = { 8, "destroy" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 12}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_IRObject__classid) { ((POA_CORBA_IRObject__epv *) _obj->vepv[CORBA_IRObject__classid])->destroy(_obj->servant, ev); return; } _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_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; } 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } /* From interface CORBA_Contained */ CORBA_RepositoryId CORBA_StructDef__get_id(CORBA_StructDef _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[8]; } _ORBIT_operation_name_data = { 8, "_get_id" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 12}; CORBA_RepositoryId _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_get_id(_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_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(len); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } else { /* demarshal return value */ { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_StructDef__set_id(CORBA_StructDef _obj, const CORBA_RepositoryId value, 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[8]; } _ORBIT_operation_name_data = { 8, "_set_id" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 12}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_set_id(_obj->servant, value, ev); return; } _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_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; } /* marshal parameter value */ { GIOP_unsigned_long len = value ? (strlen(value) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (value) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), value, len); } 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } CORBA_Identifier CORBA_StructDef__get_name(CORBA_StructDef _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_name" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 14}; CORBA_Identifier _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_get_name(_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_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(len); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } else { /* demarshal return value */ { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_StructDef__set_name(CORBA_StructDef _obj, const CORBA_Identifier value, 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, "_set_name" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 14}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_set_name(_obj->servant, value, ev); return; } _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_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; } /* marshal parameter value */ { GIOP_unsigned_long len = value ? (strlen(value) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (value) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), value, len); } 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } CORBA_VersionSpec CORBA_StructDef__get_version(CORBA_StructDef _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[13]; } _ORBIT_operation_name_data = { 13, "_get_version" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 17}; CORBA_VersionSpec _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_get_version(_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_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(len); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } else { /* demarshal return value */ { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_StructDef__set_version(CORBA_StructDef _obj, const CORBA_VersionSpec value, 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[13]; } _ORBIT_operation_name_data = { 13, "_set_version" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 17}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_set_version(_obj->servant, value, ev); return; } _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_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; } /* marshal parameter value */ { GIOP_unsigned_long len = value ? (strlen(value) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (value) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), value, len); } 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } CORBA_Container CORBA_StructDef__get_defined_in(CORBA_StructDef _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[16]; } _ORBIT_operation_name_data = { 16, "_get_defined_in" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 20}; CORBA_Container _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_get_defined_in(_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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_ScopedName CORBA_StructDef__get_absolute_name(CORBA_StructDef _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[19]; } _ORBIT_operation_name_data = { 19, "_get_absolute_name" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 23}; CORBA_ScopedName _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_get_absolute_name(_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_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(len); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } else { /* demarshal return value */ { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_Repository CORBA_StructDef__get_containing_repository(CORBA_StructDef _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[27]; } _ORBIT_operation_name_data = { 27, "_get_containing_repository" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 31}; CORBA_Repository _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_get_containing_repository(_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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_Contained_Description * CORBA_StructDef_describe(CORBA_StructDef _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[9]; } _ORBIT_operation_name_data = { 9, "describe" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 13}; CORBA_Contained_Description *_ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->describe(_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; } } _ORBIT_retval = CORBA_Contained_Description__alloc(); 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); GET_ATOM((*_ORBIT_retval).kind); ORBit_demarshal_any(_ORBIT_recv_buffer, &((*_ORBIT_retval).value), CORBA_TRUE, (_obj->orb)); } else { /* demarshal return value */ GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); (*_ORBIT_retval).kind = *((CORBA_DefinitionKind *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_DefinitionKind); ORBit_demarshal_any(_ORBIT_recv_buffer, &((*_ORBIT_retval).value), CORBA_TRUE, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_StructDef_move(CORBA_StructDef _obj, const CORBA_Container new_container, const CORBA_Identifier new_name, const CORBA_VersionSpec new_version, 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[5]; } _ORBIT_operation_name_data = { 5, "move" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 9}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->move(_obj->servant, new_container, new_name, new_version, ev); return; } _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_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; } /* marshal parameter new_container */ ORBit_marshal_object(_ORBIT_send_buffer, new_container); /* marshal parameter new_name */ { GIOP_unsigned_long len = new_name ? (strlen(new_name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (new_name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), new_name, len); } /* marshal parameter new_version */ { GIOP_unsigned_long len = new_version ? (strlen(new_version) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (new_version) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), new_version, len); } 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } /* From interface CORBA_IDLType */ CORBA_TypeCode CORBA_StructDef__get_type(CORBA_StructDef _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 && CORBA_IDLType__classid) { return ((POA_CORBA_IDLType__epv *) _obj->vepv[CORBA_IDLType__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; } /* From interface CORBA_TypedefDef */ /* From interface CORBA_Container */ CORBA_Contained CORBA_StructDef_lookup(CORBA_StructDef _obj, const CORBA_ScopedName search_name, 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[7]; } _ORBIT_operation_name_data = { 7, "lookup" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 11}; CORBA_Contained _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->lookup(_obj->servant, search_name, 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 search_name */ { GIOP_unsigned_long len = search_name ? (strlen(search_name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (search_name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), search_name, len); } 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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_ContainedSeq * CORBA_StructDef_contents(CORBA_StructDef _obj, const CORBA_DefinitionKind limit_type, const CORBA_boolean exclude_inherited, 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[9]; } _ORBIT_operation_name_data = { 9, "contents" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 13}; CORBA_ContainedSeq *_ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->contents(_obj->servant, limit_type, exclude_inherited, 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 limit_type */ giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &limit_type, sizeof(limit_type)); /* marshal parameter exclude_inherited */ giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &exclude_inherited, sizeof(exclude_inherited)); 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_ContainedSeq__alloc(); 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); GET_ATOM((*_ORBIT_retval)._length); (*_ORBIT_retval)._release = CORBA_TRUE; (*_ORBIT_retval)._buffer = CORBA_sequence_CORBA_Contained_allocbuf((*_ORBIT_retval)._length); { int i1; for (i1 = 0; i1 < (*_ORBIT_retval)._length; i1++) { (*_ORBIT_retval)._buffer[i1] = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } } } else { /* demarshal return value */ GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); (*_ORBIT_retval)._length = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); (*_ORBIT_retval)._release = CORBA_TRUE; (*_ORBIT_retval)._buffer = CORBA_sequence_CORBA_Contained_allocbuf((*_ORBIT_retval)._length); { int i1; for (i1 = 0; i1 < (*_ORBIT_retval)._length; i1++) { (*_ORBIT_retval)._buffer[i1] = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_ContainedSeq * CORBA_StructDef_lookup_name(CORBA_StructDef _obj, const CORBA_Identifier search_name, const CORBA_long levels_to_search, const CORBA_DefinitionKind limit_type, const CORBA_boolean exclude_inherited, 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[12]; } _ORBIT_operation_name_data = { 12, "lookup_name" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 16}; CORBA_ContainedSeq *_ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->lookup_name(_obj->servant, search_name, levels_to_search, limit_type, exclude_inherited, 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 search_name */ { GIOP_unsigned_long len = search_name ? (strlen(search_name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (search_name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), search_name, len); } /* marshal parameter levels_to_search */ giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &levels_to_search, sizeof(levels_to_search)); /* marshal parameter limit_type */ giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &limit_type, sizeof(limit_type)); /* marshal parameter exclude_inherited */ giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &exclude_inherited, sizeof(exclude_inherited)); 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_ContainedSeq__alloc(); 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); GET_ATOM((*_ORBIT_retval)._length); (*_ORBIT_retval)._release = CORBA_TRUE; (*_ORBIT_retval)._buffer = CORBA_sequence_CORBA_Contained_allocbuf((*_ORBIT_retval)._length); { int i1; for (i1 = 0; i1 < (*_ORBIT_retval)._length; i1++) { (*_ORBIT_retval)._buffer[i1] = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } } } else { /* demarshal return value */ GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); (*_ORBIT_retval)._length = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); (*_ORBIT_retval)._release = CORBA_TRUE; (*_ORBIT_retval)._buffer = CORBA_sequence_CORBA_Contained_allocbuf((*_ORBIT_retval)._length); { int i1; for (i1 = 0; i1 < (*_ORBIT_retval)._length; i1++) { (*_ORBIT_retval)._buffer[i1] = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_Container_DescriptionSeq * CORBA_StructDef_describe_contents(CORBA_StructDef _obj, const CORBA_DefinitionKind limit_type, const CORBA_boolean exclude_inherited, const CORBA_long max_returned_objs, 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[18]; } _ORBIT_operation_name_data = { 18, "describe_contents" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 22}; CORBA_Container_DescriptionSeq *_ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->describe_contents(_obj->servant, limit_type, exclude_inherited, max_returned_objs, 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 limit_type */ giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &limit_type, sizeof(limit_type)); /* marshal parameter exclude_inherited */ giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &exclude_inherited, sizeof(exclude_inherited)); /* marshal parameter max_returned_objs */ giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &max_returned_objs, sizeof(max_returned_objs)); 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_Container_DescriptionSeq__alloc(); 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); GET_ATOM((*_ORBIT_retval)._length); (*_ORBIT_retval)._release = CORBA_TRUE; (*_ORBIT_retval)._buffer = CORBA_sequence_CORBA_Container_Description_allocbuf((*_ORBIT_retval)._length); { int i1; for (i1 = 0; i1 < (*_ORBIT_retval)._length; i1++) { ((*_ORBIT_retval)._buffer[i1]).contained_object = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(((*_ORBIT_retval)._buffer[i1]).kind); ORBit_demarshal_any(_ORBIT_recv_buffer, &(((*_ORBIT_retval)._buffer[i1]).value), CORBA_TRUE, (_obj->orb)); } } } else { /* demarshal return value */ GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); (*_ORBIT_retval)._length = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); (*_ORBIT_retval)._release = CORBA_TRUE; (*_ORBIT_retval)._buffer = CORBA_sequence_CORBA_Container_Description_allocbuf((*_ORBIT_retval)._length); { int i1; for (i1 = 0; i1 < (*_ORBIT_retval)._length; i1++) { ((*_ORBIT_retval)._buffer[i1]).contained_object = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); ((*_ORBIT_retval)._buffer[i1]).kind = *((CORBA_DefinitionKind *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_DefinitionKind); ORBit_demarshal_any(_ORBIT_recv_buffer, &(((*_ORBIT_retval)._buffer[i1]).value), CORBA_TRUE, (_obj->orb)); } } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_ModuleDef CORBA_StructDef_create_module(CORBA_StructDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, 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[14]; } _ORBIT_operation_name_data = { 14, "create_module" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 18}; CORBA_ModuleDef _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->create_module(_obj->servant, id, name, version, 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 id */ { GIOP_unsigned_long len = id ? (strlen(id) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (id) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), id, len); } /* marshal parameter name */ { GIOP_unsigned_long len = name ? (strlen(name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), name, len); } /* marshal parameter version */ { GIOP_unsigned_long len = version ? (strlen(version) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (version) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), version, len); } 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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_ConstantDef CORBA_StructDef_create_constant(CORBA_StructDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_IDLType type, const CORBA_any * value, 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[16]; } _ORBIT_operation_name_data = { 16, "create_constant" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 20}; CORBA_ConstantDef _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->create_constant(_obj->servant, id, name, version, type, value, 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 id */ { GIOP_unsigned_long len = id ? (strlen(id) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (id) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), id, len); } /* marshal parameter name */ { GIOP_unsigned_long len = name ? (strlen(name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), name, len); } /* marshal parameter version */ { GIOP_unsigned_long len = version ? (strlen(version) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (version) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), version, len); } /* marshal parameter type */ ORBit_marshal_object(_ORBIT_send_buffer, type); /* marshal parameter *value */ ORBit_marshal_any(_ORBIT_send_buffer, &(*value)); 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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_StructDef CORBA_StructDef_create_struct(CORBA_StructDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_StructMemberSeq * members, 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[14]; } _ORBIT_operation_name_data = { 14, "create_struct" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 18}; CORBA_StructDef _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->create_struct(_obj->servant, id, name, version, members, 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 id */ { GIOP_unsigned_long len = id ? (strlen(id) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (id) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), id, len); } /* marshal parameter name */ { GIOP_unsigned_long len = name ? (strlen(name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), name, len); } /* marshal parameter version */ { GIOP_unsigned_long len = version ? (strlen(version) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (version) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), version, len); } /* marshal parameter *members */ { GIOP_unsigned_long i1; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &(*members)._length, sizeof((*members)._length)); for (i1 = 0; i1 < (*members)._length; i1++) { { GIOP_unsigned_long len = ((*members)._buffer[i1]).name ? (strlen(((*members)._buffer[i1]).name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (((*members)._buffer[i1]).name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*members)._buffer[i1]).name, len); } ORBit_encode_CORBA_TypeCode(((*members)._buffer[i1]).type, _ORBIT_send_buffer); ORBit_marshal_object(_ORBIT_send_buffer, ((*members)._buffer[i1]).type_def); } } 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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_UnionDef CORBA_StructDef_create_union(CORBA_StructDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_IDLType discriminator_type, const CORBA_UnionMemberSeq * members, 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[13]; } _ORBIT_operation_name_data = { 13, "create_union" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 17}; CORBA_UnionDef _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->create_union(_obj->servant, id, name, version, discriminator_type, members, 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 id */ { GIOP_unsigned_long len = id ? (strlen(id) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (id) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), id, len); } /* marshal parameter name */ { GIOP_unsigned_long len = name ? (strlen(name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), name, len); } /* marshal parameter version */ { GIOP_unsigned_long len = version ? (strlen(version) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (version) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), version, len); } /* marshal parameter discriminator_type */ ORBit_marshal_object(_ORBIT_send_buffer, discriminator_type); /* marshal parameter *members */ { GIOP_unsigned_long i1; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &(*members)._length, sizeof((*members)._length)); for (i1 = 0; i1 < (*members)._length; i1++) { { GIOP_unsigned_long len = ((*members)._buffer[i1]).name ? (strlen(((*members)._buffer[i1]).name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (((*members)._buffer[i1]).name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*members)._buffer[i1]).name, len); } ORBit_marshal_any(_ORBIT_send_buffer, &(((*members)._buffer[i1]).label)); ORBit_encode_CORBA_TypeCode(((*members)._buffer[i1]).type, _ORBIT_send_buffer); ORBit_marshal_object(_ORBIT_send_buffer, ((*members)._buffer[i1]).type_def); } } 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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_EnumDef CORBA_StructDef_create_enum(CORBA_StructDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_EnumMemberSeq * members, 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[12]; } _ORBIT_operation_name_data = { 12, "create_enum" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 16}; CORBA_EnumDef _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->create_enum(_obj->servant, id, name, version, members, 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 id */ { GIOP_unsigned_long len = id ? (strlen(id) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (id) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), id, len); } /* marshal parameter name */ { GIOP_unsigned_long len = name ? (strlen(name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), name, len); } /* marshal parameter version */ { GIOP_unsigned_long len = version ? (strlen(version) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (version) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), version, len); } /* marshal parameter *members */ { GIOP_unsigned_long i1; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &(*members)._length, sizeof((*members)._length)); for (i1 = 0; i1 < (*members)._length; i1++) { { GIOP_unsigned_long len = (*members)._buffer[i1] ? (strlen((*members)._buffer[i1]) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if ((*members)._buffer[i1]) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (*members)._buffer[i1], len); } } } 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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_AliasDef CORBA_StructDef_create_alias(CORBA_StructDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_IDLType original_type, 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[13]; } _ORBIT_operation_name_data = { 13, "create_alias" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 17}; CORBA_AliasDef _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->create_alias(_obj->servant, id, name, version, original_type, 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 id */ { GIOP_unsigned_long len = id ? (strlen(id) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (id) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), id, len); } /* marshal parameter name */ { GIOP_unsigned_long len = name ? (strlen(name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), name, len); } /* marshal parameter version */ { GIOP_unsigned_long len = version ? (strlen(version) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (version) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), version, len); } /* marshal parameter original_type */ ORBit_marshal_object(_ORBIT_send_buffer, original_type); 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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_InterfaceDef CORBA_StructDef_create_interface(CORBA_StructDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_InterfaceDefSeq * base_interfaces, 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[17]; } _ORBIT_operation_name_data = { 17, "create_interface" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 21}; CORBA_InterfaceDef _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->create_interface(_obj->servant, id, name, version, base_interfaces, 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 id */ { GIOP_unsigned_long len = id ? (strlen(id) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (id) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), id, len); } /* marshal parameter name */ { GIOP_unsigned_long len = name ? (strlen(name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), name, len); } /* marshal parameter version */ { GIOP_unsigned_long len = version ? (strlen(version) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (version) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), version, len); } /* marshal parameter *base_interfaces */ { GIOP_unsigned_long i1; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &(*base_interfaces)._length, sizeof((*base_interfaces)._length)); for (i1 = 0; i1 < (*base_interfaces)._length; i1++) { ORBit_marshal_object(_ORBIT_send_buffer, (*base_interfaces)._buffer[i1]); } } 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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_ExceptionDef CORBA_StructDef_create_exception(CORBA_StructDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_StructMemberSeq * members, 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[17]; } _ORBIT_operation_name_data = { 17, "create_exception" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 21}; CORBA_ExceptionDef _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->create_exception(_obj->servant, id, name, version, members, 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 id */ { GIOP_unsigned_long len = id ? (strlen(id) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (id) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), id, len); } /* marshal parameter name */ { GIOP_unsigned_long len = name ? (strlen(name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), name, len); } /* marshal parameter version */ { GIOP_unsigned_long len = version ? (strlen(version) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (version) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), version, len); } /* marshal parameter *members */ { GIOP_unsigned_long i1; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &(*members)._length, sizeof((*members)._length)); for (i1 = 0; i1 < (*members)._length; i1++) { { GIOP_unsigned_long len = ((*members)._buffer[i1]).name ? (strlen(((*members)._buffer[i1]).name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (((*members)._buffer[i1]).name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*members)._buffer[i1]).name, len); } ORBit_encode_CORBA_TypeCode(((*members)._buffer[i1]).type, _ORBIT_send_buffer); ORBit_marshal_object(_ORBIT_send_buffer, ((*members)._buffer[i1]).type_def); } } 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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } /* End inherited operations for CORBA_StructDef */ CORBA_TypeCode CORBA_UnionDef__get_discriminator_type(CORBA_UnionDef _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[24]; } _ORBIT_operation_name_data = { 24, "_get_discriminator_type" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 28}; CORBA_TypeCode _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_UnionDef__classid) { return ((POA_CORBA_UnionDef__epv *) _obj->vepv[CORBA_UnionDef__classid])->_get_discriminator_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; } CORBA_IDLType CORBA_UnionDef__get_discriminator_type_def(CORBA_UnionDef _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[28]; } _ORBIT_operation_name_data = { 28, "_get_discriminator_type_def" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 32}; CORBA_IDLType _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_UnionDef__classid) { return ((POA_CORBA_UnionDef__epv *) _obj->vepv[CORBA_UnionDef__classid])->_get_discriminator_type_def(_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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_UnionDef__set_discriminator_type_def(CORBA_UnionDef _obj, const CORBA_IDLType value, 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[28]; } _ORBIT_operation_name_data = { 28, "_set_discriminator_type_def" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 32}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_UnionDef__classid) { ((POA_CORBA_UnionDef__epv *) _obj->vepv[CORBA_UnionDef__classid])->_set_discriminator_type_def(_obj->servant, value, ev); return; } _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_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; } /* marshal parameter value */ ORBit_marshal_object(_ORBIT_send_buffer, value); 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } CORBA_UnionMemberSeq * CORBA_UnionDef__get_members(CORBA_UnionDef _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[13]; } _ORBIT_operation_name_data = { 13, "_get_members" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 17}; CORBA_UnionMemberSeq *_ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_UnionDef__classid) { return ((POA_CORBA_UnionDef__epv *) _obj->vepv[CORBA_UnionDef__classid])->_get_members(_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; } } _ORBIT_retval = CORBA_UnionMemberSeq__alloc(); 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); GET_ATOM((*_ORBIT_retval)._length); (*_ORBIT_retval)._release = CORBA_TRUE; (*_ORBIT_retval)._buffer = CORBA_sequence_CORBA_UnionMember_allocbuf((*_ORBIT_retval)._length); { int i1; for (i1 = 0; i1 < (*_ORBIT_retval)._length; i1++) { { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(len); ((*_ORBIT_retval)._buffer[i1]).name = CORBA_string_alloc(len); if (len) strncpy(((*_ORBIT_retval)._buffer[i1]).name, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (((*_ORBIT_retval)._buffer[i1]).name)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } ORBit_demarshal_any(_ORBIT_recv_buffer, &(((*_ORBIT_retval)._buffer[i1]).label), CORBA_TRUE, (_obj->orb)); GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); ORBit_decode_CORBA_TypeCode(&((*_ORBIT_retval)._buffer[i1]).type, _ORBIT_recv_buffer); ((*_ORBIT_retval)._buffer[i1]).type_def = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } } } else { /* demarshal return value */ GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); (*_ORBIT_retval)._length = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); (*_ORBIT_retval)._release = CORBA_TRUE; (*_ORBIT_retval)._buffer = CORBA_sequence_CORBA_UnionMember_allocbuf((*_ORBIT_retval)._length); { int i1; for (i1 = 0; i1 < (*_ORBIT_retval)._length; i1++) { { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); ((*_ORBIT_retval)._buffer[i1]).name = CORBA_string_alloc(len); if (len) strncpy(((*_ORBIT_retval)._buffer[i1]).name, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (((*_ORBIT_retval)._buffer[i1]).name)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } ORBit_demarshal_any(_ORBIT_recv_buffer, &(((*_ORBIT_retval)._buffer[i1]).label), CORBA_TRUE, (_obj->orb)); GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); ORBit_decode_CORBA_TypeCode(&((*_ORBIT_retval)._buffer[i1]).type, _ORBIT_recv_buffer); ((*_ORBIT_retval)._buffer[i1]).type_def = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_UnionDef__set_members(CORBA_UnionDef _obj, const CORBA_UnionMemberSeq * value, 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[13]; } _ORBIT_operation_name_data = { 13, "_set_members" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 17}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_UnionDef__classid) { ((POA_CORBA_UnionDef__epv *) _obj->vepv[CORBA_UnionDef__classid])->_set_members(_obj->servant, value, ev); return; } _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_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; } /* marshal parameter *value */ { GIOP_unsigned_long i1; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &(*value)._length, sizeof((*value)._length)); for (i1 = 0; i1 < (*value)._length; i1++) { { GIOP_unsigned_long len = ((*value)._buffer[i1]).name ? (strlen(((*value)._buffer[i1]).name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (((*value)._buffer[i1]).name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*value)._buffer[i1]).name, len); } ORBit_marshal_any(_ORBIT_send_buffer, &(((*value)._buffer[i1]).label)); ORBit_encode_CORBA_TypeCode(((*value)._buffer[i1]).type, _ORBIT_send_buffer); ORBit_marshal_object(_ORBIT_send_buffer, ((*value)._buffer[i1]).type_def); } } 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } /* Begin inherited operations for CORBA_UnionDef */ /* From interface CORBA_IRObject */ CORBA_DefinitionKind CORBA_UnionDef__get_def_kind(CORBA_UnionDef _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[14]; } _ORBIT_operation_name_data = { 14, "_get_def_kind" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 18}; CORBA_DefinitionKind _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_IRObject__classid) { return ((POA_CORBA_IRObject__epv *) _obj->vepv[CORBA_IRObject__classid])->_get_def_kind(_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); GET_ATOM(_ORBIT_retval); } else { /* demarshal return value */ GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); _ORBIT_retval = *((CORBA_DefinitionKind *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_DefinitionKind); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_UnionDef_destroy(CORBA_UnionDef _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[8]; } _ORBIT_operation_name_data = { 8, "destroy" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 12}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_IRObject__classid) { ((POA_CORBA_IRObject__epv *) _obj->vepv[CORBA_IRObject__classid])->destroy(_obj->servant, ev); return; } _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_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; } 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } /* From interface CORBA_Contained */ CORBA_RepositoryId CORBA_UnionDef__get_id(CORBA_UnionDef _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[8]; } _ORBIT_operation_name_data = { 8, "_get_id" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 12}; CORBA_RepositoryId _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_get_id(_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_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(len); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } else { /* demarshal return value */ { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_UnionDef__set_id(CORBA_UnionDef _obj, const CORBA_RepositoryId value, 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[8]; } _ORBIT_operation_name_data = { 8, "_set_id" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 12}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_set_id(_obj->servant, value, ev); return; } _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_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; } /* marshal parameter value */ { GIOP_unsigned_long len = value ? (strlen(value) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (value) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), value, len); } 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } CORBA_Identifier CORBA_UnionDef__get_name(CORBA_UnionDef _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_name" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 14}; CORBA_Identifier _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_get_name(_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_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(len); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } else { /* demarshal return value */ { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_UnionDef__set_name(CORBA_UnionDef _obj, const CORBA_Identifier value, 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, "_set_name" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 14}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_set_name(_obj->servant, value, ev); return; } _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_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; } /* marshal parameter value */ { GIOP_unsigned_long len = value ? (strlen(value) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (value) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), value, len); } 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } CORBA_VersionSpec CORBA_UnionDef__get_version(CORBA_UnionDef _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[13]; } _ORBIT_operation_name_data = { 13, "_get_version" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 17}; CORBA_VersionSpec _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_get_version(_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_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(len); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } else { /* demarshal return value */ { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_UnionDef__set_version(CORBA_UnionDef _obj, const CORBA_VersionSpec value, 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[13]; } _ORBIT_operation_name_data = { 13, "_set_version" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 17}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_set_version(_obj->servant, value, ev); return; } _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_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; } /* marshal parameter value */ { GIOP_unsigned_long len = value ? (strlen(value) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (value) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), value, len); } 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } CORBA_Container CORBA_UnionDef__get_defined_in(CORBA_UnionDef _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[16]; } _ORBIT_operation_name_data = { 16, "_get_defined_in" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 20}; CORBA_Container _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_get_defined_in(_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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_ScopedName CORBA_UnionDef__get_absolute_name(CORBA_UnionDef _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[19]; } _ORBIT_operation_name_data = { 19, "_get_absolute_name" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 23}; CORBA_ScopedName _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_get_absolute_name(_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_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(len); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } else { /* demarshal return value */ { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_Repository CORBA_UnionDef__get_containing_repository(CORBA_UnionDef _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[27]; } _ORBIT_operation_name_data = { 27, "_get_containing_repository" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 31}; CORBA_Repository _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_get_containing_repository(_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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_Contained_Description * CORBA_UnionDef_describe(CORBA_UnionDef _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[9]; } _ORBIT_operation_name_data = { 9, "describe" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 13}; CORBA_Contained_Description *_ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->describe(_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; } } _ORBIT_retval = CORBA_Contained_Description__alloc(); 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); GET_ATOM((*_ORBIT_retval).kind); ORBit_demarshal_any(_ORBIT_recv_buffer, &((*_ORBIT_retval).value), CORBA_TRUE, (_obj->orb)); } else { /* demarshal return value */ GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); (*_ORBIT_retval).kind = *((CORBA_DefinitionKind *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_DefinitionKind); ORBit_demarshal_any(_ORBIT_recv_buffer, &((*_ORBIT_retval).value), CORBA_TRUE, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_UnionDef_move(CORBA_UnionDef _obj, const CORBA_Container new_container, const CORBA_Identifier new_name, const CORBA_VersionSpec new_version, 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[5]; } _ORBIT_operation_name_data = { 5, "move" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 9}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->move(_obj->servant, new_container, new_name, new_version, ev); return; } _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_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; } /* marshal parameter new_container */ ORBit_marshal_object(_ORBIT_send_buffer, new_container); /* marshal parameter new_name */ { GIOP_unsigned_long len = new_name ? (strlen(new_name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (new_name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), new_name, len); } /* marshal parameter new_version */ { GIOP_unsigned_long len = new_version ? (strlen(new_version) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (new_version) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), new_version, len); } 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } /* From interface CORBA_IDLType */ CORBA_TypeCode CORBA_UnionDef__get_type(CORBA_UnionDef _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 && CORBA_IDLType__classid) { return ((POA_CORBA_IDLType__epv *) _obj->vepv[CORBA_IDLType__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; } /* From interface CORBA_TypedefDef */ /* From interface CORBA_Container */ CORBA_Contained CORBA_UnionDef_lookup(CORBA_UnionDef _obj, const CORBA_ScopedName search_name, 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[7]; } _ORBIT_operation_name_data = { 7, "lookup" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 11}; CORBA_Contained _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->lookup(_obj->servant, search_name, 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 search_name */ { GIOP_unsigned_long len = search_name ? (strlen(search_name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (search_name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), search_name, len); } 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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_ContainedSeq * CORBA_UnionDef_contents(CORBA_UnionDef _obj, const CORBA_DefinitionKind limit_type, const CORBA_boolean exclude_inherited, 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[9]; } _ORBIT_operation_name_data = { 9, "contents" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 13}; CORBA_ContainedSeq *_ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->contents(_obj->servant, limit_type, exclude_inherited, 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 limit_type */ giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &limit_type, sizeof(limit_type)); /* marshal parameter exclude_inherited */ giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &exclude_inherited, sizeof(exclude_inherited)); 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_ContainedSeq__alloc(); 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); GET_ATOM((*_ORBIT_retval)._length); (*_ORBIT_retval)._release = CORBA_TRUE; (*_ORBIT_retval)._buffer = CORBA_sequence_CORBA_Contained_allocbuf((*_ORBIT_retval)._length); { int i1; for (i1 = 0; i1 < (*_ORBIT_retval)._length; i1++) { (*_ORBIT_retval)._buffer[i1] = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } } } else { /* demarshal return value */ GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); (*_ORBIT_retval)._length = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); (*_ORBIT_retval)._release = CORBA_TRUE; (*_ORBIT_retval)._buffer = CORBA_sequence_CORBA_Contained_allocbuf((*_ORBIT_retval)._length); { int i1; for (i1 = 0; i1 < (*_ORBIT_retval)._length; i1++) { (*_ORBIT_retval)._buffer[i1] = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_ContainedSeq * CORBA_UnionDef_lookup_name(CORBA_UnionDef _obj, const CORBA_Identifier search_name, const CORBA_long levels_to_search, const CORBA_DefinitionKind limit_type, const CORBA_boolean exclude_inherited, 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[12]; } _ORBIT_operation_name_data = { 12, "lookup_name" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 16}; CORBA_ContainedSeq *_ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->lookup_name(_obj->servant, search_name, levels_to_search, limit_type, exclude_inherited, 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 search_name */ { GIOP_unsigned_long len = search_name ? (strlen(search_name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (search_name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), search_name, len); } /* marshal parameter levels_to_search */ giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &levels_to_search, sizeof(levels_to_search)); /* marshal parameter limit_type */ giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &limit_type, sizeof(limit_type)); /* marshal parameter exclude_inherited */ giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &exclude_inherited, sizeof(exclude_inherited)); 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_ContainedSeq__alloc(); 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); GET_ATOM((*_ORBIT_retval)._length); (*_ORBIT_retval)._release = CORBA_TRUE; (*_ORBIT_retval)._buffer = CORBA_sequence_CORBA_Contained_allocbuf((*_ORBIT_retval)._length); { int i1; for (i1 = 0; i1 < (*_ORBIT_retval)._length; i1++) { (*_ORBIT_retval)._buffer[i1] = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } } } else { /* demarshal return value */ GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); (*_ORBIT_retval)._length = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); (*_ORBIT_retval)._release = CORBA_TRUE; (*_ORBIT_retval)._buffer = CORBA_sequence_CORBA_Contained_allocbuf((*_ORBIT_retval)._length); { int i1; for (i1 = 0; i1 < (*_ORBIT_retval)._length; i1++) { (*_ORBIT_retval)._buffer[i1] = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_Container_DescriptionSeq * CORBA_UnionDef_describe_contents(CORBA_UnionDef _obj, const CORBA_DefinitionKind limit_type, const CORBA_boolean exclude_inherited, const CORBA_long max_returned_objs, 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[18]; } _ORBIT_operation_name_data = { 18, "describe_contents" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 22}; CORBA_Container_DescriptionSeq *_ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->describe_contents(_obj->servant, limit_type, exclude_inherited, max_returned_objs, 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 limit_type */ giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &limit_type, sizeof(limit_type)); /* marshal parameter exclude_inherited */ giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &exclude_inherited, sizeof(exclude_inherited)); /* marshal parameter max_returned_objs */ giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &max_returned_objs, sizeof(max_returned_objs)); 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_Container_DescriptionSeq__alloc(); 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); GET_ATOM((*_ORBIT_retval)._length); (*_ORBIT_retval)._release = CORBA_TRUE; (*_ORBIT_retval)._buffer = CORBA_sequence_CORBA_Container_Description_allocbuf((*_ORBIT_retval)._length); { int i1; for (i1 = 0; i1 < (*_ORBIT_retval)._length; i1++) { ((*_ORBIT_retval)._buffer[i1]).contained_object = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(((*_ORBIT_retval)._buffer[i1]).kind); ORBit_demarshal_any(_ORBIT_recv_buffer, &(((*_ORBIT_retval)._buffer[i1]).value), CORBA_TRUE, (_obj->orb)); } } } else { /* demarshal return value */ GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); (*_ORBIT_retval)._length = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); (*_ORBIT_retval)._release = CORBA_TRUE; (*_ORBIT_retval)._buffer = CORBA_sequence_CORBA_Container_Description_allocbuf((*_ORBIT_retval)._length); { int i1; for (i1 = 0; i1 < (*_ORBIT_retval)._length; i1++) { ((*_ORBIT_retval)._buffer[i1]).contained_object = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); ((*_ORBIT_retval)._buffer[i1]).kind = *((CORBA_DefinitionKind *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_DefinitionKind); ORBit_demarshal_any(_ORBIT_recv_buffer, &(((*_ORBIT_retval)._buffer[i1]).value), CORBA_TRUE, (_obj->orb)); } } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_ModuleDef CORBA_UnionDef_create_module(CORBA_UnionDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, 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[14]; } _ORBIT_operation_name_data = { 14, "create_module" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 18}; CORBA_ModuleDef _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->create_module(_obj->servant, id, name, version, 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 id */ { GIOP_unsigned_long len = id ? (strlen(id) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (id) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), id, len); } /* marshal parameter name */ { GIOP_unsigned_long len = name ? (strlen(name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), name, len); } /* marshal parameter version */ { GIOP_unsigned_long len = version ? (strlen(version) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (version) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), version, len); } 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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_ConstantDef CORBA_UnionDef_create_constant(CORBA_UnionDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_IDLType type, const CORBA_any * value, 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[16]; } _ORBIT_operation_name_data = { 16, "create_constant" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 20}; CORBA_ConstantDef _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->create_constant(_obj->servant, id, name, version, type, value, 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 id */ { GIOP_unsigned_long len = id ? (strlen(id) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (id) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), id, len); } /* marshal parameter name */ { GIOP_unsigned_long len = name ? (strlen(name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), name, len); } /* marshal parameter version */ { GIOP_unsigned_long len = version ? (strlen(version) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (version) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), version, len); } /* marshal parameter type */ ORBit_marshal_object(_ORBIT_send_buffer, type); /* marshal parameter *value */ ORBit_marshal_any(_ORBIT_send_buffer, &(*value)); 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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_StructDef CORBA_UnionDef_create_struct(CORBA_UnionDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_StructMemberSeq * members, 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[14]; } _ORBIT_operation_name_data = { 14, "create_struct" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 18}; CORBA_StructDef _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->create_struct(_obj->servant, id, name, version, members, 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 id */ { GIOP_unsigned_long len = id ? (strlen(id) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (id) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), id, len); } /* marshal parameter name */ { GIOP_unsigned_long len = name ? (strlen(name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), name, len); } /* marshal parameter version */ { GIOP_unsigned_long len = version ? (strlen(version) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (version) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), version, len); } /* marshal parameter *members */ { GIOP_unsigned_long i1; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &(*members)._length, sizeof((*members)._length)); for (i1 = 0; i1 < (*members)._length; i1++) { { GIOP_unsigned_long len = ((*members)._buffer[i1]).name ? (strlen(((*members)._buffer[i1]).name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (((*members)._buffer[i1]).name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*members)._buffer[i1]).name, len); } ORBit_encode_CORBA_TypeCode(((*members)._buffer[i1]).type, _ORBIT_send_buffer); ORBit_marshal_object(_ORBIT_send_buffer, ((*members)._buffer[i1]).type_def); } } 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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_UnionDef CORBA_UnionDef_create_union(CORBA_UnionDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_IDLType discriminator_type, const CORBA_UnionMemberSeq * members, 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[13]; } _ORBIT_operation_name_data = { 13, "create_union" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 17}; CORBA_UnionDef _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->create_union(_obj->servant, id, name, version, discriminator_type, members, 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 id */ { GIOP_unsigned_long len = id ? (strlen(id) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (id) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), id, len); } /* marshal parameter name */ { GIOP_unsigned_long len = name ? (strlen(name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), name, len); } /* marshal parameter version */ { GIOP_unsigned_long len = version ? (strlen(version) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (version) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), version, len); } /* marshal parameter discriminator_type */ ORBit_marshal_object(_ORBIT_send_buffer, discriminator_type); /* marshal parameter *members */ { GIOP_unsigned_long i1; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &(*members)._length, sizeof((*members)._length)); for (i1 = 0; i1 < (*members)._length; i1++) { { GIOP_unsigned_long len = ((*members)._buffer[i1]).name ? (strlen(((*members)._buffer[i1]).name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (((*members)._buffer[i1]).name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*members)._buffer[i1]).name, len); } ORBit_marshal_any(_ORBIT_send_buffer, &(((*members)._buffer[i1]).label)); ORBit_encode_CORBA_TypeCode(((*members)._buffer[i1]).type, _ORBIT_send_buffer); ORBit_marshal_object(_ORBIT_send_buffer, ((*members)._buffer[i1]).type_def); } } 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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_EnumDef CORBA_UnionDef_create_enum(CORBA_UnionDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_EnumMemberSeq * members, 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[12]; } _ORBIT_operation_name_data = { 12, "create_enum" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 16}; CORBA_EnumDef _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->create_enum(_obj->servant, id, name, version, members, 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 id */ { GIOP_unsigned_long len = id ? (strlen(id) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (id) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), id, len); } /* marshal parameter name */ { GIOP_unsigned_long len = name ? (strlen(name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), name, len); } /* marshal parameter version */ { GIOP_unsigned_long len = version ? (strlen(version) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (version) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), version, len); } /* marshal parameter *members */ { GIOP_unsigned_long i1; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &(*members)._length, sizeof((*members)._length)); for (i1 = 0; i1 < (*members)._length; i1++) { { GIOP_unsigned_long len = (*members)._buffer[i1] ? (strlen((*members)._buffer[i1]) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if ((*members)._buffer[i1]) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (*members)._buffer[i1], len); } } } 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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_AliasDef CORBA_UnionDef_create_alias(CORBA_UnionDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_IDLType original_type, 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[13]; } _ORBIT_operation_name_data = { 13, "create_alias" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 17}; CORBA_AliasDef _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->create_alias(_obj->servant, id, name, version, original_type, 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 id */ { GIOP_unsigned_long len = id ? (strlen(id) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (id) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), id, len); } /* marshal parameter name */ { GIOP_unsigned_long len = name ? (strlen(name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), name, len); } /* marshal parameter version */ { GIOP_unsigned_long len = version ? (strlen(version) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (version) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), version, len); } /* marshal parameter original_type */ ORBit_marshal_object(_ORBIT_send_buffer, original_type); 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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_InterfaceDef CORBA_UnionDef_create_interface(CORBA_UnionDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_InterfaceDefSeq * base_interfaces, 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[17]; } _ORBIT_operation_name_data = { 17, "create_interface" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 21}; CORBA_InterfaceDef _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->create_interface(_obj->servant, id, name, version, base_interfaces, 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 id */ { GIOP_unsigned_long len = id ? (strlen(id) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (id) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), id, len); } /* marshal parameter name */ { GIOP_unsigned_long len = name ? (strlen(name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), name, len); } /* marshal parameter version */ { GIOP_unsigned_long len = version ? (strlen(version) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (version) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), version, len); } /* marshal parameter *base_interfaces */ { GIOP_unsigned_long i1; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &(*base_interfaces)._length, sizeof((*base_interfaces)._length)); for (i1 = 0; i1 < (*base_interfaces)._length; i1++) { ORBit_marshal_object(_ORBIT_send_buffer, (*base_interfaces)._buffer[i1]); } } 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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_ExceptionDef CORBA_UnionDef_create_exception(CORBA_UnionDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_StructMemberSeq * members, 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[17]; } _ORBIT_operation_name_data = { 17, "create_exception" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 21}; CORBA_ExceptionDef _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->create_exception(_obj->servant, id, name, version, members, 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 id */ { GIOP_unsigned_long len = id ? (strlen(id) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (id) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), id, len); } /* marshal parameter name */ { GIOP_unsigned_long len = name ? (strlen(name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), name, len); } /* marshal parameter version */ { GIOP_unsigned_long len = version ? (strlen(version) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (version) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), version, len); } /* marshal parameter *members */ { GIOP_unsigned_long i1; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &(*members)._length, sizeof((*members)._length)); for (i1 = 0; i1 < (*members)._length; i1++) { { GIOP_unsigned_long len = ((*members)._buffer[i1]).name ? (strlen(((*members)._buffer[i1]).name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (((*members)._buffer[i1]).name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*members)._buffer[i1]).name, len); } ORBit_encode_CORBA_TypeCode(((*members)._buffer[i1]).type, _ORBIT_send_buffer); ORBit_marshal_object(_ORBIT_send_buffer, ((*members)._buffer[i1]).type_def); } } 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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } /* End inherited operations for CORBA_UnionDef */ CORBA_EnumMemberSeq * CORBA_EnumDef__get_members(CORBA_EnumDef _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[13]; } _ORBIT_operation_name_data = { 13, "_get_members" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 17}; CORBA_EnumMemberSeq *_ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_EnumDef__classid) { return ((POA_CORBA_EnumDef__epv *) _obj->vepv[CORBA_EnumDef__classid])->_get_members(_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; } } _ORBIT_retval = CORBA_EnumMemberSeq__alloc(); 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); GET_ATOM((*_ORBIT_retval)._length); (*_ORBIT_retval)._release = CORBA_TRUE; (*_ORBIT_retval)._buffer = CORBA_sequence_CORBA_Identifier_allocbuf((*_ORBIT_retval)._length); { int i1; for (i1 = 0; i1 < (*_ORBIT_retval)._length; i1++) { { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(len); (*_ORBIT_retval)._buffer[i1] = CORBA_string_alloc(len); if (len) strncpy((*_ORBIT_retval)._buffer[i1], GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else ((*_ORBIT_retval)._buffer[i1])[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } } } else { /* demarshal return value */ GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); (*_ORBIT_retval)._length = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); (*_ORBIT_retval)._release = CORBA_TRUE; (*_ORBIT_retval)._buffer = CORBA_sequence_CORBA_Identifier_allocbuf((*_ORBIT_retval)._length); { int i1; for (i1 = 0; i1 < (*_ORBIT_retval)._length; i1++) { { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); (*_ORBIT_retval)._buffer[i1] = CORBA_string_alloc(len); if (len) strncpy((*_ORBIT_retval)._buffer[i1], GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else ((*_ORBIT_retval)._buffer[i1])[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_EnumDef__set_members(CORBA_EnumDef _obj, const CORBA_EnumMemberSeq * value, 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[13]; } _ORBIT_operation_name_data = { 13, "_set_members" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 17}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_EnumDef__classid) { ((POA_CORBA_EnumDef__epv *) _obj->vepv[CORBA_EnumDef__classid])->_set_members(_obj->servant, value, ev); return; } _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_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; } /* marshal parameter *value */ { GIOP_unsigned_long i1; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &(*value)._length, sizeof((*value)._length)); for (i1 = 0; i1 < (*value)._length; i1++) { { GIOP_unsigned_long len = (*value)._buffer[i1] ? (strlen((*value)._buffer[i1]) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if ((*value)._buffer[i1]) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (*value)._buffer[i1], len); } } } 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } /* Begin inherited operations for CORBA_EnumDef */ /* From interface CORBA_IRObject */ CORBA_DefinitionKind CORBA_EnumDef__get_def_kind(CORBA_EnumDef _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[14]; } _ORBIT_operation_name_data = { 14, "_get_def_kind" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 18}; CORBA_DefinitionKind _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_IRObject__classid) { return ((POA_CORBA_IRObject__epv *) _obj->vepv[CORBA_IRObject__classid])->_get_def_kind(_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); GET_ATOM(_ORBIT_retval); } else { /* demarshal return value */ GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); _ORBIT_retval = *((CORBA_DefinitionKind *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_DefinitionKind); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_EnumDef_destroy(CORBA_EnumDef _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[8]; } _ORBIT_operation_name_data = { 8, "destroy" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 12}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_IRObject__classid) { ((POA_CORBA_IRObject__epv *) _obj->vepv[CORBA_IRObject__classid])->destroy(_obj->servant, ev); return; } _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_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; } 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } /* From interface CORBA_Contained */ CORBA_RepositoryId CORBA_EnumDef__get_id(CORBA_EnumDef _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[8]; } _ORBIT_operation_name_data = { 8, "_get_id" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 12}; CORBA_RepositoryId _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_get_id(_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_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(len); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } else { /* demarshal return value */ { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_EnumDef__set_id(CORBA_EnumDef _obj, const CORBA_RepositoryId value, 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[8]; } _ORBIT_operation_name_data = { 8, "_set_id" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 12}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_set_id(_obj->servant, value, ev); return; } _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_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; } /* marshal parameter value */ { GIOP_unsigned_long len = value ? (strlen(value) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (value) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), value, len); } 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } CORBA_Identifier CORBA_EnumDef__get_name(CORBA_EnumDef _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_name" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 14}; CORBA_Identifier _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_get_name(_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_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(len); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } else { /* demarshal return value */ { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_EnumDef__set_name(CORBA_EnumDef _obj, const CORBA_Identifier value, 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, "_set_name" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 14}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_set_name(_obj->servant, value, ev); return; } _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_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; } /* marshal parameter value */ { GIOP_unsigned_long len = value ? (strlen(value) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (value) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), value, len); } 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } CORBA_VersionSpec CORBA_EnumDef__get_version(CORBA_EnumDef _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[13]; } _ORBIT_operation_name_data = { 13, "_get_version" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 17}; CORBA_VersionSpec _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_get_version(_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_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(len); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } else { /* demarshal return value */ { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_EnumDef__set_version(CORBA_EnumDef _obj, const CORBA_VersionSpec value, 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[13]; } _ORBIT_operation_name_data = { 13, "_set_version" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 17}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_set_version(_obj->servant, value, ev); return; } _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_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; } /* marshal parameter value */ { GIOP_unsigned_long len = value ? (strlen(value) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (value) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), value, len); } 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } CORBA_Container CORBA_EnumDef__get_defined_in(CORBA_EnumDef _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[16]; } _ORBIT_operation_name_data = { 16, "_get_defined_in" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 20}; CORBA_Container _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_get_defined_in(_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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_ScopedName CORBA_EnumDef__get_absolute_name(CORBA_EnumDef _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[19]; } _ORBIT_operation_name_data = { 19, "_get_absolute_name" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 23}; CORBA_ScopedName _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_get_absolute_name(_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_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(len); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } else { /* demarshal return value */ { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_Repository CORBA_EnumDef__get_containing_repository(CORBA_EnumDef _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[27]; } _ORBIT_operation_name_data = { 27, "_get_containing_repository" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 31}; CORBA_Repository _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_get_containing_repository(_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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_Contained_Description * CORBA_EnumDef_describe(CORBA_EnumDef _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[9]; } _ORBIT_operation_name_data = { 9, "describe" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 13}; CORBA_Contained_Description *_ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->describe(_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; } } _ORBIT_retval = CORBA_Contained_Description__alloc(); 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); GET_ATOM((*_ORBIT_retval).kind); ORBit_demarshal_any(_ORBIT_recv_buffer, &((*_ORBIT_retval).value), CORBA_TRUE, (_obj->orb)); } else { /* demarshal return value */ GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); (*_ORBIT_retval).kind = *((CORBA_DefinitionKind *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_DefinitionKind); ORBit_demarshal_any(_ORBIT_recv_buffer, &((*_ORBIT_retval).value), CORBA_TRUE, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_EnumDef_move(CORBA_EnumDef _obj, const CORBA_Container new_container, const CORBA_Identifier new_name, const CORBA_VersionSpec new_version, 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[5]; } _ORBIT_operation_name_data = { 5, "move" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 9}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->move(_obj->servant, new_container, new_name, new_version, ev); return; } _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_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; } /* marshal parameter new_container */ ORBit_marshal_object(_ORBIT_send_buffer, new_container); /* marshal parameter new_name */ { GIOP_unsigned_long len = new_name ? (strlen(new_name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (new_name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), new_name, len); } /* marshal parameter new_version */ { GIOP_unsigned_long len = new_version ? (strlen(new_version) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (new_version) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), new_version, len); } 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } /* From interface CORBA_IDLType */ CORBA_TypeCode CORBA_EnumDef__get_type(CORBA_EnumDef _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 && CORBA_IDLType__classid) { return ((POA_CORBA_IDLType__epv *) _obj->vepv[CORBA_IDLType__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; } /* From interface CORBA_TypedefDef */ /* End inherited operations for CORBA_EnumDef */ CORBA_IDLType CORBA_AliasDef__get_original_type_def(CORBA_AliasDef _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[23]; } _ORBIT_operation_name_data = { 23, "_get_original_type_def" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 27}; CORBA_IDLType _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_AliasDef__classid) { return ((POA_CORBA_AliasDef__epv *) _obj->vepv[CORBA_AliasDef__classid])->_get_original_type_def(_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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_AliasDef__set_original_type_def(CORBA_AliasDef _obj, const CORBA_IDLType value, 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[23]; } _ORBIT_operation_name_data = { 23, "_set_original_type_def" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 27}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_AliasDef__classid) { ((POA_CORBA_AliasDef__epv *) _obj->vepv[CORBA_AliasDef__classid])->_set_original_type_def(_obj->servant, value, ev); return; } _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_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; } /* marshal parameter value */ ORBit_marshal_object(_ORBIT_send_buffer, value); 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } /* Begin inherited operations for CORBA_AliasDef */ /* From interface CORBA_IRObject */ CORBA_DefinitionKind CORBA_AliasDef__get_def_kind(CORBA_AliasDef _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[14]; } _ORBIT_operation_name_data = { 14, "_get_def_kind" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 18}; CORBA_DefinitionKind _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_IRObject__classid) { return ((POA_CORBA_IRObject__epv *) _obj->vepv[CORBA_IRObject__classid])->_get_def_kind(_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); GET_ATOM(_ORBIT_retval); } else { /* demarshal return value */ GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); _ORBIT_retval = *((CORBA_DefinitionKind *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_DefinitionKind); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_AliasDef_destroy(CORBA_AliasDef _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[8]; } _ORBIT_operation_name_data = { 8, "destroy" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 12}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_IRObject__classid) { ((POA_CORBA_IRObject__epv *) _obj->vepv[CORBA_IRObject__classid])->destroy(_obj->servant, ev); return; } _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_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; } 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } /* From interface CORBA_Contained */ CORBA_RepositoryId CORBA_AliasDef__get_id(CORBA_AliasDef _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[8]; } _ORBIT_operation_name_data = { 8, "_get_id" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 12}; CORBA_RepositoryId _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_get_id(_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_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(len); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } else { /* demarshal return value */ { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_AliasDef__set_id(CORBA_AliasDef _obj, const CORBA_RepositoryId value, 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[8]; } _ORBIT_operation_name_data = { 8, "_set_id" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 12}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_set_id(_obj->servant, value, ev); return; } _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_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; } /* marshal parameter value */ { GIOP_unsigned_long len = value ? (strlen(value) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (value) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), value, len); } 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } CORBA_Identifier CORBA_AliasDef__get_name(CORBA_AliasDef _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_name" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 14}; CORBA_Identifier _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_get_name(_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_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(len); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } else { /* demarshal return value */ { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_AliasDef__set_name(CORBA_AliasDef _obj, const CORBA_Identifier value, 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, "_set_name" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 14}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_set_name(_obj->servant, value, ev); return; } _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_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; } /* marshal parameter value */ { GIOP_unsigned_long len = value ? (strlen(value) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (value) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), value, len); } 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } CORBA_VersionSpec CORBA_AliasDef__get_version(CORBA_AliasDef _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[13]; } _ORBIT_operation_name_data = { 13, "_get_version" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 17}; CORBA_VersionSpec _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_get_version(_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_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(len); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } else { /* demarshal return value */ { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_AliasDef__set_version(CORBA_AliasDef _obj, const CORBA_VersionSpec value, 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[13]; } _ORBIT_operation_name_data = { 13, "_set_version" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 17}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_set_version(_obj->servant, value, ev); return; } _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_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; } /* marshal parameter value */ { GIOP_unsigned_long len = value ? (strlen(value) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (value) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), value, len); } 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } CORBA_Container CORBA_AliasDef__get_defined_in(CORBA_AliasDef _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[16]; } _ORBIT_operation_name_data = { 16, "_get_defined_in" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 20}; CORBA_Container _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_get_defined_in(_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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_ScopedName CORBA_AliasDef__get_absolute_name(CORBA_AliasDef _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[19]; } _ORBIT_operation_name_data = { 19, "_get_absolute_name" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 23}; CORBA_ScopedName _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_get_absolute_name(_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_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(len); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } else { /* demarshal return value */ { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_Repository CORBA_AliasDef__get_containing_repository(CORBA_AliasDef _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[27]; } _ORBIT_operation_name_data = { 27, "_get_containing_repository" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 31}; CORBA_Repository _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_get_containing_repository(_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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_Contained_Description * CORBA_AliasDef_describe(CORBA_AliasDef _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[9]; } _ORBIT_operation_name_data = { 9, "describe" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 13}; CORBA_Contained_Description *_ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->describe(_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; } } _ORBIT_retval = CORBA_Contained_Description__alloc(); 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); GET_ATOM((*_ORBIT_retval).kind); ORBit_demarshal_any(_ORBIT_recv_buffer, &((*_ORBIT_retval).value), CORBA_TRUE, (_obj->orb)); } else { /* demarshal return value */ GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); (*_ORBIT_retval).kind = *((CORBA_DefinitionKind *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_DefinitionKind); ORBit_demarshal_any(_ORBIT_recv_buffer, &((*_ORBIT_retval).value), CORBA_TRUE, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_AliasDef_move(CORBA_AliasDef _obj, const CORBA_Container new_container, const CORBA_Identifier new_name, const CORBA_VersionSpec new_version, 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[5]; } _ORBIT_operation_name_data = { 5, "move" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 9}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->move(_obj->servant, new_container, new_name, new_version, ev); return; } _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_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; } /* marshal parameter new_container */ ORBit_marshal_object(_ORBIT_send_buffer, new_container); /* marshal parameter new_name */ { GIOP_unsigned_long len = new_name ? (strlen(new_name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (new_name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), new_name, len); } /* marshal parameter new_version */ { GIOP_unsigned_long len = new_version ? (strlen(new_version) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (new_version) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), new_version, len); } 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } /* From interface CORBA_IDLType */ CORBA_TypeCode CORBA_AliasDef__get_type(CORBA_AliasDef _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 && CORBA_IDLType__classid) { return ((POA_CORBA_IDLType__epv *) _obj->vepv[CORBA_IDLType__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; } /* From interface CORBA_TypedefDef */ /* End inherited operations for CORBA_AliasDef */ CORBA_PrimitiveKind CORBA_PrimitiveDef__get_kind(CORBA_PrimitiveDef _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_kind" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 14}; CORBA_PrimitiveKind _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_PrimitiveDef__classid) { return ((POA_CORBA_PrimitiveDef__epv *) _obj->vepv[CORBA_PrimitiveDef__classid])->_get_kind(_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); GET_ATOM(_ORBIT_retval); } else { /* demarshal return value */ GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); _ORBIT_retval = *((CORBA_PrimitiveKind *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_PrimitiveKind); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } /* Begin inherited operations for CORBA_PrimitiveDef */ /* From interface CORBA_IRObject */ CORBA_DefinitionKind CORBA_PrimitiveDef__get_def_kind(CORBA_PrimitiveDef _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[14]; } _ORBIT_operation_name_data = { 14, "_get_def_kind" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 18}; CORBA_DefinitionKind _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_IRObject__classid) { return ((POA_CORBA_IRObject__epv *) _obj->vepv[CORBA_IRObject__classid])->_get_def_kind(_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); GET_ATOM(_ORBIT_retval); } else { /* demarshal return value */ GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); _ORBIT_retval = *((CORBA_DefinitionKind *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_DefinitionKind); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_PrimitiveDef_destroy(CORBA_PrimitiveDef _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[8]; } _ORBIT_operation_name_data = { 8, "destroy" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 12}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_IRObject__classid) { ((POA_CORBA_IRObject__epv *) _obj->vepv[CORBA_IRObject__classid])->destroy(_obj->servant, ev); return; } _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_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; } 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } /* From interface CORBA_IDLType */ CORBA_TypeCode CORBA_PrimitiveDef__get_type(CORBA_PrimitiveDef _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 && CORBA_IDLType__classid) { return ((POA_CORBA_IDLType__epv *) _obj->vepv[CORBA_IDLType__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; } /* End inherited operations for CORBA_PrimitiveDef */ CORBA_unsigned_long CORBA_StringDef__get_bound(CORBA_StringDef _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[11]; } _ORBIT_operation_name_data = { 11, "_get_bound" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 15}; CORBA_unsigned_long _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_StringDef__classid) { return ((POA_CORBA_StringDef__epv *) _obj->vepv[CORBA_StringDef__classid])->_get_bound(_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); GET_ATOM(_ORBIT_retval); } else { /* demarshal return value */ GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); _ORBIT_retval = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_StringDef__set_bound(CORBA_StringDef _obj, const CORBA_unsigned_long value, 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[11]; } _ORBIT_operation_name_data = { 11, "_set_bound" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 15}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_StringDef__classid) { ((POA_CORBA_StringDef__epv *) _obj->vepv[CORBA_StringDef__classid])->_set_bound(_obj->servant, value, ev); return; } _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_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; } /* marshal parameter value */ giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &value, sizeof(value)); 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } /* Begin inherited operations for CORBA_StringDef */ /* From interface CORBA_IRObject */ CORBA_DefinitionKind CORBA_StringDef__get_def_kind(CORBA_StringDef _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[14]; } _ORBIT_operation_name_data = { 14, "_get_def_kind" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 18}; CORBA_DefinitionKind _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_IRObject__classid) { return ((POA_CORBA_IRObject__epv *) _obj->vepv[CORBA_IRObject__classid])->_get_def_kind(_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); GET_ATOM(_ORBIT_retval); } else { /* demarshal return value */ GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); _ORBIT_retval = *((CORBA_DefinitionKind *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_DefinitionKind); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_StringDef_destroy(CORBA_StringDef _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[8]; } _ORBIT_operation_name_data = { 8, "destroy" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 12}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_IRObject__classid) { ((POA_CORBA_IRObject__epv *) _obj->vepv[CORBA_IRObject__classid])->destroy(_obj->servant, ev); return; } _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_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; } 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } /* From interface CORBA_IDLType */ CORBA_TypeCode CORBA_StringDef__get_type(CORBA_StringDef _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 && CORBA_IDLType__classid) { return ((POA_CORBA_IDLType__epv *) _obj->vepv[CORBA_IDLType__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; } /* End inherited operations for CORBA_StringDef */ CORBA_unsigned_long CORBA_WstringDef__get_bound(CORBA_WstringDef _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[11]; } _ORBIT_operation_name_data = { 11, "_get_bound" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 15}; CORBA_unsigned_long _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_WstringDef__classid) { return ((POA_CORBA_WstringDef__epv *) _obj->vepv[CORBA_WstringDef__classid])->_get_bound(_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); GET_ATOM(_ORBIT_retval); } else { /* demarshal return value */ GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); _ORBIT_retval = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_WstringDef__set_bound(CORBA_WstringDef _obj, const CORBA_unsigned_long value, 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[11]; } _ORBIT_operation_name_data = { 11, "_set_bound" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 15}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_WstringDef__classid) { ((POA_CORBA_WstringDef__epv *) _obj->vepv[CORBA_WstringDef__classid])->_set_bound(_obj->servant, value, ev); return; } _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_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; } /* marshal parameter value */ giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &value, sizeof(value)); 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } /* Begin inherited operations for CORBA_WstringDef */ /* From interface CORBA_IRObject */ CORBA_DefinitionKind CORBA_WstringDef__get_def_kind(CORBA_WstringDef _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[14]; } _ORBIT_operation_name_data = { 14, "_get_def_kind" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 18}; CORBA_DefinitionKind _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_IRObject__classid) { return ((POA_CORBA_IRObject__epv *) _obj->vepv[CORBA_IRObject__classid])->_get_def_kind(_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); GET_ATOM(_ORBIT_retval); } else { /* demarshal return value */ GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); _ORBIT_retval = *((CORBA_DefinitionKind *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_DefinitionKind); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_WstringDef_destroy(CORBA_WstringDef _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[8]; } _ORBIT_operation_name_data = { 8, "destroy" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 12}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_IRObject__classid) { ((POA_CORBA_IRObject__epv *) _obj->vepv[CORBA_IRObject__classid])->destroy(_obj->servant, ev); return; } _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_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; } 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } /* From interface CORBA_IDLType */ CORBA_TypeCode CORBA_WstringDef__get_type(CORBA_WstringDef _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 && CORBA_IDLType__classid) { return ((POA_CORBA_IDLType__epv *) _obj->vepv[CORBA_IDLType__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; } /* End inherited operations for CORBA_WstringDef */ CORBA_unsigned_short CORBA_FixedDef__get_digits(CORBA_FixedDef _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[12]; } _ORBIT_operation_name_data = { 12, "_get_digits" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 16}; CORBA_unsigned_short _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_FixedDef__classid) { return ((POA_CORBA_FixedDef__epv *) _obj->vepv[CORBA_FixedDef__classid])->_get_digits(_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, 2); GET_ATOM(_ORBIT_retval); } else { /* demarshal return value */ GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 2); _ORBIT_retval = *((CORBA_unsigned_short *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_short); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_FixedDef__set_digits(CORBA_FixedDef _obj, const CORBA_unsigned_short value, 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[12]; } _ORBIT_operation_name_data = { 12, "_set_digits" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 16}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_FixedDef__classid) { ((POA_CORBA_FixedDef__epv *) _obj->vepv[CORBA_FixedDef__classid])->_set_digits(_obj->servant, value, ev); return; } _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_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; } /* marshal parameter value */ giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 2); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &value, sizeof(value)); 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } CORBA_short CORBA_FixedDef__get_scale(CORBA_FixedDef _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[11]; } _ORBIT_operation_name_data = { 11, "_get_scale" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 15}; CORBA_short _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_FixedDef__classid) { return ((POA_CORBA_FixedDef__epv *) _obj->vepv[CORBA_FixedDef__classid])->_get_scale(_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, 2); GET_ATOM(_ORBIT_retval); } else { /* demarshal return value */ GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 2); _ORBIT_retval = *((CORBA_short *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_short); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_FixedDef__set_scale(CORBA_FixedDef _obj, const CORBA_short value, 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[11]; } _ORBIT_operation_name_data = { 11, "_set_scale" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 15}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_FixedDef__classid) { ((POA_CORBA_FixedDef__epv *) _obj->vepv[CORBA_FixedDef__classid])->_set_scale(_obj->servant, value, ev); return; } _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_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; } /* marshal parameter value */ giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 2); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &value, sizeof(value)); 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } /* Begin inherited operations for CORBA_FixedDef */ /* From interface CORBA_IRObject */ CORBA_DefinitionKind CORBA_FixedDef__get_def_kind(CORBA_FixedDef _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[14]; } _ORBIT_operation_name_data = { 14, "_get_def_kind" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 18}; CORBA_DefinitionKind _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_IRObject__classid) { return ((POA_CORBA_IRObject__epv *) _obj->vepv[CORBA_IRObject__classid])->_get_def_kind(_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); GET_ATOM(_ORBIT_retval); } else { /* demarshal return value */ GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); _ORBIT_retval = *((CORBA_DefinitionKind *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_DefinitionKind); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_FixedDef_destroy(CORBA_FixedDef _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[8]; } _ORBIT_operation_name_data = { 8, "destroy" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 12}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_IRObject__classid) { ((POA_CORBA_IRObject__epv *) _obj->vepv[CORBA_IRObject__classid])->destroy(_obj->servant, ev); return; } _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_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; } 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } /* From interface CORBA_IDLType */ CORBA_TypeCode CORBA_FixedDef__get_type(CORBA_FixedDef _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 && CORBA_IDLType__classid) { return ((POA_CORBA_IDLType__epv *) _obj->vepv[CORBA_IDLType__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; } /* End inherited operations for CORBA_FixedDef */ CORBA_unsigned_long CORBA_SequenceDef__get_bound(CORBA_SequenceDef _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[11]; } _ORBIT_operation_name_data = { 11, "_get_bound" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 15}; CORBA_unsigned_long _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_SequenceDef__classid) { return ((POA_CORBA_SequenceDef__epv *) _obj->vepv[CORBA_SequenceDef__classid])->_get_bound(_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); GET_ATOM(_ORBIT_retval); } else { /* demarshal return value */ GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); _ORBIT_retval = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_SequenceDef__set_bound(CORBA_SequenceDef _obj, const CORBA_unsigned_long value, 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[11]; } _ORBIT_operation_name_data = { 11, "_set_bound" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 15}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_SequenceDef__classid) { ((POA_CORBA_SequenceDef__epv *) _obj->vepv[CORBA_SequenceDef__classid])->_set_bound(_obj->servant, value, ev); return; } _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_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; } /* marshal parameter value */ giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &value, sizeof(value)); 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } CORBA_TypeCode CORBA_SequenceDef__get_element_type(CORBA_SequenceDef _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[18]; } _ORBIT_operation_name_data = { 18, "_get_element_type" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 22}; CORBA_TypeCode _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_SequenceDef__classid) { return ((POA_CORBA_SequenceDef__epv *) _obj->vepv[CORBA_SequenceDef__classid])->_get_element_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; } CORBA_IDLType CORBA_SequenceDef__get_element_type_def(CORBA_SequenceDef _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[22]; } _ORBIT_operation_name_data = { 22, "_get_element_type_def" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 26}; CORBA_IDLType _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_SequenceDef__classid) { return ((POA_CORBA_SequenceDef__epv *) _obj->vepv[CORBA_SequenceDef__classid])->_get_element_type_def(_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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_SequenceDef__set_element_type_def(CORBA_SequenceDef _obj, const CORBA_IDLType value, 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[22]; } _ORBIT_operation_name_data = { 22, "_set_element_type_def" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 26}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_SequenceDef__classid) { ((POA_CORBA_SequenceDef__epv *) _obj->vepv[CORBA_SequenceDef__classid])->_set_element_type_def(_obj->servant, value, ev); return; } _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_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; } /* marshal parameter value */ ORBit_marshal_object(_ORBIT_send_buffer, value); 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } /* Begin inherited operations for CORBA_SequenceDef */ /* From interface CORBA_IRObject */ CORBA_DefinitionKind CORBA_SequenceDef__get_def_kind(CORBA_SequenceDef _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[14]; } _ORBIT_operation_name_data = { 14, "_get_def_kind" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 18}; CORBA_DefinitionKind _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_IRObject__classid) { return ((POA_CORBA_IRObject__epv *) _obj->vepv[CORBA_IRObject__classid])->_get_def_kind(_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); GET_ATOM(_ORBIT_retval); } else { /* demarshal return value */ GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); _ORBIT_retval = *((CORBA_DefinitionKind *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_DefinitionKind); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_SequenceDef_destroy(CORBA_SequenceDef _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[8]; } _ORBIT_operation_name_data = { 8, "destroy" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 12}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_IRObject__classid) { ((POA_CORBA_IRObject__epv *) _obj->vepv[CORBA_IRObject__classid])->destroy(_obj->servant, ev); return; } _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_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; } 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } /* From interface CORBA_IDLType */ CORBA_TypeCode CORBA_SequenceDef__get_type(CORBA_SequenceDef _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 && CORBA_IDLType__classid) { return ((POA_CORBA_IDLType__epv *) _obj->vepv[CORBA_IDLType__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; } /* End inherited operations for CORBA_SequenceDef */ CORBA_unsigned_long CORBA_ArrayDef__get_length(CORBA_ArrayDef _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[12]; } _ORBIT_operation_name_data = { 12, "_get_length" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 16}; CORBA_unsigned_long _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_ArrayDef__classid) { return ((POA_CORBA_ArrayDef__epv *) _obj->vepv[CORBA_ArrayDef__classid])->_get_length(_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); GET_ATOM(_ORBIT_retval); } else { /* demarshal return value */ GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); _ORBIT_retval = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_ArrayDef__set_length(CORBA_ArrayDef _obj, const CORBA_unsigned_long value, 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[12]; } _ORBIT_operation_name_data = { 12, "_set_length" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 16}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_ArrayDef__classid) { ((POA_CORBA_ArrayDef__epv *) _obj->vepv[CORBA_ArrayDef__classid])->_set_length(_obj->servant, value, ev); return; } _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_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; } /* marshal parameter value */ giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &value, sizeof(value)); 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } CORBA_TypeCode CORBA_ArrayDef__get_element_type(CORBA_ArrayDef _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[18]; } _ORBIT_operation_name_data = { 18, "_get_element_type" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 22}; CORBA_TypeCode _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_ArrayDef__classid) { return ((POA_CORBA_ArrayDef__epv *) _obj->vepv[CORBA_ArrayDef__classid])->_get_element_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; } CORBA_IDLType CORBA_ArrayDef__get_element_type_def(CORBA_ArrayDef _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[22]; } _ORBIT_operation_name_data = { 22, "_get_element_type_def" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 26}; CORBA_IDLType _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_ArrayDef__classid) { return ((POA_CORBA_ArrayDef__epv *) _obj->vepv[CORBA_ArrayDef__classid])->_get_element_type_def(_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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_ArrayDef__set_element_type_def(CORBA_ArrayDef _obj, const CORBA_IDLType value, 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[22]; } _ORBIT_operation_name_data = { 22, "_set_element_type_def" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 26}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_ArrayDef__classid) { ((POA_CORBA_ArrayDef__epv *) _obj->vepv[CORBA_ArrayDef__classid])->_set_element_type_def(_obj->servant, value, ev); return; } _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_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; } /* marshal parameter value */ ORBit_marshal_object(_ORBIT_send_buffer, value); 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } /* Begin inherited operations for CORBA_ArrayDef */ /* From interface CORBA_IRObject */ CORBA_DefinitionKind CORBA_ArrayDef__get_def_kind(CORBA_ArrayDef _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[14]; } _ORBIT_operation_name_data = { 14, "_get_def_kind" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 18}; CORBA_DefinitionKind _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_IRObject__classid) { return ((POA_CORBA_IRObject__epv *) _obj->vepv[CORBA_IRObject__classid])->_get_def_kind(_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); GET_ATOM(_ORBIT_retval); } else { /* demarshal return value */ GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); _ORBIT_retval = *((CORBA_DefinitionKind *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_DefinitionKind); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_ArrayDef_destroy(CORBA_ArrayDef _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[8]; } _ORBIT_operation_name_data = { 8, "destroy" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 12}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_IRObject__classid) { ((POA_CORBA_IRObject__epv *) _obj->vepv[CORBA_IRObject__classid])->destroy(_obj->servant, ev); return; } _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_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; } 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } /* From interface CORBA_IDLType */ CORBA_TypeCode CORBA_ArrayDef__get_type(CORBA_ArrayDef _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 && CORBA_IDLType__classid) { return ((POA_CORBA_IDLType__epv *) _obj->vepv[CORBA_IDLType__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; } /* End inherited operations for CORBA_ArrayDef */ CORBA_TypeCode CORBA_ExceptionDef__get_type(CORBA_ExceptionDef _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 && CORBA_ExceptionDef__classid) { return ((POA_CORBA_ExceptionDef__epv *) _obj->vepv[CORBA_ExceptionDef__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; } CORBA_StructMemberSeq * CORBA_ExceptionDef__get_members(CORBA_ExceptionDef _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[13]; } _ORBIT_operation_name_data = { 13, "_get_members" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 17}; CORBA_StructMemberSeq *_ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_ExceptionDef__classid) { return ((POA_CORBA_ExceptionDef__epv *) _obj->vepv[CORBA_ExceptionDef__classid])->_get_members(_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; } } _ORBIT_retval = CORBA_StructMemberSeq__alloc(); 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); GET_ATOM((*_ORBIT_retval)._length); (*_ORBIT_retval)._release = CORBA_TRUE; (*_ORBIT_retval)._buffer = CORBA_sequence_CORBA_StructMember_allocbuf((*_ORBIT_retval)._length); { int i1; for (i1 = 0; i1 < (*_ORBIT_retval)._length; i1++) { { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(len); ((*_ORBIT_retval)._buffer[i1]).name = CORBA_string_alloc(len); if (len) strncpy(((*_ORBIT_retval)._buffer[i1]).name, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (((*_ORBIT_retval)._buffer[i1]).name)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); ORBit_decode_CORBA_TypeCode(&((*_ORBIT_retval)._buffer[i1]).type, _ORBIT_recv_buffer); ((*_ORBIT_retval)._buffer[i1]).type_def = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } } } else { /* demarshal return value */ GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); (*_ORBIT_retval)._length = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); (*_ORBIT_retval)._release = CORBA_TRUE; (*_ORBIT_retval)._buffer = CORBA_sequence_CORBA_StructMember_allocbuf((*_ORBIT_retval)._length); { int i1; for (i1 = 0; i1 < (*_ORBIT_retval)._length; i1++) { { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); ((*_ORBIT_retval)._buffer[i1]).name = CORBA_string_alloc(len); if (len) strncpy(((*_ORBIT_retval)._buffer[i1]).name, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (((*_ORBIT_retval)._buffer[i1]).name)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); ORBit_decode_CORBA_TypeCode(&((*_ORBIT_retval)._buffer[i1]).type, _ORBIT_recv_buffer); ((*_ORBIT_retval)._buffer[i1]).type_def = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_ExceptionDef__set_members(CORBA_ExceptionDef _obj, const CORBA_StructMemberSeq * value, 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[13]; } _ORBIT_operation_name_data = { 13, "_set_members" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 17}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_ExceptionDef__classid) { ((POA_CORBA_ExceptionDef__epv *) _obj->vepv[CORBA_ExceptionDef__classid])->_set_members(_obj->servant, value, ev); return; } _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_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; } /* marshal parameter *value */ { GIOP_unsigned_long i1; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &(*value)._length, sizeof((*value)._length)); for (i1 = 0; i1 < (*value)._length; i1++) { { GIOP_unsigned_long len = ((*value)._buffer[i1]).name ? (strlen(((*value)._buffer[i1]).name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (((*value)._buffer[i1]).name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*value)._buffer[i1]).name, len); } ORBit_encode_CORBA_TypeCode(((*value)._buffer[i1]).type, _ORBIT_send_buffer); ORBit_marshal_object(_ORBIT_send_buffer, ((*value)._buffer[i1]).type_def); } } 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } /* Begin inherited operations for CORBA_ExceptionDef */ /* From interface CORBA_IRObject */ CORBA_DefinitionKind CORBA_ExceptionDef__get_def_kind(CORBA_ExceptionDef _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[14]; } _ORBIT_operation_name_data = { 14, "_get_def_kind" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 18}; CORBA_DefinitionKind _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_IRObject__classid) { return ((POA_CORBA_IRObject__epv *) _obj->vepv[CORBA_IRObject__classid])->_get_def_kind(_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); GET_ATOM(_ORBIT_retval); } else { /* demarshal return value */ GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); _ORBIT_retval = *((CORBA_DefinitionKind *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_DefinitionKind); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_ExceptionDef_destroy(CORBA_ExceptionDef _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[8]; } _ORBIT_operation_name_data = { 8, "destroy" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 12}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_IRObject__classid) { ((POA_CORBA_IRObject__epv *) _obj->vepv[CORBA_IRObject__classid])->destroy(_obj->servant, ev); return; } _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_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; } 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } /* From interface CORBA_Contained */ CORBA_RepositoryId CORBA_ExceptionDef__get_id(CORBA_ExceptionDef _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[8]; } _ORBIT_operation_name_data = { 8, "_get_id" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 12}; CORBA_RepositoryId _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_get_id(_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_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(len); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } else { /* demarshal return value */ { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_ExceptionDef__set_id(CORBA_ExceptionDef _obj, const CORBA_RepositoryId value, 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[8]; } _ORBIT_operation_name_data = { 8, "_set_id" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 12}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_set_id(_obj->servant, value, ev); return; } _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_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; } /* marshal parameter value */ { GIOP_unsigned_long len = value ? (strlen(value) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (value) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), value, len); } 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } CORBA_Identifier CORBA_ExceptionDef__get_name(CORBA_ExceptionDef _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_name" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 14}; CORBA_Identifier _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_get_name(_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_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(len); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } else { /* demarshal return value */ { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_ExceptionDef__set_name(CORBA_ExceptionDef _obj, const CORBA_Identifier value, 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, "_set_name" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 14}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_set_name(_obj->servant, value, ev); return; } _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_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; } /* marshal parameter value */ { GIOP_unsigned_long len = value ? (strlen(value) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (value) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), value, len); } 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } CORBA_VersionSpec CORBA_ExceptionDef__get_version(CORBA_ExceptionDef _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[13]; } _ORBIT_operation_name_data = { 13, "_get_version" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 17}; CORBA_VersionSpec _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_get_version(_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_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(len); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } else { /* demarshal return value */ { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_ExceptionDef__set_version(CORBA_ExceptionDef _obj, const CORBA_VersionSpec value, 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[13]; } _ORBIT_operation_name_data = { 13, "_set_version" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 17}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_set_version(_obj->servant, value, ev); return; } _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_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; } /* marshal parameter value */ { GIOP_unsigned_long len = value ? (strlen(value) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (value) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), value, len); } 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } CORBA_Container CORBA_ExceptionDef__get_defined_in(CORBA_ExceptionDef _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[16]; } _ORBIT_operation_name_data = { 16, "_get_defined_in" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 20}; CORBA_Container _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_get_defined_in(_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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_ScopedName CORBA_ExceptionDef__get_absolute_name(CORBA_ExceptionDef _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[19]; } _ORBIT_operation_name_data = { 19, "_get_absolute_name" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 23}; CORBA_ScopedName _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_get_absolute_name(_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_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(len); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } else { /* demarshal return value */ { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_Repository CORBA_ExceptionDef__get_containing_repository(CORBA_ExceptionDef _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[27]; } _ORBIT_operation_name_data = { 27, "_get_containing_repository" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 31}; CORBA_Repository _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_get_containing_repository(_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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_Contained_Description * CORBA_ExceptionDef_describe(CORBA_ExceptionDef _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[9]; } _ORBIT_operation_name_data = { 9, "describe" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 13}; CORBA_Contained_Description *_ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->describe(_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; } } _ORBIT_retval = CORBA_Contained_Description__alloc(); 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); GET_ATOM((*_ORBIT_retval).kind); ORBit_demarshal_any(_ORBIT_recv_buffer, &((*_ORBIT_retval).value), CORBA_TRUE, (_obj->orb)); } else { /* demarshal return value */ GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); (*_ORBIT_retval).kind = *((CORBA_DefinitionKind *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_DefinitionKind); ORBit_demarshal_any(_ORBIT_recv_buffer, &((*_ORBIT_retval).value), CORBA_TRUE, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_ExceptionDef_move(CORBA_ExceptionDef _obj, const CORBA_Container new_container, const CORBA_Identifier new_name, const CORBA_VersionSpec new_version, 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[5]; } _ORBIT_operation_name_data = { 5, "move" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 9}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->move(_obj->servant, new_container, new_name, new_version, ev); return; } _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_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; } /* marshal parameter new_container */ ORBit_marshal_object(_ORBIT_send_buffer, new_container); /* marshal parameter new_name */ { GIOP_unsigned_long len = new_name ? (strlen(new_name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (new_name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), new_name, len); } /* marshal parameter new_version */ { GIOP_unsigned_long len = new_version ? (strlen(new_version) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (new_version) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), new_version, len); } 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } /* From interface CORBA_Container */ CORBA_Contained CORBA_ExceptionDef_lookup(CORBA_ExceptionDef _obj, const CORBA_ScopedName search_name, 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[7]; } _ORBIT_operation_name_data = { 7, "lookup" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 11}; CORBA_Contained _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->lookup(_obj->servant, search_name, 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 search_name */ { GIOP_unsigned_long len = search_name ? (strlen(search_name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (search_name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), search_name, len); } 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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_ContainedSeq * CORBA_ExceptionDef_contents(CORBA_ExceptionDef _obj, const CORBA_DefinitionKind limit_type, const CORBA_boolean exclude_inherited, 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[9]; } _ORBIT_operation_name_data = { 9, "contents" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 13}; CORBA_ContainedSeq *_ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->contents(_obj->servant, limit_type, exclude_inherited, 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 limit_type */ giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &limit_type, sizeof(limit_type)); /* marshal parameter exclude_inherited */ giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &exclude_inherited, sizeof(exclude_inherited)); 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_ContainedSeq__alloc(); 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); GET_ATOM((*_ORBIT_retval)._length); (*_ORBIT_retval)._release = CORBA_TRUE; (*_ORBIT_retval)._buffer = CORBA_sequence_CORBA_Contained_allocbuf((*_ORBIT_retval)._length); { int i1; for (i1 = 0; i1 < (*_ORBIT_retval)._length; i1++) { (*_ORBIT_retval)._buffer[i1] = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } } } else { /* demarshal return value */ GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); (*_ORBIT_retval)._length = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); (*_ORBIT_retval)._release = CORBA_TRUE; (*_ORBIT_retval)._buffer = CORBA_sequence_CORBA_Contained_allocbuf((*_ORBIT_retval)._length); { int i1; for (i1 = 0; i1 < (*_ORBIT_retval)._length; i1++) { (*_ORBIT_retval)._buffer[i1] = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_ContainedSeq * CORBA_ExceptionDef_lookup_name(CORBA_ExceptionDef _obj, const CORBA_Identifier search_name, const CORBA_long levels_to_search, const CORBA_DefinitionKind limit_type, const CORBA_boolean exclude_inherited, 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[12]; } _ORBIT_operation_name_data = { 12, "lookup_name" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 16}; CORBA_ContainedSeq *_ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->lookup_name(_obj->servant, search_name, levels_to_search, limit_type, exclude_inherited, 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 search_name */ { GIOP_unsigned_long len = search_name ? (strlen(search_name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (search_name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), search_name, len); } /* marshal parameter levels_to_search */ giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &levels_to_search, sizeof(levels_to_search)); /* marshal parameter limit_type */ giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &limit_type, sizeof(limit_type)); /* marshal parameter exclude_inherited */ giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &exclude_inherited, sizeof(exclude_inherited)); 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_ContainedSeq__alloc(); 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); GET_ATOM((*_ORBIT_retval)._length); (*_ORBIT_retval)._release = CORBA_TRUE; (*_ORBIT_retval)._buffer = CORBA_sequence_CORBA_Contained_allocbuf((*_ORBIT_retval)._length); { int i1; for (i1 = 0; i1 < (*_ORBIT_retval)._length; i1++) { (*_ORBIT_retval)._buffer[i1] = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } } } else { /* demarshal return value */ GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); (*_ORBIT_retval)._length = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); (*_ORBIT_retval)._release = CORBA_TRUE; (*_ORBIT_retval)._buffer = CORBA_sequence_CORBA_Contained_allocbuf((*_ORBIT_retval)._length); { int i1; for (i1 = 0; i1 < (*_ORBIT_retval)._length; i1++) { (*_ORBIT_retval)._buffer[i1] = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_Container_DescriptionSeq * CORBA_ExceptionDef_describe_contents(CORBA_ExceptionDef _obj, const CORBA_DefinitionKind limit_type, const CORBA_boolean exclude_inherited, const CORBA_long max_returned_objs, 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[18]; } _ORBIT_operation_name_data = { 18, "describe_contents" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 22}; CORBA_Container_DescriptionSeq *_ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->describe_contents(_obj->servant, limit_type, exclude_inherited, max_returned_objs, 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 limit_type */ giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &limit_type, sizeof(limit_type)); /* marshal parameter exclude_inherited */ giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &exclude_inherited, sizeof(exclude_inherited)); /* marshal parameter max_returned_objs */ giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &max_returned_objs, sizeof(max_returned_objs)); 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_Container_DescriptionSeq__alloc(); 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); GET_ATOM((*_ORBIT_retval)._length); (*_ORBIT_retval)._release = CORBA_TRUE; (*_ORBIT_retval)._buffer = CORBA_sequence_CORBA_Container_Description_allocbuf((*_ORBIT_retval)._length); { int i1; for (i1 = 0; i1 < (*_ORBIT_retval)._length; i1++) { ((*_ORBIT_retval)._buffer[i1]).contained_object = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(((*_ORBIT_retval)._buffer[i1]).kind); ORBit_demarshal_any(_ORBIT_recv_buffer, &(((*_ORBIT_retval)._buffer[i1]).value), CORBA_TRUE, (_obj->orb)); } } } else { /* demarshal return value */ GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); (*_ORBIT_retval)._length = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); (*_ORBIT_retval)._release = CORBA_TRUE; (*_ORBIT_retval)._buffer = CORBA_sequence_CORBA_Container_Description_allocbuf((*_ORBIT_retval)._length); { int i1; for (i1 = 0; i1 < (*_ORBIT_retval)._length; i1++) { ((*_ORBIT_retval)._buffer[i1]).contained_object = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); ((*_ORBIT_retval)._buffer[i1]).kind = *((CORBA_DefinitionKind *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_DefinitionKind); ORBit_demarshal_any(_ORBIT_recv_buffer, &(((*_ORBIT_retval)._buffer[i1]).value), CORBA_TRUE, (_obj->orb)); } } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_ModuleDef CORBA_ExceptionDef_create_module(CORBA_ExceptionDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, 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[14]; } _ORBIT_operation_name_data = { 14, "create_module" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 18}; CORBA_ModuleDef _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->create_module(_obj->servant, id, name, version, 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 id */ { GIOP_unsigned_long len = id ? (strlen(id) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (id) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), id, len); } /* marshal parameter name */ { GIOP_unsigned_long len = name ? (strlen(name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), name, len); } /* marshal parameter version */ { GIOP_unsigned_long len = version ? (strlen(version) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (version) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), version, len); } 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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_ConstantDef CORBA_ExceptionDef_create_constant(CORBA_ExceptionDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_IDLType type, const CORBA_any * value, 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[16]; } _ORBIT_operation_name_data = { 16, "create_constant" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 20}; CORBA_ConstantDef _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->create_constant(_obj->servant, id, name, version, type, value, 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 id */ { GIOP_unsigned_long len = id ? (strlen(id) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (id) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), id, len); } /* marshal parameter name */ { GIOP_unsigned_long len = name ? (strlen(name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), name, len); } /* marshal parameter version */ { GIOP_unsigned_long len = version ? (strlen(version) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (version) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), version, len); } /* marshal parameter type */ ORBit_marshal_object(_ORBIT_send_buffer, type); /* marshal parameter *value */ ORBit_marshal_any(_ORBIT_send_buffer, &(*value)); 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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_StructDef CORBA_ExceptionDef_create_struct(CORBA_ExceptionDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_StructMemberSeq * members, 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[14]; } _ORBIT_operation_name_data = { 14, "create_struct" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 18}; CORBA_StructDef _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->create_struct(_obj->servant, id, name, version, members, 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 id */ { GIOP_unsigned_long len = id ? (strlen(id) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (id) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), id, len); } /* marshal parameter name */ { GIOP_unsigned_long len = name ? (strlen(name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), name, len); } /* marshal parameter version */ { GIOP_unsigned_long len = version ? (strlen(version) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (version) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), version, len); } /* marshal parameter *members */ { GIOP_unsigned_long i1; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &(*members)._length, sizeof((*members)._length)); for (i1 = 0; i1 < (*members)._length; i1++) { { GIOP_unsigned_long len = ((*members)._buffer[i1]).name ? (strlen(((*members)._buffer[i1]).name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (((*members)._buffer[i1]).name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*members)._buffer[i1]).name, len); } ORBit_encode_CORBA_TypeCode(((*members)._buffer[i1]).type, _ORBIT_send_buffer); ORBit_marshal_object(_ORBIT_send_buffer, ((*members)._buffer[i1]).type_def); } } 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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_UnionDef CORBA_ExceptionDef_create_union(CORBA_ExceptionDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_IDLType discriminator_type, const CORBA_UnionMemberSeq * members, 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[13]; } _ORBIT_operation_name_data = { 13, "create_union" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 17}; CORBA_UnionDef _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->create_union(_obj->servant, id, name, version, discriminator_type, members, 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 id */ { GIOP_unsigned_long len = id ? (strlen(id) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (id) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), id, len); } /* marshal parameter name */ { GIOP_unsigned_long len = name ? (strlen(name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), name, len); } /* marshal parameter version */ { GIOP_unsigned_long len = version ? (strlen(version) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (version) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), version, len); } /* marshal parameter discriminator_type */ ORBit_marshal_object(_ORBIT_send_buffer, discriminator_type); /* marshal parameter *members */ { GIOP_unsigned_long i1; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &(*members)._length, sizeof((*members)._length)); for (i1 = 0; i1 < (*members)._length; i1++) { { GIOP_unsigned_long len = ((*members)._buffer[i1]).name ? (strlen(((*members)._buffer[i1]).name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (((*members)._buffer[i1]).name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*members)._buffer[i1]).name, len); } ORBit_marshal_any(_ORBIT_send_buffer, &(((*members)._buffer[i1]).label)); ORBit_encode_CORBA_TypeCode(((*members)._buffer[i1]).type, _ORBIT_send_buffer); ORBit_marshal_object(_ORBIT_send_buffer, ((*members)._buffer[i1]).type_def); } } 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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_EnumDef CORBA_ExceptionDef_create_enum(CORBA_ExceptionDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_EnumMemberSeq * members, 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[12]; } _ORBIT_operation_name_data = { 12, "create_enum" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 16}; CORBA_EnumDef _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->create_enum(_obj->servant, id, name, version, members, 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 id */ { GIOP_unsigned_long len = id ? (strlen(id) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (id) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), id, len); } /* marshal parameter name */ { GIOP_unsigned_long len = name ? (strlen(name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), name, len); } /* marshal parameter version */ { GIOP_unsigned_long len = version ? (strlen(version) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (version) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), version, len); } /* marshal parameter *members */ { GIOP_unsigned_long i1; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &(*members)._length, sizeof((*members)._length)); for (i1 = 0; i1 < (*members)._length; i1++) { { GIOP_unsigned_long len = (*members)._buffer[i1] ? (strlen((*members)._buffer[i1]) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if ((*members)._buffer[i1]) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (*members)._buffer[i1], len); } } } 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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_AliasDef CORBA_ExceptionDef_create_alias(CORBA_ExceptionDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_IDLType original_type, 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[13]; } _ORBIT_operation_name_data = { 13, "create_alias" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 17}; CORBA_AliasDef _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->create_alias(_obj->servant, id, name, version, original_type, 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 id */ { GIOP_unsigned_long len = id ? (strlen(id) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (id) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), id, len); } /* marshal parameter name */ { GIOP_unsigned_long len = name ? (strlen(name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), name, len); } /* marshal parameter version */ { GIOP_unsigned_long len = version ? (strlen(version) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (version) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), version, len); } /* marshal parameter original_type */ ORBit_marshal_object(_ORBIT_send_buffer, original_type); 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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_InterfaceDef CORBA_ExceptionDef_create_interface(CORBA_ExceptionDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_InterfaceDefSeq * base_interfaces, 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[17]; } _ORBIT_operation_name_data = { 17, "create_interface" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 21}; CORBA_InterfaceDef _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->create_interface(_obj->servant, id, name, version, base_interfaces, 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 id */ { GIOP_unsigned_long len = id ? (strlen(id) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (id) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), id, len); } /* marshal parameter name */ { GIOP_unsigned_long len = name ? (strlen(name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), name, len); } /* marshal parameter version */ { GIOP_unsigned_long len = version ? (strlen(version) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (version) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), version, len); } /* marshal parameter *base_interfaces */ { GIOP_unsigned_long i1; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &(*base_interfaces)._length, sizeof((*base_interfaces)._length)); for (i1 = 0; i1 < (*base_interfaces)._length; i1++) { ORBit_marshal_object(_ORBIT_send_buffer, (*base_interfaces)._buffer[i1]); } } 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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_ExceptionDef CORBA_ExceptionDef_create_exception(CORBA_ExceptionDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_StructMemberSeq * members, 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[17]; } _ORBIT_operation_name_data = { 17, "create_exception" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 21}; CORBA_ExceptionDef _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->create_exception(_obj->servant, id, name, version, members, 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 id */ { GIOP_unsigned_long len = id ? (strlen(id) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (id) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), id, len); } /* marshal parameter name */ { GIOP_unsigned_long len = name ? (strlen(name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), name, len); } /* marshal parameter version */ { GIOP_unsigned_long len = version ? (strlen(version) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (version) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), version, len); } /* marshal parameter *members */ { GIOP_unsigned_long i1; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &(*members)._length, sizeof((*members)._length)); for (i1 = 0; i1 < (*members)._length; i1++) { { GIOP_unsigned_long len = ((*members)._buffer[i1]).name ? (strlen(((*members)._buffer[i1]).name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (((*members)._buffer[i1]).name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*members)._buffer[i1]).name, len); } ORBit_encode_CORBA_TypeCode(((*members)._buffer[i1]).type, _ORBIT_send_buffer); ORBit_marshal_object(_ORBIT_send_buffer, ((*members)._buffer[i1]).type_def); } } 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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } /* End inherited operations for CORBA_ExceptionDef */ CORBA_TypeCode CORBA_AttributeDef__get_type(CORBA_AttributeDef _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 && CORBA_AttributeDef__classid) { return ((POA_CORBA_AttributeDef__epv *) _obj->vepv[CORBA_AttributeDef__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; } CORBA_IDLType CORBA_AttributeDef__get_type_def(CORBA_AttributeDef _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[14]; } _ORBIT_operation_name_data = { 14, "_get_type_def" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 18}; CORBA_IDLType _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_AttributeDef__classid) { return ((POA_CORBA_AttributeDef__epv *) _obj->vepv[CORBA_AttributeDef__classid])->_get_type_def(_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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_AttributeDef__set_type_def(CORBA_AttributeDef _obj, const CORBA_IDLType value, 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[14]; } _ORBIT_operation_name_data = { 14, "_set_type_def" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 18}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_AttributeDef__classid) { ((POA_CORBA_AttributeDef__epv *) _obj->vepv[CORBA_AttributeDef__classid])->_set_type_def(_obj->servant, value, ev); return; } _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_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; } /* marshal parameter value */ ORBit_marshal_object(_ORBIT_send_buffer, value); 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } CORBA_AttributeMode CORBA_AttributeDef__get_mode(CORBA_AttributeDef _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_mode" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 14}; CORBA_AttributeMode _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_AttributeDef__classid) { return ((POA_CORBA_AttributeDef__epv *) _obj->vepv[CORBA_AttributeDef__classid])->_get_mode(_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); GET_ATOM(_ORBIT_retval); } else { /* demarshal return value */ GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); _ORBIT_retval = *((CORBA_AttributeMode *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_AttributeMode); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_AttributeDef__set_mode(CORBA_AttributeDef _obj, const CORBA_AttributeMode value, 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, "_set_mode" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 14}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_AttributeDef__classid) { ((POA_CORBA_AttributeDef__epv *) _obj->vepv[CORBA_AttributeDef__classid])->_set_mode(_obj->servant, value, ev); return; } _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_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; } /* marshal parameter value */ giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &value, sizeof(value)); 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } /* Begin inherited operations for CORBA_AttributeDef */ /* From interface CORBA_IRObject */ CORBA_DefinitionKind CORBA_AttributeDef__get_def_kind(CORBA_AttributeDef _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[14]; } _ORBIT_operation_name_data = { 14, "_get_def_kind" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 18}; CORBA_DefinitionKind _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_IRObject__classid) { return ((POA_CORBA_IRObject__epv *) _obj->vepv[CORBA_IRObject__classid])->_get_def_kind(_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); GET_ATOM(_ORBIT_retval); } else { /* demarshal return value */ GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); _ORBIT_retval = *((CORBA_DefinitionKind *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_DefinitionKind); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_AttributeDef_destroy(CORBA_AttributeDef _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[8]; } _ORBIT_operation_name_data = { 8, "destroy" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 12}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_IRObject__classid) { ((POA_CORBA_IRObject__epv *) _obj->vepv[CORBA_IRObject__classid])->destroy(_obj->servant, ev); return; } _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_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; } 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } /* From interface CORBA_Contained */ CORBA_RepositoryId CORBA_AttributeDef__get_id(CORBA_AttributeDef _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[8]; } _ORBIT_operation_name_data = { 8, "_get_id" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 12}; CORBA_RepositoryId _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_get_id(_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_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(len); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } else { /* demarshal return value */ { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_AttributeDef__set_id(CORBA_AttributeDef _obj, const CORBA_RepositoryId value, 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[8]; } _ORBIT_operation_name_data = { 8, "_set_id" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 12}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_set_id(_obj->servant, value, ev); return; } _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_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; } /* marshal parameter value */ { GIOP_unsigned_long len = value ? (strlen(value) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (value) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), value, len); } 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } CORBA_Identifier CORBA_AttributeDef__get_name(CORBA_AttributeDef _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_name" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 14}; CORBA_Identifier _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_get_name(_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_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(len); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } else { /* demarshal return value */ { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_AttributeDef__set_name(CORBA_AttributeDef _obj, const CORBA_Identifier value, 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, "_set_name" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 14}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_set_name(_obj->servant, value, ev); return; } _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_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; } /* marshal parameter value */ { GIOP_unsigned_long len = value ? (strlen(value) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (value) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), value, len); } 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } CORBA_VersionSpec CORBA_AttributeDef__get_version(CORBA_AttributeDef _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[13]; } _ORBIT_operation_name_data = { 13, "_get_version" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 17}; CORBA_VersionSpec _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_get_version(_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_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(len); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } else { /* demarshal return value */ { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_AttributeDef__set_version(CORBA_AttributeDef _obj, const CORBA_VersionSpec value, 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[13]; } _ORBIT_operation_name_data = { 13, "_set_version" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 17}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_set_version(_obj->servant, value, ev); return; } _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_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; } /* marshal parameter value */ { GIOP_unsigned_long len = value ? (strlen(value) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (value) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), value, len); } 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } CORBA_Container CORBA_AttributeDef__get_defined_in(CORBA_AttributeDef _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[16]; } _ORBIT_operation_name_data = { 16, "_get_defined_in" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 20}; CORBA_Container _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_get_defined_in(_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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_ScopedName CORBA_AttributeDef__get_absolute_name(CORBA_AttributeDef _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[19]; } _ORBIT_operation_name_data = { 19, "_get_absolute_name" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 23}; CORBA_ScopedName _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_get_absolute_name(_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_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(len); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } else { /* demarshal return value */ { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_Repository CORBA_AttributeDef__get_containing_repository(CORBA_AttributeDef _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[27]; } _ORBIT_operation_name_data = { 27, "_get_containing_repository" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 31}; CORBA_Repository _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_get_containing_repository(_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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_Contained_Description * CORBA_AttributeDef_describe(CORBA_AttributeDef _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[9]; } _ORBIT_operation_name_data = { 9, "describe" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 13}; CORBA_Contained_Description *_ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->describe(_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; } } _ORBIT_retval = CORBA_Contained_Description__alloc(); 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); GET_ATOM((*_ORBIT_retval).kind); ORBit_demarshal_any(_ORBIT_recv_buffer, &((*_ORBIT_retval).value), CORBA_TRUE, (_obj->orb)); } else { /* demarshal return value */ GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); (*_ORBIT_retval).kind = *((CORBA_DefinitionKind *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_DefinitionKind); ORBit_demarshal_any(_ORBIT_recv_buffer, &((*_ORBIT_retval).value), CORBA_TRUE, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_AttributeDef_move(CORBA_AttributeDef _obj, const CORBA_Container new_container, const CORBA_Identifier new_name, const CORBA_VersionSpec new_version, 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[5]; } _ORBIT_operation_name_data = { 5, "move" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 9}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->move(_obj->servant, new_container, new_name, new_version, ev); return; } _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_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; } /* marshal parameter new_container */ ORBit_marshal_object(_ORBIT_send_buffer, new_container); /* marshal parameter new_name */ { GIOP_unsigned_long len = new_name ? (strlen(new_name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (new_name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), new_name, len); } /* marshal parameter new_version */ { GIOP_unsigned_long len = new_version ? (strlen(new_version) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (new_version) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), new_version, len); } 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } /* End inherited operations for CORBA_AttributeDef */ CORBA_TypeCode CORBA_OperationDef__get_result(CORBA_OperationDef _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[12]; } _ORBIT_operation_name_data = { 12, "_get_result" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 16}; CORBA_TypeCode _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_OperationDef__classid) { return ((POA_CORBA_OperationDef__epv *) _obj->vepv[CORBA_OperationDef__classid])->_get_result(_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; } CORBA_IDLType CORBA_OperationDef__get_result_def(CORBA_OperationDef _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[16]; } _ORBIT_operation_name_data = { 16, "_get_result_def" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 20}; CORBA_IDLType _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_OperationDef__classid) { return ((POA_CORBA_OperationDef__epv *) _obj->vepv[CORBA_OperationDef__classid])->_get_result_def(_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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_OperationDef__set_result_def(CORBA_OperationDef _obj, const CORBA_IDLType value, 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[16]; } _ORBIT_operation_name_data = { 16, "_set_result_def" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 20}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_OperationDef__classid) { ((POA_CORBA_OperationDef__epv *) _obj->vepv[CORBA_OperationDef__classid])->_set_result_def(_obj->servant, value, ev); return; } _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_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; } /* marshal parameter value */ ORBit_marshal_object(_ORBIT_send_buffer, value); 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } CORBA_ParDescriptionSeq * CORBA_OperationDef__get_params(CORBA_OperationDef _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[12]; } _ORBIT_operation_name_data = { 12, "_get_params" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 16}; CORBA_ParDescriptionSeq *_ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_OperationDef__classid) { return ((POA_CORBA_OperationDef__epv *) _obj->vepv[CORBA_OperationDef__classid])->_get_params(_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; } } _ORBIT_retval = CORBA_ParDescriptionSeq__alloc(); 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); GET_ATOM((*_ORBIT_retval)._length); (*_ORBIT_retval)._release = CORBA_TRUE; (*_ORBIT_retval)._buffer = CORBA_sequence_CORBA_ParameterDescription_allocbuf((*_ORBIT_retval)._length); { int i1; for (i1 = 0; i1 < (*_ORBIT_retval)._length; i1++) { { GIOP_unsigned_long len; GET_ATOM(len); ((*_ORBIT_retval)._buffer[i1]).name = CORBA_string_alloc(len); if (len) strncpy(((*_ORBIT_retval)._buffer[i1]).name, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (((*_ORBIT_retval)._buffer[i1]).name)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); ORBit_decode_CORBA_TypeCode(&((*_ORBIT_retval)._buffer[i1]).type, _ORBIT_recv_buffer); ((*_ORBIT_retval)._buffer[i1]).type_def = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(((*_ORBIT_retval)._buffer[i1]).mode); } } } else { /* demarshal return value */ GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); (*_ORBIT_retval)._length = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); (*_ORBIT_retval)._release = CORBA_TRUE; (*_ORBIT_retval)._buffer = CORBA_sequence_CORBA_ParameterDescription_allocbuf((*_ORBIT_retval)._length); { int i1; for (i1 = 0; i1 < (*_ORBIT_retval)._length; i1++) { { GIOP_unsigned_long len; len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); ((*_ORBIT_retval)._buffer[i1]).name = CORBA_string_alloc(len); if (len) strncpy(((*_ORBIT_retval)._buffer[i1]).name, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (((*_ORBIT_retval)._buffer[i1]).name)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); ORBit_decode_CORBA_TypeCode(&((*_ORBIT_retval)._buffer[i1]).type, _ORBIT_recv_buffer); ((*_ORBIT_retval)._buffer[i1]).type_def = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); ((*_ORBIT_retval)._buffer[i1]).mode = *((CORBA_ParameterMode *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_ParameterMode); } } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_OperationDef__set_params(CORBA_OperationDef _obj, const CORBA_ParDescriptionSeq * value, 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[12]; } _ORBIT_operation_name_data = { 12, "_set_params" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 16}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_OperationDef__classid) { ((POA_CORBA_OperationDef__epv *) _obj->vepv[CORBA_OperationDef__classid])->_set_params(_obj->servant, value, ev); return; } _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_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; } /* marshal parameter *value */ { GIOP_unsigned_long i1; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &(*value)._length, sizeof((*value)._length)); for (i1 = 0; i1 < (*value)._length; i1++) { { GIOP_unsigned_long len = ((*value)._buffer[i1]).name ? (strlen(((*value)._buffer[i1]).name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (((*value)._buffer[i1]).name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*value)._buffer[i1]).name, len); } ORBit_encode_CORBA_TypeCode(((*value)._buffer[i1]).type, _ORBIT_send_buffer); ORBit_marshal_object(_ORBIT_send_buffer, ((*value)._buffer[i1]).type_def); giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &((*value)._buffer[i1]).mode, sizeof(((*value)._buffer[i1]).mode)); } } 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } CORBA_OperationMode CORBA_OperationDef__get_mode(CORBA_OperationDef _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_mode" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 14}; CORBA_OperationMode _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_OperationDef__classid) { return ((POA_CORBA_OperationDef__epv *) _obj->vepv[CORBA_OperationDef__classid])->_get_mode(_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); GET_ATOM(_ORBIT_retval); } else { /* demarshal return value */ GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); _ORBIT_retval = *((CORBA_OperationMode *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_OperationMode); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_OperationDef__set_mode(CORBA_OperationDef _obj, const CORBA_OperationMode value, 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, "_set_mode" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 14}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_OperationDef__classid) { ((POA_CORBA_OperationDef__epv *) _obj->vepv[CORBA_OperationDef__classid])->_set_mode(_obj->servant, value, ev); return; } _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_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; } /* marshal parameter value */ giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &value, sizeof(value)); 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } CORBA_ContextIdSeq * CORBA_OperationDef__get_contexts(CORBA_OperationDef _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[14]; } _ORBIT_operation_name_data = { 14, "_get_contexts" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 18}; CORBA_ContextIdSeq *_ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_OperationDef__classid) { return ((POA_CORBA_OperationDef__epv *) _obj->vepv[CORBA_OperationDef__classid])->_get_contexts(_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; } } _ORBIT_retval = CORBA_ContextIdSeq__alloc(); 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); GET_ATOM((*_ORBIT_retval)._length); (*_ORBIT_retval)._release = CORBA_TRUE; (*_ORBIT_retval)._buffer = CORBA_sequence_CORBA_ContextIdentifier_allocbuf((*_ORBIT_retval)._length); { int i1; for (i1 = 0; i1 < (*_ORBIT_retval)._length; i1++) { { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(len); (*_ORBIT_retval)._buffer[i1] = CORBA_string_alloc(len); if (len) strncpy((*_ORBIT_retval)._buffer[i1], GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else ((*_ORBIT_retval)._buffer[i1])[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } } } else { /* demarshal return value */ GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); (*_ORBIT_retval)._length = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); (*_ORBIT_retval)._release = CORBA_TRUE; (*_ORBIT_retval)._buffer = CORBA_sequence_CORBA_ContextIdentifier_allocbuf((*_ORBIT_retval)._length); { int i1; for (i1 = 0; i1 < (*_ORBIT_retval)._length; i1++) { { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); (*_ORBIT_retval)._buffer[i1] = CORBA_string_alloc(len); if (len) strncpy((*_ORBIT_retval)._buffer[i1], GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else ((*_ORBIT_retval)._buffer[i1])[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_OperationDef__set_contexts(CORBA_OperationDef _obj, const CORBA_ContextIdSeq * value, 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[14]; } _ORBIT_operation_name_data = { 14, "_set_contexts" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 18}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_OperationDef__classid) { ((POA_CORBA_OperationDef__epv *) _obj->vepv[CORBA_OperationDef__classid])->_set_contexts(_obj->servant, value, ev); return; } _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_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; } /* marshal parameter *value */ { GIOP_unsigned_long i1; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &(*value)._length, sizeof((*value)._length)); for (i1 = 0; i1 < (*value)._length; i1++) { { GIOP_unsigned_long len = (*value)._buffer[i1] ? (strlen((*value)._buffer[i1]) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if ((*value)._buffer[i1]) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (*value)._buffer[i1], len); } } } 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } CORBA_ExceptionDefSeq * CORBA_OperationDef__get_exceptions(CORBA_OperationDef _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[16]; } _ORBIT_operation_name_data = { 16, "_get_exceptions" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 20}; CORBA_ExceptionDefSeq *_ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_OperationDef__classid) { return ((POA_CORBA_OperationDef__epv *) _obj->vepv[CORBA_OperationDef__classid])->_get_exceptions(_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; } } _ORBIT_retval = CORBA_ExceptionDefSeq__alloc(); 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); GET_ATOM((*_ORBIT_retval)._length); (*_ORBIT_retval)._release = CORBA_TRUE; (*_ORBIT_retval)._buffer = CORBA_sequence_CORBA_ExceptionDef_allocbuf((*_ORBIT_retval)._length); { int i1; for (i1 = 0; i1 < (*_ORBIT_retval)._length; i1++) { (*_ORBIT_retval)._buffer[i1] = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } } } else { /* demarshal return value */ GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); (*_ORBIT_retval)._length = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); (*_ORBIT_retval)._release = CORBA_TRUE; (*_ORBIT_retval)._buffer = CORBA_sequence_CORBA_ExceptionDef_allocbuf((*_ORBIT_retval)._length); { int i1; for (i1 = 0; i1 < (*_ORBIT_retval)._length; i1++) { (*_ORBIT_retval)._buffer[i1] = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_OperationDef__set_exceptions(CORBA_OperationDef _obj, const CORBA_ExceptionDefSeq * value, 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[16]; } _ORBIT_operation_name_data = { 16, "_set_exceptions" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 20}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_OperationDef__classid) { ((POA_CORBA_OperationDef__epv *) _obj->vepv[CORBA_OperationDef__classid])->_set_exceptions(_obj->servant, value, ev); return; } _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_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; } /* marshal parameter *value */ { GIOP_unsigned_long i1; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &(*value)._length, sizeof((*value)._length)); for (i1 = 0; i1 < (*value)._length; i1++) { ORBit_marshal_object(_ORBIT_send_buffer, (*value)._buffer[i1]); } } 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } /* Begin inherited operations for CORBA_OperationDef */ /* From interface CORBA_IRObject */ CORBA_DefinitionKind CORBA_OperationDef__get_def_kind(CORBA_OperationDef _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[14]; } _ORBIT_operation_name_data = { 14, "_get_def_kind" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 18}; CORBA_DefinitionKind _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_IRObject__classid) { return ((POA_CORBA_IRObject__epv *) _obj->vepv[CORBA_IRObject__classid])->_get_def_kind(_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); GET_ATOM(_ORBIT_retval); } else { /* demarshal return value */ GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); _ORBIT_retval = *((CORBA_DefinitionKind *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_DefinitionKind); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_OperationDef_destroy(CORBA_OperationDef _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[8]; } _ORBIT_operation_name_data = { 8, "destroy" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 12}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_IRObject__classid) { ((POA_CORBA_IRObject__epv *) _obj->vepv[CORBA_IRObject__classid])->destroy(_obj->servant, ev); return; } _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_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; } 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } /* From interface CORBA_Contained */ CORBA_RepositoryId CORBA_OperationDef__get_id(CORBA_OperationDef _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[8]; } _ORBIT_operation_name_data = { 8, "_get_id" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 12}; CORBA_RepositoryId _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_get_id(_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_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(len); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } else { /* demarshal return value */ { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_OperationDef__set_id(CORBA_OperationDef _obj, const CORBA_RepositoryId value, 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[8]; } _ORBIT_operation_name_data = { 8, "_set_id" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 12}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_set_id(_obj->servant, value, ev); return; } _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_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; } /* marshal parameter value */ { GIOP_unsigned_long len = value ? (strlen(value) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (value) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), value, len); } 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } CORBA_Identifier CORBA_OperationDef__get_name(CORBA_OperationDef _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_name" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 14}; CORBA_Identifier _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_get_name(_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_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(len); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } else { /* demarshal return value */ { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_OperationDef__set_name(CORBA_OperationDef _obj, const CORBA_Identifier value, 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, "_set_name" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 14}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_set_name(_obj->servant, value, ev); return; } _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_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; } /* marshal parameter value */ { GIOP_unsigned_long len = value ? (strlen(value) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (value) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), value, len); } 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } CORBA_VersionSpec CORBA_OperationDef__get_version(CORBA_OperationDef _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[13]; } _ORBIT_operation_name_data = { 13, "_get_version" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 17}; CORBA_VersionSpec _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_get_version(_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_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(len); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } else { /* demarshal return value */ { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_OperationDef__set_version(CORBA_OperationDef _obj, const CORBA_VersionSpec value, 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[13]; } _ORBIT_operation_name_data = { 13, "_set_version" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 17}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_set_version(_obj->servant, value, ev); return; } _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_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; } /* marshal parameter value */ { GIOP_unsigned_long len = value ? (strlen(value) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (value) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), value, len); } 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } CORBA_Container CORBA_OperationDef__get_defined_in(CORBA_OperationDef _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[16]; } _ORBIT_operation_name_data = { 16, "_get_defined_in" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 20}; CORBA_Container _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_get_defined_in(_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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_ScopedName CORBA_OperationDef__get_absolute_name(CORBA_OperationDef _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[19]; } _ORBIT_operation_name_data = { 19, "_get_absolute_name" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 23}; CORBA_ScopedName _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_get_absolute_name(_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_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(len); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } else { /* demarshal return value */ { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_Repository CORBA_OperationDef__get_containing_repository(CORBA_OperationDef _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[27]; } _ORBIT_operation_name_data = { 27, "_get_containing_repository" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 31}; CORBA_Repository _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_get_containing_repository(_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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_Contained_Description * CORBA_OperationDef_describe(CORBA_OperationDef _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[9]; } _ORBIT_operation_name_data = { 9, "describe" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 13}; CORBA_Contained_Description *_ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->describe(_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; } } _ORBIT_retval = CORBA_Contained_Description__alloc(); 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); GET_ATOM((*_ORBIT_retval).kind); ORBit_demarshal_any(_ORBIT_recv_buffer, &((*_ORBIT_retval).value), CORBA_TRUE, (_obj->orb)); } else { /* demarshal return value */ GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); (*_ORBIT_retval).kind = *((CORBA_DefinitionKind *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_DefinitionKind); ORBit_demarshal_any(_ORBIT_recv_buffer, &((*_ORBIT_retval).value), CORBA_TRUE, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_OperationDef_move(CORBA_OperationDef _obj, const CORBA_Container new_container, const CORBA_Identifier new_name, const CORBA_VersionSpec new_version, 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[5]; } _ORBIT_operation_name_data = { 5, "move" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 9}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->move(_obj->servant, new_container, new_name, new_version, ev); return; } _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_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; } /* marshal parameter new_container */ ORBit_marshal_object(_ORBIT_send_buffer, new_container); /* marshal parameter new_name */ { GIOP_unsigned_long len = new_name ? (strlen(new_name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (new_name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), new_name, len); } /* marshal parameter new_version */ { GIOP_unsigned_long len = new_version ? (strlen(new_version) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (new_version) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), new_version, len); } 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } /* End inherited operations for CORBA_OperationDef */ CORBA_InterfaceDefSeq * CORBA_InterfaceDef__get_base_interfaces(CORBA_InterfaceDef _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[21]; } _ORBIT_operation_name_data = { 21, "_get_base_interfaces" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 25}; CORBA_InterfaceDefSeq *_ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_InterfaceDef__classid) { return ((POA_CORBA_InterfaceDef__epv *) _obj->vepv[CORBA_InterfaceDef__classid])->_get_base_interfaces(_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; } } _ORBIT_retval = CORBA_InterfaceDefSeq__alloc(); 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); GET_ATOM((*_ORBIT_retval)._length); (*_ORBIT_retval)._release = CORBA_TRUE; (*_ORBIT_retval)._buffer = CORBA_sequence_CORBA_InterfaceDef_allocbuf((*_ORBIT_retval)._length); { int i1; for (i1 = 0; i1 < (*_ORBIT_retval)._length; i1++) { (*_ORBIT_retval)._buffer[i1] = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } } } else { /* demarshal return value */ GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); (*_ORBIT_retval)._length = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); (*_ORBIT_retval)._release = CORBA_TRUE; (*_ORBIT_retval)._buffer = CORBA_sequence_CORBA_InterfaceDef_allocbuf((*_ORBIT_retval)._length); { int i1; for (i1 = 0; i1 < (*_ORBIT_retval)._length; i1++) { (*_ORBIT_retval)._buffer[i1] = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_InterfaceDef__set_base_interfaces(CORBA_InterfaceDef _obj, const CORBA_InterfaceDefSeq * value, 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[21]; } _ORBIT_operation_name_data = { 21, "_set_base_interfaces" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 25}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_InterfaceDef__classid) { ((POA_CORBA_InterfaceDef__epv *) _obj->vepv[CORBA_InterfaceDef__classid])->_set_base_interfaces(_obj->servant, value, ev); return; } _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_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; } /* marshal parameter *value */ { GIOP_unsigned_long i1; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &(*value)._length, sizeof((*value)._length)); for (i1 = 0; i1 < (*value)._length; i1++) { ORBit_marshal_object(_ORBIT_send_buffer, (*value)._buffer[i1]); } } 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } CORBA_boolean CORBA_InterfaceDef_is_a(CORBA_InterfaceDef _obj, const CORBA_RepositoryId interface_id, 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[5]; } _ORBIT_operation_name_data = { 5, "is_a" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 9}; CORBA_boolean _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_InterfaceDef__classid) { return ((POA_CORBA_InterfaceDef__epv *) _obj->vepv[CORBA_InterfaceDef__classid])->is_a(_obj->servant, interface_id, 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 interface_id */ { GIOP_unsigned_long len = interface_id ? (strlen(interface_id) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (interface_id) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), interface_id, len); } 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 */ GET_ATOM(_ORBIT_retval); } else { /* demarshal return value */ _ORBIT_retval = *((CORBA_boolean *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_boolean); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_InterfaceDef_FullInterfaceDescription * CORBA_InterfaceDef_describe_interface(CORBA_InterfaceDef _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[19]; } _ORBIT_operation_name_data = { 19, "describe_interface" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 23}; CORBA_InterfaceDef_FullInterfaceDescription *_ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_InterfaceDef__classid) { return ((POA_CORBA_InterfaceDef__epv *) _obj->vepv[CORBA_InterfaceDef__classid])->describe_interface(_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; } } _ORBIT_retval = CORBA_InterfaceDef_FullInterfaceDescription__alloc(); if (giop_msg_conversion_needed(GIOP_MESSAGE_BUFFER(_ORBIT_recv_buffer))) { /* demarshal return value */ { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(len); (*_ORBIT_retval).name = CORBA_string_alloc(len); if (len) strncpy((*_ORBIT_retval).name, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else ((*_ORBIT_retval).name)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(len); (*_ORBIT_retval).id = CORBA_string_alloc(len); if (len) strncpy((*_ORBIT_retval).id, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else ((*_ORBIT_retval).id)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(len); (*_ORBIT_retval).defined_in = CORBA_string_alloc(len); if (len) strncpy((*_ORBIT_retval).defined_in, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else ((*_ORBIT_retval).defined_in)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(len); (*_ORBIT_retval).version = CORBA_string_alloc(len); if (len) strncpy((*_ORBIT_retval).version, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else ((*_ORBIT_retval).version)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(((*_ORBIT_retval).operations)._length); ((*_ORBIT_retval).operations)._release = CORBA_TRUE; ((*_ORBIT_retval).operations)._buffer = CORBA_sequence_CORBA_OperationDescription_allocbuf(((*_ORBIT_retval).operations)._length); { int i2; for (i2 = 0; i2 < ((*_ORBIT_retval).operations)._length; i2++) { { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(len); (((*_ORBIT_retval).operations)._buffer[i2]).name = CORBA_string_alloc(len); if (len) strncpy((((*_ORBIT_retval).operations)._buffer[i2]).name, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else ((((*_ORBIT_retval).operations)._buffer[i2]).name)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(len); (((*_ORBIT_retval).operations)._buffer[i2]).id = CORBA_string_alloc(len); if (len) strncpy((((*_ORBIT_retval).operations)._buffer[i2]).id, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else ((((*_ORBIT_retval).operations)._buffer[i2]).id)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(len); (((*_ORBIT_retval).operations)._buffer[i2]).defined_in = CORBA_string_alloc(len); if (len) strncpy((((*_ORBIT_retval).operations)._buffer[i2]).defined_in, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else ((((*_ORBIT_retval).operations)._buffer[i2]).defined_in)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(len); (((*_ORBIT_retval).operations)._buffer[i2]).version = CORBA_string_alloc(len); if (len) strncpy((((*_ORBIT_retval).operations)._buffer[i2]).version, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else ((((*_ORBIT_retval).operations)._buffer[i2]).version)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); ORBit_decode_CORBA_TypeCode(&(((*_ORBIT_retval).operations)._buffer[i2]).result, _ORBIT_recv_buffer); GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM((((*_ORBIT_retval).operations)._buffer[i2]).mode); GET_ATOM(((((*_ORBIT_retval).operations)._buffer[i2]).contexts)._length); ((((*_ORBIT_retval).operations)._buffer[i2]).contexts)._release = CORBA_TRUE; ((((*_ORBIT_retval).operations)._buffer[i2]).contexts)._buffer = CORBA_sequence_CORBA_ContextIdentifier_allocbuf(((((*_ORBIT_retval).operations)._buffer[i2]).contexts)._length); { int i4; for (i4 = 0; i4 < ((((*_ORBIT_retval).operations)._buffer[i2]).contexts)._length; i4++) { { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(len); ((((*_ORBIT_retval).operations)._buffer[i2]).contexts)._buffer[i4] = CORBA_string_alloc(len); if (len) strncpy(((((*_ORBIT_retval).operations)._buffer[i2]).contexts)._buffer[i4], GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (((((*_ORBIT_retval).operations)._buffer[i2]).contexts)._buffer[i4])[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } } GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(((((*_ORBIT_retval).operations)._buffer[i2]).parameters)._length); ((((*_ORBIT_retval).operations)._buffer[i2]).parameters)._release = CORBA_TRUE; ((((*_ORBIT_retval).operations)._buffer[i2]).parameters)._buffer = CORBA_sequence_CORBA_ParameterDescription_allocbuf(((((*_ORBIT_retval).operations)._buffer[i2]).parameters)._length); { int i4; for (i4 = 0; i4 < ((((*_ORBIT_retval).operations)._buffer[i2]).parameters)._length; i4++) { { GIOP_unsigned_long len; GET_ATOM(len); (((((*_ORBIT_retval).operations)._buffer[i2]).parameters)._buffer[i4]).name = CORBA_string_alloc(len); if (len) strncpy((((((*_ORBIT_retval).operations)._buffer[i2]).parameters)._buffer[i4]).name, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else ((((((*_ORBIT_retval).operations)._buffer[i2]).parameters)._buffer[i4]).name)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); ORBit_decode_CORBA_TypeCode(&(((((*_ORBIT_retval).operations)._buffer[i2]).parameters)._buffer[i4]).type, _ORBIT_recv_buffer); (((((*_ORBIT_retval).operations)._buffer[i2]).parameters)._buffer[i4]).type_def = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM((((((*_ORBIT_retval).operations)._buffer[i2]).parameters)._buffer[i4]).mode); } } GET_ATOM(((((*_ORBIT_retval).operations)._buffer[i2]).exceptions)._length); ((((*_ORBIT_retval).operations)._buffer[i2]).exceptions)._release = CORBA_TRUE; ((((*_ORBIT_retval).operations)._buffer[i2]).exceptions)._buffer = CORBA_sequence_CORBA_ExceptionDescription_allocbuf(((((*_ORBIT_retval).operations)._buffer[i2]).exceptions)._length); { int i4; for (i4 = 0; i4 < ((((*_ORBIT_retval).operations)._buffer[i2]).exceptions)._length; i4++) { { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(len); (((((*_ORBIT_retval).operations)._buffer[i2]).exceptions)._buffer[i4]).name = CORBA_string_alloc(len); if (len) strncpy((((((*_ORBIT_retval).operations)._buffer[i2]).exceptions)._buffer[i4]).name, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else ((((((*_ORBIT_retval).operations)._buffer[i2]).exceptions)._buffer[i4]).name)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(len); (((((*_ORBIT_retval).operations)._buffer[i2]).exceptions)._buffer[i4]).id = CORBA_string_alloc(len); if (len) strncpy((((((*_ORBIT_retval).operations)._buffer[i2]).exceptions)._buffer[i4]).id, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else ((((((*_ORBIT_retval).operations)._buffer[i2]).exceptions)._buffer[i4]).id)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(len); (((((*_ORBIT_retval).operations)._buffer[i2]).exceptions)._buffer[i4]).defined_in = CORBA_string_alloc(len); if (len) strncpy((((((*_ORBIT_retval).operations)._buffer[i2]).exceptions)._buffer[i4]).defined_in, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else ((((((*_ORBIT_retval).operations)._buffer[i2]).exceptions)._buffer[i4]).defined_in)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(len); (((((*_ORBIT_retval).operations)._buffer[i2]).exceptions)._buffer[i4]).version = CORBA_string_alloc(len); if (len) strncpy((((((*_ORBIT_retval).operations)._buffer[i2]).exceptions)._buffer[i4]).version, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else ((((((*_ORBIT_retval).operations)._buffer[i2]).exceptions)._buffer[i4]).version)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); ORBit_decode_CORBA_TypeCode(&(((((*_ORBIT_retval).operations)._buffer[i2]).exceptions)._buffer[i4]).type, _ORBIT_recv_buffer); } } } } GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(((*_ORBIT_retval).attributes)._length); ((*_ORBIT_retval).attributes)._release = CORBA_TRUE; ((*_ORBIT_retval).attributes)._buffer = CORBA_sequence_CORBA_AttributeDescription_allocbuf(((*_ORBIT_retval).attributes)._length); { int i2; for (i2 = 0; i2 < ((*_ORBIT_retval).attributes)._length; i2++) { { GIOP_unsigned_long len; GET_ATOM(len); (((*_ORBIT_retval).attributes)._buffer[i2]).name = CORBA_string_alloc(len); if (len) strncpy((((*_ORBIT_retval).attributes)._buffer[i2]).name, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else ((((*_ORBIT_retval).attributes)._buffer[i2]).name)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(len); (((*_ORBIT_retval).attributes)._buffer[i2]).id = CORBA_string_alloc(len); if (len) strncpy((((*_ORBIT_retval).attributes)._buffer[i2]).id, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else ((((*_ORBIT_retval).attributes)._buffer[i2]).id)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(len); (((*_ORBIT_retval).attributes)._buffer[i2]).defined_in = CORBA_string_alloc(len); if (len) strncpy((((*_ORBIT_retval).attributes)._buffer[i2]).defined_in, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else ((((*_ORBIT_retval).attributes)._buffer[i2]).defined_in)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(len); (((*_ORBIT_retval).attributes)._buffer[i2]).version = CORBA_string_alloc(len); if (len) strncpy((((*_ORBIT_retval).attributes)._buffer[i2]).version, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else ((((*_ORBIT_retval).attributes)._buffer[i2]).version)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); ORBit_decode_CORBA_TypeCode(&(((*_ORBIT_retval).attributes)._buffer[i2]).type, _ORBIT_recv_buffer); GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM((((*_ORBIT_retval).attributes)._buffer[i2]).mode); } } GET_ATOM(((*_ORBIT_retval).base_interfaces)._length); ((*_ORBIT_retval).base_interfaces)._release = CORBA_TRUE; ((*_ORBIT_retval).base_interfaces)._buffer = CORBA_sequence_CORBA_RepositoryId_allocbuf(((*_ORBIT_retval).base_interfaces)._length); { int i2; for (i2 = 0; i2 < ((*_ORBIT_retval).base_interfaces)._length; i2++) { { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(len); ((*_ORBIT_retval).base_interfaces)._buffer[i2] = CORBA_string_alloc(len); if (len) strncpy(((*_ORBIT_retval).base_interfaces)._buffer[i2], GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (((*_ORBIT_retval).base_interfaces)._buffer[i2])[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } } GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); ORBit_decode_CORBA_TypeCode(&(*_ORBIT_retval).type, _ORBIT_recv_buffer); } else { /* demarshal return value */ { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); (*_ORBIT_retval).name = CORBA_string_alloc(len); if (len) strncpy((*_ORBIT_retval).name, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else ((*_ORBIT_retval).name)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); (*_ORBIT_retval).id = CORBA_string_alloc(len); if (len) strncpy((*_ORBIT_retval).id, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else ((*_ORBIT_retval).id)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); (*_ORBIT_retval).defined_in = CORBA_string_alloc(len); if (len) strncpy((*_ORBIT_retval).defined_in, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else ((*_ORBIT_retval).defined_in)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); (*_ORBIT_retval).version = CORBA_string_alloc(len); if (len) strncpy((*_ORBIT_retval).version, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else ((*_ORBIT_retval).version)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); ((*_ORBIT_retval).operations)._length = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); ((*_ORBIT_retval).operations)._release = CORBA_TRUE; ((*_ORBIT_retval).operations)._buffer = CORBA_sequence_CORBA_OperationDescription_allocbuf(((*_ORBIT_retval).operations)._length); { int i2; for (i2 = 0; i2 < ((*_ORBIT_retval).operations)._length; i2++) { { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); (((*_ORBIT_retval).operations)._buffer[i2]).name = CORBA_string_alloc(len); if (len) strncpy((((*_ORBIT_retval).operations)._buffer[i2]).name, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else ((((*_ORBIT_retval).operations)._buffer[i2]).name)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); (((*_ORBIT_retval).operations)._buffer[i2]).id = CORBA_string_alloc(len); if (len) strncpy((((*_ORBIT_retval).operations)._buffer[i2]).id, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else ((((*_ORBIT_retval).operations)._buffer[i2]).id)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); (((*_ORBIT_retval).operations)._buffer[i2]).defined_in = CORBA_string_alloc(len); if (len) strncpy((((*_ORBIT_retval).operations)._buffer[i2]).defined_in, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else ((((*_ORBIT_retval).operations)._buffer[i2]).defined_in)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); (((*_ORBIT_retval).operations)._buffer[i2]).version = CORBA_string_alloc(len); if (len) strncpy((((*_ORBIT_retval).operations)._buffer[i2]).version, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else ((((*_ORBIT_retval).operations)._buffer[i2]).version)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); ORBit_decode_CORBA_TypeCode(&(((*_ORBIT_retval).operations)._buffer[i2]).result, _ORBIT_recv_buffer); GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); (((*_ORBIT_retval).operations)._buffer[i2]).mode = *((CORBA_OperationMode *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_OperationMode); ((((*_ORBIT_retval).operations)._buffer[i2]).contexts)._length = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); ((((*_ORBIT_retval).operations)._buffer[i2]).contexts)._release = CORBA_TRUE; ((((*_ORBIT_retval).operations)._buffer[i2]).contexts)._buffer = CORBA_sequence_CORBA_ContextIdentifier_allocbuf(((((*_ORBIT_retval).operations)._buffer[i2]).contexts)._length); { int i4; for (i4 = 0; i4 < ((((*_ORBIT_retval).operations)._buffer[i2]).contexts)._length; i4++) { { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); ((((*_ORBIT_retval).operations)._buffer[i2]).contexts)._buffer[i4] = CORBA_string_alloc(len); if (len) strncpy(((((*_ORBIT_retval).operations)._buffer[i2]).contexts)._buffer[i4], GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (((((*_ORBIT_retval).operations)._buffer[i2]).contexts)._buffer[i4])[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } } GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); ((((*_ORBIT_retval).operations)._buffer[i2]).parameters)._length = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); ((((*_ORBIT_retval).operations)._buffer[i2]).parameters)._release = CORBA_TRUE; ((((*_ORBIT_retval).operations)._buffer[i2]).parameters)._buffer = CORBA_sequence_CORBA_ParameterDescription_allocbuf(((((*_ORBIT_retval).operations)._buffer[i2]).parameters)._length); { int i4; for (i4 = 0; i4 < ((((*_ORBIT_retval).operations)._buffer[i2]).parameters)._length; i4++) { { GIOP_unsigned_long len; len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); (((((*_ORBIT_retval).operations)._buffer[i2]).parameters)._buffer[i4]).name = CORBA_string_alloc(len); if (len) strncpy((((((*_ORBIT_retval).operations)._buffer[i2]).parameters)._buffer[i4]).name, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else ((((((*_ORBIT_retval).operations)._buffer[i2]).parameters)._buffer[i4]).name)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); ORBit_decode_CORBA_TypeCode(&(((((*_ORBIT_retval).operations)._buffer[i2]).parameters)._buffer[i4]).type, _ORBIT_recv_buffer); (((((*_ORBIT_retval).operations)._buffer[i2]).parameters)._buffer[i4]).type_def = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); (((((*_ORBIT_retval).operations)._buffer[i2]).parameters)._buffer[i4]).mode = *((CORBA_ParameterMode *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_ParameterMode); } } ((((*_ORBIT_retval).operations)._buffer[i2]).exceptions)._length = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); ((((*_ORBIT_retval).operations)._buffer[i2]).exceptions)._release = CORBA_TRUE; ((((*_ORBIT_retval).operations)._buffer[i2]).exceptions)._buffer = CORBA_sequence_CORBA_ExceptionDescription_allocbuf(((((*_ORBIT_retval).operations)._buffer[i2]).exceptions)._length); { int i4; for (i4 = 0; i4 < ((((*_ORBIT_retval).operations)._buffer[i2]).exceptions)._length; i4++) { { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); (((((*_ORBIT_retval).operations)._buffer[i2]).exceptions)._buffer[i4]).name = CORBA_string_alloc(len); if (len) strncpy((((((*_ORBIT_retval).operations)._buffer[i2]).exceptions)._buffer[i4]).name, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else ((((((*_ORBIT_retval).operations)._buffer[i2]).exceptions)._buffer[i4]).name)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); (((((*_ORBIT_retval).operations)._buffer[i2]).exceptions)._buffer[i4]).id = CORBA_string_alloc(len); if (len) strncpy((((((*_ORBIT_retval).operations)._buffer[i2]).exceptions)._buffer[i4]).id, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else ((((((*_ORBIT_retval).operations)._buffer[i2]).exceptions)._buffer[i4]).id)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); (((((*_ORBIT_retval).operations)._buffer[i2]).exceptions)._buffer[i4]).defined_in = CORBA_string_alloc(len); if (len) strncpy((((((*_ORBIT_retval).operations)._buffer[i2]).exceptions)._buffer[i4]).defined_in, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else ((((((*_ORBIT_retval).operations)._buffer[i2]).exceptions)._buffer[i4]).defined_in)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); (((((*_ORBIT_retval).operations)._buffer[i2]).exceptions)._buffer[i4]).version = CORBA_string_alloc(len); if (len) strncpy((((((*_ORBIT_retval).operations)._buffer[i2]).exceptions)._buffer[i4]).version, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else ((((((*_ORBIT_retval).operations)._buffer[i2]).exceptions)._buffer[i4]).version)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); ORBit_decode_CORBA_TypeCode(&(((((*_ORBIT_retval).operations)._buffer[i2]).exceptions)._buffer[i4]).type, _ORBIT_recv_buffer); } } } } GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); ((*_ORBIT_retval).attributes)._length = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); ((*_ORBIT_retval).attributes)._release = CORBA_TRUE; ((*_ORBIT_retval).attributes)._buffer = CORBA_sequence_CORBA_AttributeDescription_allocbuf(((*_ORBIT_retval).attributes)._length); { int i2; for (i2 = 0; i2 < ((*_ORBIT_retval).attributes)._length; i2++) { { GIOP_unsigned_long len; len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); (((*_ORBIT_retval).attributes)._buffer[i2]).name = CORBA_string_alloc(len); if (len) strncpy((((*_ORBIT_retval).attributes)._buffer[i2]).name, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else ((((*_ORBIT_retval).attributes)._buffer[i2]).name)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); (((*_ORBIT_retval).attributes)._buffer[i2]).id = CORBA_string_alloc(len); if (len) strncpy((((*_ORBIT_retval).attributes)._buffer[i2]).id, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else ((((*_ORBIT_retval).attributes)._buffer[i2]).id)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); (((*_ORBIT_retval).attributes)._buffer[i2]).defined_in = CORBA_string_alloc(len); if (len) strncpy((((*_ORBIT_retval).attributes)._buffer[i2]).defined_in, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else ((((*_ORBIT_retval).attributes)._buffer[i2]).defined_in)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); (((*_ORBIT_retval).attributes)._buffer[i2]).version = CORBA_string_alloc(len); if (len) strncpy((((*_ORBIT_retval).attributes)._buffer[i2]).version, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else ((((*_ORBIT_retval).attributes)._buffer[i2]).version)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); ORBit_decode_CORBA_TypeCode(&(((*_ORBIT_retval).attributes)._buffer[i2]).type, _ORBIT_recv_buffer); GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); (((*_ORBIT_retval).attributes)._buffer[i2]).mode = *((CORBA_AttributeMode *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_AttributeMode); } } ((*_ORBIT_retval).base_interfaces)._length = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); ((*_ORBIT_retval).base_interfaces)._release = CORBA_TRUE; ((*_ORBIT_retval).base_interfaces)._buffer = CORBA_sequence_CORBA_RepositoryId_allocbuf(((*_ORBIT_retval).base_interfaces)._length); { int i2; for (i2 = 0; i2 < ((*_ORBIT_retval).base_interfaces)._length; i2++) { { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); ((*_ORBIT_retval).base_interfaces)._buffer[i2] = CORBA_string_alloc(len); if (len) strncpy(((*_ORBIT_retval).base_interfaces)._buffer[i2], GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (((*_ORBIT_retval).base_interfaces)._buffer[i2])[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } } GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); ORBit_decode_CORBA_TypeCode(&(*_ORBIT_retval).type, _ORBIT_recv_buffer); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_AttributeDef CORBA_InterfaceDef_create_attribute(CORBA_InterfaceDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_IDLType type, const CORBA_AttributeMode mode, 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[17]; } _ORBIT_operation_name_data = { 17, "create_attribute" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 21}; CORBA_AttributeDef _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_InterfaceDef__classid) { return ((POA_CORBA_InterfaceDef__epv *) _obj->vepv[CORBA_InterfaceDef__classid])->create_attribute(_obj->servant, id, name, version, type, mode, 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 id */ { GIOP_unsigned_long len = id ? (strlen(id) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (id) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), id, len); } /* marshal parameter name */ { GIOP_unsigned_long len = name ? (strlen(name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), name, len); } /* marshal parameter version */ { GIOP_unsigned_long len = version ? (strlen(version) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (version) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), version, len); } /* marshal parameter type */ ORBit_marshal_object(_ORBIT_send_buffer, type); /* marshal parameter mode */ giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &mode, sizeof(mode)); 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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_OperationDef CORBA_InterfaceDef_create_operation(CORBA_InterfaceDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_IDLType result, const CORBA_OperationMode mode, const CORBA_ParDescriptionSeq * params, const CORBA_ExceptionDefSeq * exceptions, const CORBA_ContextIdSeq * contexts, 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[17]; } _ORBIT_operation_name_data = { 17, "create_operation" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 21}; CORBA_OperationDef _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_InterfaceDef__classid) { return ((POA_CORBA_InterfaceDef__epv *) _obj->vepv[CORBA_InterfaceDef__classid])->create_operation(_obj->servant, id, name, version, result, mode, params, exceptions, contexts, 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 id */ { GIOP_unsigned_long len = id ? (strlen(id) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (id) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), id, len); } /* marshal parameter name */ { GIOP_unsigned_long len = name ? (strlen(name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), name, len); } /* marshal parameter version */ { GIOP_unsigned_long len = version ? (strlen(version) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (version) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), version, len); } /* marshal parameter result */ ORBit_marshal_object(_ORBIT_send_buffer, result); /* marshal parameter mode */ giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &mode, sizeof(mode)); /* marshal parameter *params */ { GIOP_unsigned_long i1; giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &(*params)._length, sizeof((*params)._length)); for (i1 = 0; i1 < (*params)._length; i1++) { { GIOP_unsigned_long len = ((*params)._buffer[i1]).name ? (strlen(((*params)._buffer[i1]).name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (((*params)._buffer[i1]).name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*params)._buffer[i1]).name, len); } ORBit_encode_CORBA_TypeCode(((*params)._buffer[i1]).type, _ORBIT_send_buffer); ORBit_marshal_object(_ORBIT_send_buffer, ((*params)._buffer[i1]).type_def); giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &((*params)._buffer[i1]).mode, sizeof(((*params)._buffer[i1]).mode)); } } /* marshal parameter *exceptions */ { GIOP_unsigned_long i1; giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &(*exceptions)._length, sizeof((*exceptions)._length)); for (i1 = 0; i1 < (*exceptions)._length; i1++) { ORBit_marshal_object(_ORBIT_send_buffer, (*exceptions)._buffer[i1]); } } /* marshal parameter *contexts */ { GIOP_unsigned_long i1; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &(*contexts)._length, sizeof((*contexts)._length)); for (i1 = 0; i1 < (*contexts)._length; i1++) { { GIOP_unsigned_long len = (*contexts)._buffer[i1] ? (strlen((*contexts)._buffer[i1]) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if ((*contexts)._buffer[i1]) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (*contexts)._buffer[i1], len); } } } 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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } /* Begin inherited operations for CORBA_InterfaceDef */ /* From interface CORBA_IRObject */ CORBA_DefinitionKind CORBA_InterfaceDef__get_def_kind(CORBA_InterfaceDef _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[14]; } _ORBIT_operation_name_data = { 14, "_get_def_kind" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 18}; CORBA_DefinitionKind _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_IRObject__classid) { return ((POA_CORBA_IRObject__epv *) _obj->vepv[CORBA_IRObject__classid])->_get_def_kind(_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); GET_ATOM(_ORBIT_retval); } else { /* demarshal return value */ GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); _ORBIT_retval = *((CORBA_DefinitionKind *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_DefinitionKind); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_InterfaceDef_destroy(CORBA_InterfaceDef _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[8]; } _ORBIT_operation_name_data = { 8, "destroy" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 12}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_IRObject__classid) { ((POA_CORBA_IRObject__epv *) _obj->vepv[CORBA_IRObject__classid])->destroy(_obj->servant, ev); return; } _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_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; } 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } /* From interface CORBA_Container */ CORBA_Contained CORBA_InterfaceDef_lookup(CORBA_InterfaceDef _obj, const CORBA_ScopedName search_name, 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[7]; } _ORBIT_operation_name_data = { 7, "lookup" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 11}; CORBA_Contained _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->lookup(_obj->servant, search_name, 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 search_name */ { GIOP_unsigned_long len = search_name ? (strlen(search_name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (search_name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), search_name, len); } 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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_ContainedSeq * CORBA_InterfaceDef_contents(CORBA_InterfaceDef _obj, const CORBA_DefinitionKind limit_type, const CORBA_boolean exclude_inherited, 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[9]; } _ORBIT_operation_name_data = { 9, "contents" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 13}; CORBA_ContainedSeq *_ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->contents(_obj->servant, limit_type, exclude_inherited, 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 limit_type */ giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &limit_type, sizeof(limit_type)); /* marshal parameter exclude_inherited */ giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &exclude_inherited, sizeof(exclude_inherited)); 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_ContainedSeq__alloc(); 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); GET_ATOM((*_ORBIT_retval)._length); (*_ORBIT_retval)._release = CORBA_TRUE; (*_ORBIT_retval)._buffer = CORBA_sequence_CORBA_Contained_allocbuf((*_ORBIT_retval)._length); { int i1; for (i1 = 0; i1 < (*_ORBIT_retval)._length; i1++) { (*_ORBIT_retval)._buffer[i1] = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } } } else { /* demarshal return value */ GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); (*_ORBIT_retval)._length = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); (*_ORBIT_retval)._release = CORBA_TRUE; (*_ORBIT_retval)._buffer = CORBA_sequence_CORBA_Contained_allocbuf((*_ORBIT_retval)._length); { int i1; for (i1 = 0; i1 < (*_ORBIT_retval)._length; i1++) { (*_ORBIT_retval)._buffer[i1] = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_ContainedSeq * CORBA_InterfaceDef_lookup_name(CORBA_InterfaceDef _obj, const CORBA_Identifier search_name, const CORBA_long levels_to_search, const CORBA_DefinitionKind limit_type, const CORBA_boolean exclude_inherited, 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[12]; } _ORBIT_operation_name_data = { 12, "lookup_name" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 16}; CORBA_ContainedSeq *_ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->lookup_name(_obj->servant, search_name, levels_to_search, limit_type, exclude_inherited, 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 search_name */ { GIOP_unsigned_long len = search_name ? (strlen(search_name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (search_name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), search_name, len); } /* marshal parameter levels_to_search */ giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &levels_to_search, sizeof(levels_to_search)); /* marshal parameter limit_type */ giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &limit_type, sizeof(limit_type)); /* marshal parameter exclude_inherited */ giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &exclude_inherited, sizeof(exclude_inherited)); 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_ContainedSeq__alloc(); 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); GET_ATOM((*_ORBIT_retval)._length); (*_ORBIT_retval)._release = CORBA_TRUE; (*_ORBIT_retval)._buffer = CORBA_sequence_CORBA_Contained_allocbuf((*_ORBIT_retval)._length); { int i1; for (i1 = 0; i1 < (*_ORBIT_retval)._length; i1++) { (*_ORBIT_retval)._buffer[i1] = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } } } else { /* demarshal return value */ GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); (*_ORBIT_retval)._length = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); (*_ORBIT_retval)._release = CORBA_TRUE; (*_ORBIT_retval)._buffer = CORBA_sequence_CORBA_Contained_allocbuf((*_ORBIT_retval)._length); { int i1; for (i1 = 0; i1 < (*_ORBIT_retval)._length; i1++) { (*_ORBIT_retval)._buffer[i1] = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_Container_DescriptionSeq * CORBA_InterfaceDef_describe_contents(CORBA_InterfaceDef _obj, const CORBA_DefinitionKind limit_type, const CORBA_boolean exclude_inherited, const CORBA_long max_returned_objs, 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[18]; } _ORBIT_operation_name_data = { 18, "describe_contents" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 22}; CORBA_Container_DescriptionSeq *_ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->describe_contents(_obj->servant, limit_type, exclude_inherited, max_returned_objs, 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 limit_type */ giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &limit_type, sizeof(limit_type)); /* marshal parameter exclude_inherited */ giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &exclude_inherited, sizeof(exclude_inherited)); /* marshal parameter max_returned_objs */ giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &max_returned_objs, sizeof(max_returned_objs)); 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_Container_DescriptionSeq__alloc(); 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); GET_ATOM((*_ORBIT_retval)._length); (*_ORBIT_retval)._release = CORBA_TRUE; (*_ORBIT_retval)._buffer = CORBA_sequence_CORBA_Container_Description_allocbuf((*_ORBIT_retval)._length); { int i1; for (i1 = 0; i1 < (*_ORBIT_retval)._length; i1++) { ((*_ORBIT_retval)._buffer[i1]).contained_object = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(((*_ORBIT_retval)._buffer[i1]).kind); ORBit_demarshal_any(_ORBIT_recv_buffer, &(((*_ORBIT_retval)._buffer[i1]).value), CORBA_TRUE, (_obj->orb)); } } } else { /* demarshal return value */ GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); (*_ORBIT_retval)._length = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); (*_ORBIT_retval)._release = CORBA_TRUE; (*_ORBIT_retval)._buffer = CORBA_sequence_CORBA_Container_Description_allocbuf((*_ORBIT_retval)._length); { int i1; for (i1 = 0; i1 < (*_ORBIT_retval)._length; i1++) { ((*_ORBIT_retval)._buffer[i1]).contained_object = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); ((*_ORBIT_retval)._buffer[i1]).kind = *((CORBA_DefinitionKind *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_DefinitionKind); ORBit_demarshal_any(_ORBIT_recv_buffer, &(((*_ORBIT_retval)._buffer[i1]).value), CORBA_TRUE, (_obj->orb)); } } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_ModuleDef CORBA_InterfaceDef_create_module(CORBA_InterfaceDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, 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[14]; } _ORBIT_operation_name_data = { 14, "create_module" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 18}; CORBA_ModuleDef _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->create_module(_obj->servant, id, name, version, 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 id */ { GIOP_unsigned_long len = id ? (strlen(id) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (id) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), id, len); } /* marshal parameter name */ { GIOP_unsigned_long len = name ? (strlen(name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), name, len); } /* marshal parameter version */ { GIOP_unsigned_long len = version ? (strlen(version) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (version) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), version, len); } 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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_ConstantDef CORBA_InterfaceDef_create_constant(CORBA_InterfaceDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_IDLType type, const CORBA_any * value, 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[16]; } _ORBIT_operation_name_data = { 16, "create_constant" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 20}; CORBA_ConstantDef _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->create_constant(_obj->servant, id, name, version, type, value, 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 id */ { GIOP_unsigned_long len = id ? (strlen(id) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (id) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), id, len); } /* marshal parameter name */ { GIOP_unsigned_long len = name ? (strlen(name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), name, len); } /* marshal parameter version */ { GIOP_unsigned_long len = version ? (strlen(version) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (version) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), version, len); } /* marshal parameter type */ ORBit_marshal_object(_ORBIT_send_buffer, type); /* marshal parameter *value */ ORBit_marshal_any(_ORBIT_send_buffer, &(*value)); 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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_StructDef CORBA_InterfaceDef_create_struct(CORBA_InterfaceDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_StructMemberSeq * members, 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[14]; } _ORBIT_operation_name_data = { 14, "create_struct" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 18}; CORBA_StructDef _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->create_struct(_obj->servant, id, name, version, members, 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 id */ { GIOP_unsigned_long len = id ? (strlen(id) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (id) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), id, len); } /* marshal parameter name */ { GIOP_unsigned_long len = name ? (strlen(name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), name, len); } /* marshal parameter version */ { GIOP_unsigned_long len = version ? (strlen(version) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (version) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), version, len); } /* marshal parameter *members */ { GIOP_unsigned_long i1; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &(*members)._length, sizeof((*members)._length)); for (i1 = 0; i1 < (*members)._length; i1++) { { GIOP_unsigned_long len = ((*members)._buffer[i1]).name ? (strlen(((*members)._buffer[i1]).name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (((*members)._buffer[i1]).name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*members)._buffer[i1]).name, len); } ORBit_encode_CORBA_TypeCode(((*members)._buffer[i1]).type, _ORBIT_send_buffer); ORBit_marshal_object(_ORBIT_send_buffer, ((*members)._buffer[i1]).type_def); } } 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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_UnionDef CORBA_InterfaceDef_create_union(CORBA_InterfaceDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_IDLType discriminator_type, const CORBA_UnionMemberSeq * members, 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[13]; } _ORBIT_operation_name_data = { 13, "create_union" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 17}; CORBA_UnionDef _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->create_union(_obj->servant, id, name, version, discriminator_type, members, 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 id */ { GIOP_unsigned_long len = id ? (strlen(id) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (id) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), id, len); } /* marshal parameter name */ { GIOP_unsigned_long len = name ? (strlen(name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), name, len); } /* marshal parameter version */ { GIOP_unsigned_long len = version ? (strlen(version) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (version) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), version, len); } /* marshal parameter discriminator_type */ ORBit_marshal_object(_ORBIT_send_buffer, discriminator_type); /* marshal parameter *members */ { GIOP_unsigned_long i1; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &(*members)._length, sizeof((*members)._length)); for (i1 = 0; i1 < (*members)._length; i1++) { { GIOP_unsigned_long len = ((*members)._buffer[i1]).name ? (strlen(((*members)._buffer[i1]).name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (((*members)._buffer[i1]).name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*members)._buffer[i1]).name, len); } ORBit_marshal_any(_ORBIT_send_buffer, &(((*members)._buffer[i1]).label)); ORBit_encode_CORBA_TypeCode(((*members)._buffer[i1]).type, _ORBIT_send_buffer); ORBit_marshal_object(_ORBIT_send_buffer, ((*members)._buffer[i1]).type_def); } } 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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_EnumDef CORBA_InterfaceDef_create_enum(CORBA_InterfaceDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_EnumMemberSeq * members, 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[12]; } _ORBIT_operation_name_data = { 12, "create_enum" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 16}; CORBA_EnumDef _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->create_enum(_obj->servant, id, name, version, members, 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 id */ { GIOP_unsigned_long len = id ? (strlen(id) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (id) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), id, len); } /* marshal parameter name */ { GIOP_unsigned_long len = name ? (strlen(name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), name, len); } /* marshal parameter version */ { GIOP_unsigned_long len = version ? (strlen(version) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (version) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), version, len); } /* marshal parameter *members */ { GIOP_unsigned_long i1; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &(*members)._length, sizeof((*members)._length)); for (i1 = 0; i1 < (*members)._length; i1++) { { GIOP_unsigned_long len = (*members)._buffer[i1] ? (strlen((*members)._buffer[i1]) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if ((*members)._buffer[i1]) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (*members)._buffer[i1], len); } } } 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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_AliasDef CORBA_InterfaceDef_create_alias(CORBA_InterfaceDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_IDLType original_type, 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[13]; } _ORBIT_operation_name_data = { 13, "create_alias" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 17}; CORBA_AliasDef _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->create_alias(_obj->servant, id, name, version, original_type, 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 id */ { GIOP_unsigned_long len = id ? (strlen(id) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (id) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), id, len); } /* marshal parameter name */ { GIOP_unsigned_long len = name ? (strlen(name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), name, len); } /* marshal parameter version */ { GIOP_unsigned_long len = version ? (strlen(version) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (version) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), version, len); } /* marshal parameter original_type */ ORBit_marshal_object(_ORBIT_send_buffer, original_type); 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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_InterfaceDef CORBA_InterfaceDef_create_interface(CORBA_InterfaceDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_InterfaceDefSeq * base_interfaces, 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[17]; } _ORBIT_operation_name_data = { 17, "create_interface" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 21}; CORBA_InterfaceDef _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->create_interface(_obj->servant, id, name, version, base_interfaces, 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 id */ { GIOP_unsigned_long len = id ? (strlen(id) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (id) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), id, len); } /* marshal parameter name */ { GIOP_unsigned_long len = name ? (strlen(name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), name, len); } /* marshal parameter version */ { GIOP_unsigned_long len = version ? (strlen(version) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (version) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), version, len); } /* marshal parameter *base_interfaces */ { GIOP_unsigned_long i1; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &(*base_interfaces)._length, sizeof((*base_interfaces)._length)); for (i1 = 0; i1 < (*base_interfaces)._length; i1++) { ORBit_marshal_object(_ORBIT_send_buffer, (*base_interfaces)._buffer[i1]); } } 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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_ExceptionDef CORBA_InterfaceDef_create_exception(CORBA_InterfaceDef _obj, const CORBA_RepositoryId id, const CORBA_Identifier name, const CORBA_VersionSpec version, const CORBA_StructMemberSeq * members, 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[17]; } _ORBIT_operation_name_data = { 17, "create_exception" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 21}; CORBA_ExceptionDef _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Container__classid) { return ((POA_CORBA_Container__epv *) _obj->vepv[CORBA_Container__classid])->create_exception(_obj->servant, id, name, version, members, 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 id */ { GIOP_unsigned_long len = id ? (strlen(id) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (id) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), id, len); } /* marshal parameter name */ { GIOP_unsigned_long len = name ? (strlen(name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), name, len); } /* marshal parameter version */ { GIOP_unsigned_long len = version ? (strlen(version) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (version) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), version, len); } /* marshal parameter *members */ { GIOP_unsigned_long i1; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &(*members)._length, sizeof((*members)._length)); for (i1 = 0; i1 < (*members)._length; i1++) { { GIOP_unsigned_long len = ((*members)._buffer[i1]).name ? (strlen(((*members)._buffer[i1]).name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (((*members)._buffer[i1]).name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*members)._buffer[i1]).name, len); } ORBit_encode_CORBA_TypeCode(((*members)._buffer[i1]).type, _ORBIT_send_buffer); ORBit_marshal_object(_ORBIT_send_buffer, ((*members)._buffer[i1]).type_def); } } 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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } /* From interface CORBA_Contained */ CORBA_RepositoryId CORBA_InterfaceDef__get_id(CORBA_InterfaceDef _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[8]; } _ORBIT_operation_name_data = { 8, "_get_id" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 12}; CORBA_RepositoryId _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_get_id(_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_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(len); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } else { /* demarshal return value */ { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_InterfaceDef__set_id(CORBA_InterfaceDef _obj, const CORBA_RepositoryId value, 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[8]; } _ORBIT_operation_name_data = { 8, "_set_id" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 12}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_set_id(_obj->servant, value, ev); return; } _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_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; } /* marshal parameter value */ { GIOP_unsigned_long len = value ? (strlen(value) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (value) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), value, len); } 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } CORBA_Identifier CORBA_InterfaceDef__get_name(CORBA_InterfaceDef _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_name" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 14}; CORBA_Identifier _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_get_name(_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_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(len); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } else { /* demarshal return value */ { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_InterfaceDef__set_name(CORBA_InterfaceDef _obj, const CORBA_Identifier value, 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, "_set_name" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 14}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_set_name(_obj->servant, value, ev); return; } _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_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; } /* marshal parameter value */ { GIOP_unsigned_long len = value ? (strlen(value) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (value) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), value, len); } 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } CORBA_VersionSpec CORBA_InterfaceDef__get_version(CORBA_InterfaceDef _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[13]; } _ORBIT_operation_name_data = { 13, "_get_version" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 17}; CORBA_VersionSpec _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_get_version(_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_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(len); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } else { /* demarshal return value */ { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_InterfaceDef__set_version(CORBA_InterfaceDef _obj, const CORBA_VersionSpec value, 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[13]; } _ORBIT_operation_name_data = { 13, "_set_version" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 17}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_set_version(_obj->servant, value, ev); return; } _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_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; } /* marshal parameter value */ { GIOP_unsigned_long len = value ? (strlen(value) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (value) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), value, len); } 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } CORBA_Container CORBA_InterfaceDef__get_defined_in(CORBA_InterfaceDef _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[16]; } _ORBIT_operation_name_data = { 16, "_get_defined_in" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 20}; CORBA_Container _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_get_defined_in(_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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_ScopedName CORBA_InterfaceDef__get_absolute_name(CORBA_InterfaceDef _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[19]; } _ORBIT_operation_name_data = { 19, "_get_absolute_name" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 23}; CORBA_ScopedName _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_get_absolute_name(_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_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(len); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } else { /* demarshal return value */ { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); _ORBIT_retval = CORBA_string_alloc(len); if (len) strncpy(_ORBIT_retval, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (_ORBIT_retval)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_Repository CORBA_InterfaceDef__get_containing_repository(CORBA_InterfaceDef _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[27]; } _ORBIT_operation_name_data = { 27, "_get_containing_repository" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 31}; CORBA_Repository _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->_get_containing_repository(_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 */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal return value */ _ORBIT_retval = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_Contained_Description * CORBA_InterfaceDef_describe(CORBA_InterfaceDef _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[9]; } _ORBIT_operation_name_data = { 9, "describe" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 13}; CORBA_Contained_Description *_ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { return ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->describe(_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; } } _ORBIT_retval = CORBA_Contained_Description__alloc(); 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); GET_ATOM((*_ORBIT_retval).kind); ORBit_demarshal_any(_ORBIT_recv_buffer, &((*_ORBIT_retval).value), CORBA_TRUE, (_obj->orb)); } else { /* demarshal return value */ GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); (*_ORBIT_retval).kind = *((CORBA_DefinitionKind *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_DefinitionKind); ORBit_demarshal_any(_ORBIT_recv_buffer, &((*_ORBIT_retval).value), CORBA_TRUE, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CORBA_InterfaceDef_move(CORBA_InterfaceDef _obj, const CORBA_Container new_container, const CORBA_Identifier new_name, const CORBA_VersionSpec new_version, 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[5]; } _ORBIT_operation_name_data = { 5, "move" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 9}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CORBA_Contained__classid) { ((POA_CORBA_Contained__epv *) _obj->vepv[CORBA_Contained__classid])->move(_obj->servant, new_container, new_name, new_version, ev); return; } _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_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; } /* marshal parameter new_container */ ORBit_marshal_object(_ORBIT_send_buffer, new_container); /* marshal parameter new_name */ { GIOP_unsigned_long len = new_name ? (strlen(new_name) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (new_name) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), new_name, len); } /* marshal parameter new_version */ { GIOP_unsigned_long len = new_version ? (strlen(new_version) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (new_version) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), new_version, len); } 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; } 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; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } /* From interface CORBA_IDLType */ CORBA_TypeCode CORBA_InterfaceDef__get_type(CORBA_InterfaceDef _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 && CORBA_IDLType__classid) { return ((POA_CORBA_IDLType__epv *) _obj->vepv[CORBA_IDLType__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; } /* End inherited operations for CORBA_InterfaceDef */ /***************** End module CORBA ***************/