/* * This file was generated by orbit-idl - DO NOT EDIT! */ #include #include "CosNaming.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 CosNaming ***************/ static void CosNaming_NamingContext_NotFound_demarshal(GIOPRecvBuffer * _ORBIT_recv_buffer, CORBA_Environment * ev) { CORBA_exception_set(ev, CORBA_USER_EXCEPTION, TC_CosNaming_NamingContext_NotFound_struct.repo_id, CosNaming_NamingContext_NotFound__alloc()); if (giop_msg_conversion_needed(GIOP_MESSAGE_BUFFER(_ORBIT_recv_buffer))) { GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(((*((CosNaming_NamingContext_NotFound *) ev->_params))).why); GET_ATOM((((*((CosNaming_NamingContext_NotFound *) ev->_params))).rest_of_name)._length); (((*((CosNaming_NamingContext_NotFound *) ev->_params))).rest_of_name)._release = CORBA_TRUE; (((*((CosNaming_NamingContext_NotFound *) ev->_params))).rest_of_name)._buffer = CORBA_sequence_CosNaming_NameComponent_allocbuf((((*((CosNaming_NamingContext_NotFound *) ev->_params))).rest_of_name)._length); { int i2; for (i2 = 0; i2 < (((*((CosNaming_NamingContext_NotFound *) ev->_params))).rest_of_name)._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); ((((*((CosNaming_NamingContext_NotFound *) ev->_params))).rest_of_name)._buffer[i2]).id = CORBA_string_alloc(len); if (len) strncpy(((((*((CosNaming_NamingContext_NotFound *) ev->_params))).rest_of_name)._buffer[i2]).id, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (((((*((CosNaming_NamingContext_NotFound *) ev->_params))).rest_of_name)._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); ((((*((CosNaming_NamingContext_NotFound *) ev->_params))).rest_of_name)._buffer[i2]).kind = CORBA_string_alloc(len); if (len) strncpy(((((*((CosNaming_NamingContext_NotFound *) ev->_params))).rest_of_name)._buffer[i2]).kind, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (((((*((CosNaming_NamingContext_NotFound *) ev->_params))).rest_of_name)._buffer[i2]).kind)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } } } else { GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); ((*((CosNaming_NamingContext_NotFound *) ev->_params))).why = *((CosNaming_NamingContext_NotFoundReason *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CosNaming_NamingContext_NotFoundReason); (((*((CosNaming_NamingContext_NotFound *) ev->_params))).rest_of_name)._length = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); (((*((CosNaming_NamingContext_NotFound *) ev->_params))).rest_of_name)._release = CORBA_TRUE; (((*((CosNaming_NamingContext_NotFound *) ev->_params))).rest_of_name)._buffer = CORBA_sequence_CosNaming_NameComponent_allocbuf((((*((CosNaming_NamingContext_NotFound *) ev->_params))).rest_of_name)._length); { int i2; for (i2 = 0; i2 < (((*((CosNaming_NamingContext_NotFound *) ev->_params))).rest_of_name)._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); ((((*((CosNaming_NamingContext_NotFound *) ev->_params))).rest_of_name)._buffer[i2]).id = CORBA_string_alloc(len); if (len) strncpy(((((*((CosNaming_NamingContext_NotFound *) ev->_params))).rest_of_name)._buffer[i2]).id, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (((((*((CosNaming_NamingContext_NotFound *) ev->_params))).rest_of_name)._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); ((((*((CosNaming_NamingContext_NotFound *) ev->_params))).rest_of_name)._buffer[i2]).kind = CORBA_string_alloc(len); if (len) strncpy(((((*((CosNaming_NamingContext_NotFound *) ev->_params))).rest_of_name)._buffer[i2]).kind, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (((((*((CosNaming_NamingContext_NotFound *) ev->_params))).rest_of_name)._buffer[i2]).kind)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } } } } static void CosNaming_NamingContext_CannotProceed_demarshal(GIOPRecvBuffer * _ORBIT_recv_buffer, CORBA_Environment * ev) { CORBA_exception_set(ev, CORBA_USER_EXCEPTION, TC_CosNaming_NamingContext_CannotProceed_struct.repo_id, CosNaming_NamingContext_CannotProceed__alloc()); if (giop_msg_conversion_needed(GIOP_MESSAGE_BUFFER(_ORBIT_recv_buffer))) { ((*((CosNaming_NamingContext_CannotProceed *) ev->_params))).ctx = ORBit_demarshal_object(_ORBIT_recv_buffer, GIOP_MESSAGE_BUFFER(_ORBIT_recv_buffer)->connection->orb_data); GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM((((*((CosNaming_NamingContext_CannotProceed *) ev->_params))).rest_of_name)._length); (((*((CosNaming_NamingContext_CannotProceed *) ev->_params))).rest_of_name)._release = CORBA_TRUE; (((*((CosNaming_NamingContext_CannotProceed *) ev->_params))).rest_of_name)._buffer = CORBA_sequence_CosNaming_NameComponent_allocbuf((((*((CosNaming_NamingContext_CannotProceed *) ev->_params))).rest_of_name)._length); { int i2; for (i2 = 0; i2 < (((*((CosNaming_NamingContext_CannotProceed *) ev->_params))).rest_of_name)._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); ((((*((CosNaming_NamingContext_CannotProceed *) ev->_params))).rest_of_name)._buffer[i2]).id = CORBA_string_alloc(len); if (len) strncpy(((((*((CosNaming_NamingContext_CannotProceed *) ev->_params))).rest_of_name)._buffer[i2]).id, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (((((*((CosNaming_NamingContext_CannotProceed *) ev->_params))).rest_of_name)._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); ((((*((CosNaming_NamingContext_CannotProceed *) ev->_params))).rest_of_name)._buffer[i2]).kind = CORBA_string_alloc(len); if (len) strncpy(((((*((CosNaming_NamingContext_CannotProceed *) ev->_params))).rest_of_name)._buffer[i2]).kind, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (((((*((CosNaming_NamingContext_CannotProceed *) ev->_params))).rest_of_name)._buffer[i2]).kind)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } } } else { ((*((CosNaming_NamingContext_CannotProceed *) ev->_params))).ctx = ORBit_demarshal_object(_ORBIT_recv_buffer, GIOP_MESSAGE_BUFFER(_ORBIT_recv_buffer)->connection->orb_data); GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); (((*((CosNaming_NamingContext_CannotProceed *) ev->_params))).rest_of_name)._length = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); (((*((CosNaming_NamingContext_CannotProceed *) ev->_params))).rest_of_name)._release = CORBA_TRUE; (((*((CosNaming_NamingContext_CannotProceed *) ev->_params))).rest_of_name)._buffer = CORBA_sequence_CosNaming_NameComponent_allocbuf((((*((CosNaming_NamingContext_CannotProceed *) ev->_params))).rest_of_name)._length); { int i2; for (i2 = 0; i2 < (((*((CosNaming_NamingContext_CannotProceed *) ev->_params))).rest_of_name)._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); ((((*((CosNaming_NamingContext_CannotProceed *) ev->_params))).rest_of_name)._buffer[i2]).id = CORBA_string_alloc(len); if (len) strncpy(((((*((CosNaming_NamingContext_CannotProceed *) ev->_params))).rest_of_name)._buffer[i2]).id, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (((((*((CosNaming_NamingContext_CannotProceed *) ev->_params))).rest_of_name)._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); ((((*((CosNaming_NamingContext_CannotProceed *) ev->_params))).rest_of_name)._buffer[i2]).kind = CORBA_string_alloc(len); if (len) strncpy(((((*((CosNaming_NamingContext_CannotProceed *) ev->_params))).rest_of_name)._buffer[i2]).kind, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (((((*((CosNaming_NamingContext_CannotProceed *) ev->_params))).rest_of_name)._buffer[i2]).kind)[0] = '\0'; ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len; } } } } } static void CosNaming_NamingContext_InvalidName_demarshal(GIOPRecvBuffer * _ORBIT_recv_buffer, CORBA_Environment * ev) { CORBA_exception_set(ev, CORBA_USER_EXCEPTION, TC_CosNaming_NamingContext_InvalidName_struct.repo_id, CosNaming_NamingContext_InvalidName__alloc()); if (giop_msg_conversion_needed(GIOP_MESSAGE_BUFFER(_ORBIT_recv_buffer))) { } else { } } static void CosNaming_NamingContext_AlreadyBound_demarshal(GIOPRecvBuffer * _ORBIT_recv_buffer, CORBA_Environment * ev) { CORBA_exception_set(ev, CORBA_USER_EXCEPTION, TC_CosNaming_NamingContext_AlreadyBound_struct.repo_id, CosNaming_NamingContext_AlreadyBound__alloc()); if (giop_msg_conversion_needed(GIOP_MESSAGE_BUFFER(_ORBIT_recv_buffer))) { } else { } } static void CosNaming_NamingContext_NotEmpty_demarshal(GIOPRecvBuffer * _ORBIT_recv_buffer, CORBA_Environment * ev) { CORBA_exception_set(ev, CORBA_USER_EXCEPTION, TC_CosNaming_NamingContext_NotEmpty_struct.repo_id, CosNaming_NamingContext_NotEmpty__alloc()); if (giop_msg_conversion_needed(GIOP_MESSAGE_BUFFER(_ORBIT_recv_buffer))) { } else { } } void CosNaming_NamingContext_bind(CosNaming_NamingContext _obj, const CosNaming_Name * n, const CORBA_Object 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[5]; } _ORBIT_operation_name_data = { 5, "bind" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 9}; static const ORBit_exception_demarshal_info _ORBIT_user_exceptions[] = { {(const CORBA_TypeCode) &TC_CosNaming_NamingContext_NotFound_struct, (gpointer) CosNaming_NamingContext_NotFound_demarshal}, {(const CORBA_TypeCode) &TC_CosNaming_NamingContext_CannotProceed_struct, (gpointer) CosNaming_NamingContext_CannotProceed_demarshal}, {(const CORBA_TypeCode) &TC_CosNaming_NamingContext_InvalidName_struct, (gpointer) CosNaming_NamingContext_InvalidName_demarshal}, {(const CORBA_TypeCode) &TC_CosNaming_NamingContext_AlreadyBound_struct, (gpointer) CosNaming_NamingContext_AlreadyBound_demarshal}, {CORBA_OBJECT_NIL, NULL}}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CosNaming_NamingContext__classid) { ((POA_CosNaming_NamingContext__epv *) _obj->vepv[CosNaming_NamingContext__classid])->bind(_obj->servant, n, obj, 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 *n */ { 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), &(*n)._length, sizeof((*n)._length)); for (i1 = 0; i1 < (*n)._length; i1++) { { GIOP_unsigned_long len = ((*n)._buffer[i1]).id ? (strlen(((*n)._buffer[i1]).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 (((*n)._buffer[i1]).id) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*n)._buffer[i1]).id, len); } { GIOP_unsigned_long len = ((*n)._buffer[i1]).kind ? (strlen(((*n)._buffer[i1]).kind) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (((*n)._buffer[i1]).kind) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*n)._buffer[i1]).kind, len); } } } /* marshal parameter obj */ ORBit_marshal_object(_ORBIT_send_buffer, obj); giop_send_buffer_write(_ORBIT_send_buffer); giop_send_buffer_unuse(_ORBIT_send_buffer); _ORBIT_recv_buffer = giop_recv_reply_buffer_use_2(ORBit_object_get_connection(_obj), _ORBIT_request_id, TRUE); if (_ORBIT_recv_buffer == NULL || _ORBIT_recv_buffer->message_buffer.message_header.message_type != GIOP_REPLY) { 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, _ORBIT_user_exceptions, _obj->orb); giop_recv_buffer_unuse(_ORBIT_recv_buffer); return; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } void CosNaming_NamingContext_rebind(CosNaming_NamingContext _obj, const CosNaming_Name * n, const CORBA_Object 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[7]; } _ORBIT_operation_name_data = { 7, "rebind" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 11}; static const ORBit_exception_demarshal_info _ORBIT_user_exceptions[] = { {(const CORBA_TypeCode) &TC_CosNaming_NamingContext_NotFound_struct, (gpointer) CosNaming_NamingContext_NotFound_demarshal}, {(const CORBA_TypeCode) &TC_CosNaming_NamingContext_CannotProceed_struct, (gpointer) CosNaming_NamingContext_CannotProceed_demarshal}, {(const CORBA_TypeCode) &TC_CosNaming_NamingContext_InvalidName_struct, (gpointer) CosNaming_NamingContext_InvalidName_demarshal}, {CORBA_OBJECT_NIL, NULL}}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CosNaming_NamingContext__classid) { ((POA_CosNaming_NamingContext__epv *) _obj->vepv[CosNaming_NamingContext__classid])->rebind(_obj->servant, n, obj, 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 *n */ { 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), &(*n)._length, sizeof((*n)._length)); for (i1 = 0; i1 < (*n)._length; i1++) { { GIOP_unsigned_long len = ((*n)._buffer[i1]).id ? (strlen(((*n)._buffer[i1]).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 (((*n)._buffer[i1]).id) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*n)._buffer[i1]).id, len); } { GIOP_unsigned_long len = ((*n)._buffer[i1]).kind ? (strlen(((*n)._buffer[i1]).kind) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (((*n)._buffer[i1]).kind) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*n)._buffer[i1]).kind, len); } } } /* marshal parameter obj */ ORBit_marshal_object(_ORBIT_send_buffer, obj); giop_send_buffer_write(_ORBIT_send_buffer); giop_send_buffer_unuse(_ORBIT_send_buffer); _ORBIT_recv_buffer = giop_recv_reply_buffer_use_2(ORBit_object_get_connection(_obj), _ORBIT_request_id, TRUE); if (_ORBIT_recv_buffer == NULL || _ORBIT_recv_buffer->message_buffer.message_header.message_type != GIOP_REPLY) { 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, _ORBIT_user_exceptions, _obj->orb); giop_recv_buffer_unuse(_ORBIT_recv_buffer); return; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } void CosNaming_NamingContext_bind_context(CosNaming_NamingContext _obj, const CosNaming_Name * n, const CosNaming_NamingContext nc, CORBA_Environment * 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, "bind_context" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 17}; static const ORBit_exception_demarshal_info _ORBIT_user_exceptions[] = { {(const CORBA_TypeCode) &TC_CosNaming_NamingContext_NotFound_struct, (gpointer) CosNaming_NamingContext_NotFound_demarshal}, {(const CORBA_TypeCode) &TC_CosNaming_NamingContext_CannotProceed_struct, (gpointer) CosNaming_NamingContext_CannotProceed_demarshal}, {(const CORBA_TypeCode) &TC_CosNaming_NamingContext_InvalidName_struct, (gpointer) CosNaming_NamingContext_InvalidName_demarshal}, {(const CORBA_TypeCode) &TC_CosNaming_NamingContext_AlreadyBound_struct, (gpointer) CosNaming_NamingContext_AlreadyBound_demarshal}, {CORBA_OBJECT_NIL, NULL}}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CosNaming_NamingContext__classid) { ((POA_CosNaming_NamingContext__epv *) _obj->vepv[CosNaming_NamingContext__classid])->bind_context(_obj->servant, n, nc, 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 *n */ { 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), &(*n)._length, sizeof((*n)._length)); for (i1 = 0; i1 < (*n)._length; i1++) { { GIOP_unsigned_long len = ((*n)._buffer[i1]).id ? (strlen(((*n)._buffer[i1]).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 (((*n)._buffer[i1]).id) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*n)._buffer[i1]).id, len); } { GIOP_unsigned_long len = ((*n)._buffer[i1]).kind ? (strlen(((*n)._buffer[i1]).kind) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (((*n)._buffer[i1]).kind) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*n)._buffer[i1]).kind, len); } } } /* marshal parameter nc */ ORBit_marshal_object(_ORBIT_send_buffer, nc); giop_send_buffer_write(_ORBIT_send_buffer); giop_send_buffer_unuse(_ORBIT_send_buffer); _ORBIT_recv_buffer = giop_recv_reply_buffer_use_2(ORBit_object_get_connection(_obj), _ORBIT_request_id, TRUE); if (_ORBIT_recv_buffer == NULL || _ORBIT_recv_buffer->message_buffer.message_header.message_type != GIOP_REPLY) { 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, _ORBIT_user_exceptions, _obj->orb); giop_recv_buffer_unuse(_ORBIT_recv_buffer); return; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } void CosNaming_NamingContext_rebind_context(CosNaming_NamingContext _obj, const CosNaming_Name * n, const CosNaming_NamingContext nc, CORBA_Environment * 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, "rebind_context" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 19}; static const ORBit_exception_demarshal_info _ORBIT_user_exceptions[] = { {(const CORBA_TypeCode) &TC_CosNaming_NamingContext_NotFound_struct, (gpointer) CosNaming_NamingContext_NotFound_demarshal}, {(const CORBA_TypeCode) &TC_CosNaming_NamingContext_CannotProceed_struct, (gpointer) CosNaming_NamingContext_CannotProceed_demarshal}, {(const CORBA_TypeCode) &TC_CosNaming_NamingContext_InvalidName_struct, (gpointer) CosNaming_NamingContext_InvalidName_demarshal}, {CORBA_OBJECT_NIL, NULL}}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CosNaming_NamingContext__classid) { ((POA_CosNaming_NamingContext__epv *) _obj->vepv[CosNaming_NamingContext__classid])->rebind_context(_obj->servant, n, nc, 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 *n */ { 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), &(*n)._length, sizeof((*n)._length)); for (i1 = 0; i1 < (*n)._length; i1++) { { GIOP_unsigned_long len = ((*n)._buffer[i1]).id ? (strlen(((*n)._buffer[i1]).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 (((*n)._buffer[i1]).id) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*n)._buffer[i1]).id, len); } { GIOP_unsigned_long len = ((*n)._buffer[i1]).kind ? (strlen(((*n)._buffer[i1]).kind) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (((*n)._buffer[i1]).kind) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*n)._buffer[i1]).kind, len); } } } /* marshal parameter nc */ ORBit_marshal_object(_ORBIT_send_buffer, nc); giop_send_buffer_write(_ORBIT_send_buffer); giop_send_buffer_unuse(_ORBIT_send_buffer); _ORBIT_recv_buffer = giop_recv_reply_buffer_use_2(ORBit_object_get_connection(_obj), _ORBIT_request_id, TRUE); if (_ORBIT_recv_buffer == NULL || _ORBIT_recv_buffer->message_buffer.message_header.message_type != GIOP_REPLY) { 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, _ORBIT_user_exceptions, _obj->orb); giop_recv_buffer_unuse(_ORBIT_recv_buffer); return; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } CORBA_Object CosNaming_NamingContext_resolve(CosNaming_NamingContext _obj, const CosNaming_Name * n, CORBA_Environment * 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, "resolve" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 12}; static const ORBit_exception_demarshal_info _ORBIT_user_exceptions[] = { {(const CORBA_TypeCode) &TC_CosNaming_NamingContext_NotFound_struct, (gpointer) CosNaming_NamingContext_NotFound_demarshal}, {(const CORBA_TypeCode) &TC_CosNaming_NamingContext_CannotProceed_struct, (gpointer) CosNaming_NamingContext_CannotProceed_demarshal}, {(const CORBA_TypeCode) &TC_CosNaming_NamingContext_InvalidName_struct, (gpointer) CosNaming_NamingContext_InvalidName_demarshal}, {CORBA_OBJECT_NIL, NULL}}; CORBA_Object _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CosNaming_NamingContext__classid) { return ((POA_CosNaming_NamingContext__epv *) _obj->vepv[CosNaming_NamingContext__classid])->resolve(_obj->servant, n, 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 *n */ { 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), &(*n)._length, sizeof((*n)._length)); for (i1 = 0; i1 < (*n)._length; i1++) { { GIOP_unsigned_long len = ((*n)._buffer[i1]).id ? (strlen(((*n)._buffer[i1]).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 (((*n)._buffer[i1]).id) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*n)._buffer[i1]).id, len); } { GIOP_unsigned_long len = ((*n)._buffer[i1]).kind ? (strlen(((*n)._buffer[i1]).kind) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (((*n)._buffer[i1]).kind) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*n)._buffer[i1]).kind, 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, _ORBIT_user_exceptions, _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 CosNaming_NamingContext_unbind(CosNaming_NamingContext _obj, const CosNaming_Name * n, CORBA_Environment * 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, "unbind" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 11}; static const ORBit_exception_demarshal_info _ORBIT_user_exceptions[] = { {(const CORBA_TypeCode) &TC_CosNaming_NamingContext_NotFound_struct, (gpointer) CosNaming_NamingContext_NotFound_demarshal}, {(const CORBA_TypeCode) &TC_CosNaming_NamingContext_CannotProceed_struct, (gpointer) CosNaming_NamingContext_CannotProceed_demarshal}, {(const CORBA_TypeCode) &TC_CosNaming_NamingContext_InvalidName_struct, (gpointer) CosNaming_NamingContext_InvalidName_demarshal}, {CORBA_OBJECT_NIL, NULL}}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CosNaming_NamingContext__classid) { ((POA_CosNaming_NamingContext__epv *) _obj->vepv[CosNaming_NamingContext__classid])->unbind(_obj->servant, n, 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 *n */ { 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), &(*n)._length, sizeof((*n)._length)); for (i1 = 0; i1 < (*n)._length; i1++) { { GIOP_unsigned_long len = ((*n)._buffer[i1]).id ? (strlen(((*n)._buffer[i1]).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 (((*n)._buffer[i1]).id) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*n)._buffer[i1]).id, len); } { GIOP_unsigned_long len = ((*n)._buffer[i1]).kind ? (strlen(((*n)._buffer[i1]).kind) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (((*n)._buffer[i1]).kind) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*n)._buffer[i1]).kind, 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, _ORBIT_user_exceptions, _obj->orb); giop_recv_buffer_unuse(_ORBIT_recv_buffer); return; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } CosNaming_NamingContext CosNaming_NamingContext_new_context(CosNaming_NamingContext _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, "new_context" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 16}; CosNaming_NamingContext _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CosNaming_NamingContext__classid) { return ((POA_CosNaming_NamingContext__epv *) _obj->vepv[CosNaming_NamingContext__classid])->new_context(_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; } CosNaming_NamingContext CosNaming_NamingContext_bind_new_context(CosNaming_NamingContext _obj, const CosNaming_Name * n, CORBA_Environment * 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, "bind_new_context" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 21}; static const ORBit_exception_demarshal_info _ORBIT_user_exceptions[] = { {(const CORBA_TypeCode) &TC_CosNaming_NamingContext_NotFound_struct, (gpointer) CosNaming_NamingContext_NotFound_demarshal}, {(const CORBA_TypeCode) &TC_CosNaming_NamingContext_AlreadyBound_struct, (gpointer) CosNaming_NamingContext_AlreadyBound_demarshal}, {(const CORBA_TypeCode) &TC_CosNaming_NamingContext_CannotProceed_struct, (gpointer) CosNaming_NamingContext_CannotProceed_demarshal}, {(const CORBA_TypeCode) &TC_CosNaming_NamingContext_InvalidName_struct, (gpointer) CosNaming_NamingContext_InvalidName_demarshal}, {CORBA_OBJECT_NIL, NULL}}; CosNaming_NamingContext _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CosNaming_NamingContext__classid) { return ((POA_CosNaming_NamingContext__epv *) _obj->vepv[CosNaming_NamingContext__classid])->bind_new_context(_obj->servant, n, 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 *n */ { 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), &(*n)._length, sizeof((*n)._length)); for (i1 = 0; i1 < (*n)._length; i1++) { { GIOP_unsigned_long len = ((*n)._buffer[i1]).id ? (strlen(((*n)._buffer[i1]).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 (((*n)._buffer[i1]).id) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*n)._buffer[i1]).id, len); } { GIOP_unsigned_long len = ((*n)._buffer[i1]).kind ? (strlen(((*n)._buffer[i1]).kind) + 1) : 0; giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len)); if (((*n)._buffer[i1]).kind) giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*n)._buffer[i1]).kind, 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, _ORBIT_user_exceptions, _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 CosNaming_NamingContext_destroy(CosNaming_NamingContext _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}; static const ORBit_exception_demarshal_info _ORBIT_user_exceptions[] = { {(const CORBA_TypeCode) &TC_CosNaming_NamingContext_NotEmpty_struct, (gpointer) CosNaming_NamingContext_NotEmpty_demarshal}, {CORBA_OBJECT_NIL, NULL}}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CosNaming_NamingContext__classid) { ((POA_CosNaming_NamingContext__epv *) _obj->vepv[CosNaming_NamingContext__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, _ORBIT_user_exceptions, _obj->orb); giop_recv_buffer_unuse(_ORBIT_recv_buffer); return; } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } void CosNaming_NamingContext_list(CosNaming_NamingContext _obj, const CORBA_unsigned_long how_many, CosNaming_BindingList ** bl, CosNaming_BindingIterator * bi, CORBA_Environment * 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, "list" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 9}; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CosNaming_NamingContext__classid) { ((POA_CosNaming_NamingContext__epv *) _obj->vepv[CosNaming_NamingContext__classid])->list(_obj->servant, how_many, bl, bi, 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 how_many */ giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &how_many, sizeof(how_many)); giop_send_buffer_write(_ORBIT_send_buffer); giop_send_buffer_unuse(_ORBIT_send_buffer); _ORBIT_recv_buffer = giop_recv_reply_buffer_use_2(ORBit_object_get_connection(_obj), _ORBIT_request_id, TRUE); if (_ORBIT_recv_buffer == NULL || _ORBIT_recv_buffer->message_buffer.message_header.message_type != GIOP_REPLY) { 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; } } *bl = CosNaming_BindingList__alloc(); if (giop_msg_conversion_needed(GIOP_MESSAGE_BUFFER(_ORBIT_recv_buffer))) { /* demarshal parameter **bl */ GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM((**bl)._length); (**bl)._release = CORBA_TRUE; (**bl)._buffer = CORBA_sequence_CosNaming_Binding_allocbuf((**bl)._length); { int i1; for (i1 = 0; i1 < (**bl)._length; i1++) { GET_ATOM((((**bl)._buffer[i1]).binding_name)._length); (((**bl)._buffer[i1]).binding_name)._release = CORBA_TRUE; (((**bl)._buffer[i1]).binding_name)._buffer = CORBA_sequence_CosNaming_NameComponent_allocbuf((((**bl)._buffer[i1]).binding_name)._length); { int i3; for (i3 = 0; i3 < (((**bl)._buffer[i1]).binding_name)._length; i3++) { { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(len); ((((**bl)._buffer[i1]).binding_name)._buffer[i3]).id = CORBA_string_alloc(len); if (len) strncpy(((((**bl)._buffer[i1]).binding_name)._buffer[i3]).id, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (((((**bl)._buffer[i1]).binding_name)._buffer[i3]).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); ((((**bl)._buffer[i1]).binding_name)._buffer[i3]).kind = CORBA_string_alloc(len); if (len) strncpy(((((**bl)._buffer[i1]).binding_name)._buffer[i3]).kind, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (((((**bl)._buffer[i1]).binding_name)._buffer[i3]).kind)[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(((**bl)._buffer[i1]).binding_type); } } /* demarshal parameter *bi */ *bi = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } else { /* demarshal parameter **bl */ GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); (**bl)._length = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); (**bl)._release = CORBA_TRUE; (**bl)._buffer = CORBA_sequence_CosNaming_Binding_allocbuf((**bl)._length); { int i1; for (i1 = 0; i1 < (**bl)._length; i1++) { (((**bl)._buffer[i1]).binding_name)._length = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); (((**bl)._buffer[i1]).binding_name)._release = CORBA_TRUE; (((**bl)._buffer[i1]).binding_name)._buffer = CORBA_sequence_CosNaming_NameComponent_allocbuf((((**bl)._buffer[i1]).binding_name)._length); { int i3; for (i3 = 0; i3 < (((**bl)._buffer[i1]).binding_name)._length; i3++) { { 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); ((((**bl)._buffer[i1]).binding_name)._buffer[i3]).id = CORBA_string_alloc(len); if (len) strncpy(((((**bl)._buffer[i1]).binding_name)._buffer[i3]).id, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (((((**bl)._buffer[i1]).binding_name)._buffer[i3]).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); ((((**bl)._buffer[i1]).binding_name)._buffer[i3]).kind = CORBA_string_alloc(len); if (len) strncpy(((((**bl)._buffer[i1]).binding_name)._buffer[i3]).kind, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (((((**bl)._buffer[i1]).binding_name)._buffer[i3]).kind)[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); ((**bl)._buffer[i1]).binding_type = *((CosNaming_BindingType *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CosNaming_BindingType); } } /* demarshal parameter *bi */ *bi = ORBit_demarshal_object(_ORBIT_recv_buffer, (_obj->orb)); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; } CORBA_boolean CosNaming_BindingIterator_next_one(CosNaming_BindingIterator _obj, CosNaming_Binding ** b, CORBA_Environment * 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, "next_one" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 13}; CORBA_boolean _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CosNaming_BindingIterator__classid) { return ((POA_CosNaming_BindingIterator__epv *) _obj->vepv[CosNaming_BindingIterator__classid])->next_one(_obj->servant, b, 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; } } *b = CosNaming_Binding__alloc(); if (giop_msg_conversion_needed(GIOP_MESSAGE_BUFFER(_ORBIT_recv_buffer))) { /* demarshal return value */ GET_ATOM(_ORBIT_retval); /* demarshal parameter **b */ GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(((**b).binding_name)._length); ((**b).binding_name)._release = CORBA_TRUE; ((**b).binding_name)._buffer = CORBA_sequence_CosNaming_NameComponent_allocbuf(((**b).binding_name)._length); { int i2; for (i2 = 0; i2 < ((**b).binding_name)._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); (((**b).binding_name)._buffer[i2]).id = CORBA_string_alloc(len); if (len) strncpy((((**b).binding_name)._buffer[i2]).id, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else ((((**b).binding_name)._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); (((**b).binding_name)._buffer[i2]).kind = CORBA_string_alloc(len); if (len) strncpy((((**b).binding_name)._buffer[i2]).kind, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else ((((**b).binding_name)._buffer[i2]).kind)[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((**b).binding_type); } 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); /* demarshal parameter **b */ GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); ((**b).binding_name)._length = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); ((**b).binding_name)._release = CORBA_TRUE; ((**b).binding_name)._buffer = CORBA_sequence_CosNaming_NameComponent_allocbuf(((**b).binding_name)._length); { int i2; for (i2 = 0; i2 < ((**b).binding_name)._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); (((**b).binding_name)._buffer[i2]).id = CORBA_string_alloc(len); if (len) strncpy((((**b).binding_name)._buffer[i2]).id, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else ((((**b).binding_name)._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); (((**b).binding_name)._buffer[i2]).kind = CORBA_string_alloc(len); if (len) strncpy((((**b).binding_name)._buffer[i2]).kind, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else ((((**b).binding_name)._buffer[i2]).kind)[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); (**b).binding_type = *((CosNaming_BindingType *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CosNaming_BindingType); } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } CORBA_boolean CosNaming_BindingIterator_next_n(CosNaming_BindingIterator _obj, const CORBA_unsigned_long how_many, CosNaming_BindingList ** bl, CORBA_Environment * 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, "next_n" }; static const struct iovec _ORBIT_operation_vec = {(gpointer) & _ORBIT_operation_name_data, 11}; CORBA_boolean _ORBIT_retval; GIOPConnection *_cnx; if (_obj->servant && _obj->vepv && CosNaming_BindingIterator__classid) { return ((POA_CosNaming_BindingIterator__epv *) _obj->vepv[CosNaming_BindingIterator__classid])->next_n(_obj->servant, how_many, bl, 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 how_many */ giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4); giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &how_many, sizeof(how_many)); giop_send_buffer_write(_ORBIT_send_buffer); giop_send_buffer_unuse(_ORBIT_send_buffer); _ORBIT_recv_buffer = giop_recv_reply_buffer_use_2(ORBit_object_get_connection(_obj), _ORBIT_request_id, TRUE); if (_ORBIT_recv_buffer == NULL || _ORBIT_recv_buffer->message_buffer.message_header.message_type != GIOP_REPLY) { 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; } } *bl = CosNaming_BindingList__alloc(); if (giop_msg_conversion_needed(GIOP_MESSAGE_BUFFER(_ORBIT_recv_buffer))) { /* demarshal return value */ GET_ATOM(_ORBIT_retval); /* demarshal parameter **bl */ GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM((**bl)._length); (**bl)._release = CORBA_TRUE; (**bl)._buffer = CORBA_sequence_CosNaming_Binding_allocbuf((**bl)._length); { int i1; for (i1 = 0; i1 < (**bl)._length; i1++) { GET_ATOM((((**bl)._buffer[i1]).binding_name)._length); (((**bl)._buffer[i1]).binding_name)._release = CORBA_TRUE; (((**bl)._buffer[i1]).binding_name)._buffer = CORBA_sequence_CosNaming_NameComponent_allocbuf((((**bl)._buffer[i1]).binding_name)._length); { int i3; for (i3 = 0; i3 < (((**bl)._buffer[i1]).binding_name)._length; i3++) { { GIOP_unsigned_long len; GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); GET_ATOM(len); ((((**bl)._buffer[i1]).binding_name)._buffer[i3]).id = CORBA_string_alloc(len); if (len) strncpy(((((**bl)._buffer[i1]).binding_name)._buffer[i3]).id, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (((((**bl)._buffer[i1]).binding_name)._buffer[i3]).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); ((((**bl)._buffer[i1]).binding_name)._buffer[i3]).kind = CORBA_string_alloc(len); if (len) strncpy(((((**bl)._buffer[i1]).binding_name)._buffer[i3]).kind, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (((((**bl)._buffer[i1]).binding_name)._buffer[i3]).kind)[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(((**bl)._buffer[i1]).binding_type); } } } 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); /* demarshal parameter **bl */ GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4); (**bl)._length = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); (**bl)._release = CORBA_TRUE; (**bl)._buffer = CORBA_sequence_CosNaming_Binding_allocbuf((**bl)._length); { int i1; for (i1 = 0; i1 < (**bl)._length; i1++) { (((**bl)._buffer[i1]).binding_name)._length = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long); (((**bl)._buffer[i1]).binding_name)._release = CORBA_TRUE; (((**bl)._buffer[i1]).binding_name)._buffer = CORBA_sequence_CosNaming_NameComponent_allocbuf((((**bl)._buffer[i1]).binding_name)._length); { int i3; for (i3 = 0; i3 < (((**bl)._buffer[i1]).binding_name)._length; i3++) { { 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); ((((**bl)._buffer[i1]).binding_name)._buffer[i3]).id = CORBA_string_alloc(len); if (len) strncpy(((((**bl)._buffer[i1]).binding_name)._buffer[i3]).id, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (((((**bl)._buffer[i1]).binding_name)._buffer[i3]).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); ((((**bl)._buffer[i1]).binding_name)._buffer[i3]).kind = CORBA_string_alloc(len); if (len) strncpy(((((**bl)._buffer[i1]).binding_name)._buffer[i3]).kind, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, len); else (((((**bl)._buffer[i1]).binding_name)._buffer[i3]).kind)[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); ((**bl)._buffer[i1]).binding_type = *((CosNaming_BindingType *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur); ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CosNaming_BindingType); } } } giop_recv_buffer_unuse(_ORBIT_recv_buffer); ev->_major = CORBA_NO_EXCEPTION; return _ORBIT_retval; } void CosNaming_BindingIterator_destroy(CosNaming_BindingIterator _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 && CosNaming_BindingIterator__classid) { ((POA_CosNaming_BindingIterator__epv *) _obj->vepv[CosNaming_BindingIterator__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 module CosNaming ***************/