/*
 * This file was generated by orbit-idl - DO NOT EDIT!
 */

#include <string.h>
#include "gnome-pim.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 gnome_PIM ***************/
static void 
gnome_PIM_PIM_busy_marshal(GIOPSendBuffer * _ORBIT_send_buffer, CORBA_Environment * ev)
{
}

static void
skel_gnome_PIM_vCard_server_get_records(POA_gnome_PIM_vCard_server * _ORBIT_servant,
					GIOPRecvBuffer * _ORBIT_recv_buffer,
					CORBA_Environment * ev,
 gnome_PIM_vCard_seq * (*_impl_get_records) (PortableServer_Servant servant,
					     CORBA_Environment * ev))
{
   gnome_PIM_vCard_seq *_ORBIT_retval;
   GIOPSendBuffer *_ORBIT_send_buffer;

   _ORBIT_retval = _impl_get_records(_ORBIT_servant, ev);
   _ORBIT_send_buffer =
      giop_send_reply_buffer_use(GIOP_MESSAGE_BUFFER(_ORBIT_recv_buffer)->connection, NULL,
			   _ORBIT_recv_buffer->message.u.request.request_id,
				 ev->_major);

   if (ev->_major == CORBA_NO_EXCEPTION) {
      /* marshal return 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), &(*_ORBIT_retval)._length, sizeof((*_ORBIT_retval)._length));
	 for (i1 = 0; i1 < (*_ORBIT_retval)._length; i1++) {
	    {
	       GIOP_unsigned_long len = ((*_ORBIT_retval)._buffer[i1]).FN ? (strlen(((*_ORBIT_retval)._buffer[i1]).FN) + 1) : 0;

	       giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	       giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	       if (((*_ORBIT_retval)._buffer[i1]).FN)
		  giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*_ORBIT_retval)._buffer[i1]).FN, len);
	    }
	    {
	       GIOP_unsigned_long len = (((*_ORBIT_retval)._buffer[i1]).N).family ? (strlen((((*_ORBIT_retval)._buffer[i1]).N).family) + 1) : 0;

	       giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	       giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	       if ((((*_ORBIT_retval)._buffer[i1]).N).family)
		  giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (((*_ORBIT_retval)._buffer[i1]).N).family, len);
	    }
	    {
	       GIOP_unsigned_long len = (((*_ORBIT_retval)._buffer[i1]).N).given ? (strlen((((*_ORBIT_retval)._buffer[i1]).N).given) + 1) : 0;

	       giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	       giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	       if ((((*_ORBIT_retval)._buffer[i1]).N).given)
		  giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (((*_ORBIT_retval)._buffer[i1]).N).given, len);
	    }
	    {
	       GIOP_unsigned_long len = (((*_ORBIT_retval)._buffer[i1]).N).additional ? (strlen((((*_ORBIT_retval)._buffer[i1]).N).additional) + 1) : 0;

	       giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	       giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	       if ((((*_ORBIT_retval)._buffer[i1]).N).additional)
		  giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (((*_ORBIT_retval)._buffer[i1]).N).additional, len);
	    }
	    {
	       GIOP_unsigned_long len = (((*_ORBIT_retval)._buffer[i1]).N).prefix ? (strlen((((*_ORBIT_retval)._buffer[i1]).N).prefix) + 1) : 0;

	       giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	       giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	       if ((((*_ORBIT_retval)._buffer[i1]).N).prefix)
		  giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (((*_ORBIT_retval)._buffer[i1]).N).prefix, len);
	    }
	    {
	       GIOP_unsigned_long len = (((*_ORBIT_retval)._buffer[i1]).N).suffix ? (strlen((((*_ORBIT_retval)._buffer[i1]).N).suffix) + 1) : 0;

	       giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	       giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	       if ((((*_ORBIT_retval)._buffer[i1]).N).suffix)
		  giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (((*_ORBIT_retval)._buffer[i1]).N).suffix, len);
	    }
	    {
	       GIOP_unsigned_long len = ((*_ORBIT_retval)._buffer[i1]).NICKNAME ? (strlen(((*_ORBIT_retval)._buffer[i1]).NICKNAME) + 1) : 0;

	       giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	       giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	       if (((*_ORBIT_retval)._buffer[i1]).NICKNAME)
		  giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*_ORBIT_retval)._buffer[i1]).NICKNAME, len);
	    }
	    {
	       GIOP_unsigned_long len = ((*_ORBIT_retval)._buffer[i1]).PHOTO ? (strlen(((*_ORBIT_retval)._buffer[i1]).PHOTO) + 1) : 0;

	       giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	       giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	       if (((*_ORBIT_retval)._buffer[i1]).PHOTO)
		  giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*_ORBIT_retval)._buffer[i1]).PHOTO, len);
	    }
	    giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 2);
	    giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &(((*_ORBIT_retval)._buffer[i1]).BDAY), sizeof(((*_ORBIT_retval)._buffer[i1]).BDAY));
	    {
	       GIOP_unsigned_long len = (((*_ORBIT_retval)._buffer[i1]).ADR).type ? (strlen((((*_ORBIT_retval)._buffer[i1]).ADR).type) + 1) : 0;

	       giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	       giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	       if ((((*_ORBIT_retval)._buffer[i1]).ADR).type)
		  giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (((*_ORBIT_retval)._buffer[i1]).ADR).type, len);
	    }
	    {
	       GIOP_unsigned_long len = (((*_ORBIT_retval)._buffer[i1]).ADR).pobox ? (strlen((((*_ORBIT_retval)._buffer[i1]).ADR).pobox) + 1) : 0;

	       giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	       giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	       if ((((*_ORBIT_retval)._buffer[i1]).ADR).pobox)
		  giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (((*_ORBIT_retval)._buffer[i1]).ADR).pobox, len);
	    }
	    {
	       GIOP_unsigned_long len = (((*_ORBIT_retval)._buffer[i1]).ADR).extended_address ? (strlen((((*_ORBIT_retval)._buffer[i1]).ADR).extended_address) + 1) : 0;

	       giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	       giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	       if ((((*_ORBIT_retval)._buffer[i1]).ADR).extended_address)
		  giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (((*_ORBIT_retval)._buffer[i1]).ADR).extended_address, len);
	    }
	    {
	       GIOP_unsigned_long len = (((*_ORBIT_retval)._buffer[i1]).ADR).street_address ? (strlen((((*_ORBIT_retval)._buffer[i1]).ADR).street_address) + 1) : 0;

	       giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	       giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	       if ((((*_ORBIT_retval)._buffer[i1]).ADR).street_address)
		  giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (((*_ORBIT_retval)._buffer[i1]).ADR).street_address, len);
	    }
	    {
	       GIOP_unsigned_long len = (((*_ORBIT_retval)._buffer[i1]).ADR).locality ? (strlen((((*_ORBIT_retval)._buffer[i1]).ADR).locality) + 1) : 0;

	       giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	       giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	       if ((((*_ORBIT_retval)._buffer[i1]).ADR).locality)
		  giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (((*_ORBIT_retval)._buffer[i1]).ADR).locality, len);
	    }
	    {
	       GIOP_unsigned_long len = (((*_ORBIT_retval)._buffer[i1]).ADR).region ? (strlen((((*_ORBIT_retval)._buffer[i1]).ADR).region) + 1) : 0;

	       giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	       giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	       if ((((*_ORBIT_retval)._buffer[i1]).ADR).region)
		  giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (((*_ORBIT_retval)._buffer[i1]).ADR).region, len);
	    }
	    {
	       GIOP_unsigned_long len = (((*_ORBIT_retval)._buffer[i1]).ADR).postal_code ? (strlen((((*_ORBIT_retval)._buffer[i1]).ADR).postal_code) + 1) : 0;

	       giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	       giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	       if ((((*_ORBIT_retval)._buffer[i1]).ADR).postal_code)
		  giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (((*_ORBIT_retval)._buffer[i1]).ADR).postal_code, len);
	    }
	    {
	       GIOP_unsigned_long len = (((*_ORBIT_retval)._buffer[i1]).ADR).country_name ? (strlen((((*_ORBIT_retval)._buffer[i1]).ADR).country_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 ((((*_ORBIT_retval)._buffer[i1]).ADR).country_name)
		  giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (((*_ORBIT_retval)._buffer[i1]).ADR).country_name, len);
	    }
	    {
	       GIOP_unsigned_long len = (((*_ORBIT_retval)._buffer[i1]).LABEL).type ? (strlen((((*_ORBIT_retval)._buffer[i1]).LABEL).type) + 1) : 0;

	       giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	       giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	       if ((((*_ORBIT_retval)._buffer[i1]).LABEL).type)
		  giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (((*_ORBIT_retval)._buffer[i1]).LABEL).type, len);
	    }
	    {
	       GIOP_unsigned_long len = (((*_ORBIT_retval)._buffer[i1]).LABEL).pobox ? (strlen((((*_ORBIT_retval)._buffer[i1]).LABEL).pobox) + 1) : 0;

	       giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	       giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	       if ((((*_ORBIT_retval)._buffer[i1]).LABEL).pobox)
		  giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (((*_ORBIT_retval)._buffer[i1]).LABEL).pobox, len);
	    }
	    {
	       GIOP_unsigned_long len = (((*_ORBIT_retval)._buffer[i1]).LABEL).extended_address ? (strlen((((*_ORBIT_retval)._buffer[i1]).LABEL).extended_address) + 1) : 0;

	       giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	       giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	       if ((((*_ORBIT_retval)._buffer[i1]).LABEL).extended_address)
		  giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (((*_ORBIT_retval)._buffer[i1]).LABEL).extended_address, len);
	    }
	    {
	       GIOP_unsigned_long len = (((*_ORBIT_retval)._buffer[i1]).LABEL).street_address ? (strlen((((*_ORBIT_retval)._buffer[i1]).LABEL).street_address) + 1) : 0;

	       giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	       giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	       if ((((*_ORBIT_retval)._buffer[i1]).LABEL).street_address)
		  giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (((*_ORBIT_retval)._buffer[i1]).LABEL).street_address, len);
	    }
	    {
	       GIOP_unsigned_long len = (((*_ORBIT_retval)._buffer[i1]).LABEL).locality ? (strlen((((*_ORBIT_retval)._buffer[i1]).LABEL).locality) + 1) : 0;

	       giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	       giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	       if ((((*_ORBIT_retval)._buffer[i1]).LABEL).locality)
		  giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (((*_ORBIT_retval)._buffer[i1]).LABEL).locality, len);
	    }
	    {
	       GIOP_unsigned_long len = (((*_ORBIT_retval)._buffer[i1]).LABEL).region ? (strlen((((*_ORBIT_retval)._buffer[i1]).LABEL).region) + 1) : 0;

	       giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	       giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	       if ((((*_ORBIT_retval)._buffer[i1]).LABEL).region)
		  giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (((*_ORBIT_retval)._buffer[i1]).LABEL).region, len);
	    }
	    {
	       GIOP_unsigned_long len = (((*_ORBIT_retval)._buffer[i1]).LABEL).postal_code ? (strlen((((*_ORBIT_retval)._buffer[i1]).LABEL).postal_code) + 1) : 0;

	       giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	       giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	       if ((((*_ORBIT_retval)._buffer[i1]).LABEL).postal_code)
		  giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (((*_ORBIT_retval)._buffer[i1]).LABEL).postal_code, len);
	    }
	    {
	       GIOP_unsigned_long len = (((*_ORBIT_retval)._buffer[i1]).LABEL).country_name ? (strlen((((*_ORBIT_retval)._buffer[i1]).LABEL).country_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 ((((*_ORBIT_retval)._buffer[i1]).LABEL).country_name)
		  giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (((*_ORBIT_retval)._buffer[i1]).LABEL).country_name, len);
	    }
	    {
	       GIOP_unsigned_long len = ((*_ORBIT_retval)._buffer[i1]).TEL ? (strlen(((*_ORBIT_retval)._buffer[i1]).TEL) + 1) : 0;

	       giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	       giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	       if (((*_ORBIT_retval)._buffer[i1]).TEL)
		  giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*_ORBIT_retval)._buffer[i1]).TEL, len);
	    }
	    {
	       GIOP_unsigned_long len = ((*_ORBIT_retval)._buffer[i1]).EMAIL ? (strlen(((*_ORBIT_retval)._buffer[i1]).EMAIL) + 1) : 0;

	       giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	       giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	       if (((*_ORBIT_retval)._buffer[i1]).EMAIL)
		  giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*_ORBIT_retval)._buffer[i1]).EMAIL, len);
	    }
	    {
	       GIOP_unsigned_long len = ((*_ORBIT_retval)._buffer[i1]).MAILER ? (strlen(((*_ORBIT_retval)._buffer[i1]).MAILER) + 1) : 0;

	       giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	       giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	       if (((*_ORBIT_retval)._buffer[i1]).MAILER)
		  giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*_ORBIT_retval)._buffer[i1]).MAILER, len);
	    }
	    giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 2);
	    giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &(((*_ORBIT_retval)._buffer[i1]).TZ).offset, sizeof((((*_ORBIT_retval)._buffer[i1]).TZ).offset));
	    {
	       GIOP_unsigned_long len = (((*_ORBIT_retval)._buffer[i1]).TZ).name ? (strlen((((*_ORBIT_retval)._buffer[i1]).TZ).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 ((((*_ORBIT_retval)._buffer[i1]).TZ).name)
		  giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (((*_ORBIT_retval)._buffer[i1]).TZ).name, len);
	    }
	    {
	       GIOP_unsigned_long len = (((*_ORBIT_retval)._buffer[i1]).TZ).locale ? (strlen((((*_ORBIT_retval)._buffer[i1]).TZ).locale) + 1) : 0;

	       giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	       giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	       if ((((*_ORBIT_retval)._buffer[i1]).TZ).locale)
		  giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (((*_ORBIT_retval)._buffer[i1]).TZ).locale, len);
	    }
	    giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	    giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &(((*_ORBIT_retval)._buffer[i1]).GEO), sizeof(((*_ORBIT_retval)._buffer[i1]).GEO));
	    {
	       GIOP_unsigned_long len = ((*_ORBIT_retval)._buffer[i1]).TITLE ? (strlen(((*_ORBIT_retval)._buffer[i1]).TITLE) + 1) : 0;

	       giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	       if (((*_ORBIT_retval)._buffer[i1]).TITLE)
		  giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*_ORBIT_retval)._buffer[i1]).TITLE, len);
	    }
	    {
	       GIOP_unsigned_long len = ((*_ORBIT_retval)._buffer[i1]).ROLE ? (strlen(((*_ORBIT_retval)._buffer[i1]).ROLE) + 1) : 0;

	       giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	       giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	       if (((*_ORBIT_retval)._buffer[i1]).ROLE)
		  giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*_ORBIT_retval)._buffer[i1]).ROLE, len);
	    }
	    {
	       GIOP_unsigned_long len = ((*_ORBIT_retval)._buffer[i1]).LOGO ? (strlen(((*_ORBIT_retval)._buffer[i1]).LOGO) + 1) : 0;

	       giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	       giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	       if (((*_ORBIT_retval)._buffer[i1]).LOGO)
		  giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*_ORBIT_retval)._buffer[i1]).LOGO, len);
	    }
	    {
	       GIOP_unsigned_long len = ((*_ORBIT_retval)._buffer[i1]).AGENT ? (strlen(((*_ORBIT_retval)._buffer[i1]).AGENT) + 1) : 0;

	       giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	       giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	       if (((*_ORBIT_retval)._buffer[i1]).AGENT)
		  giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*_ORBIT_retval)._buffer[i1]).AGENT, len);
	    }
	    {
	       GIOP_unsigned_long len = (((*_ORBIT_retval)._buffer[i1]).ORG).name ? (strlen((((*_ORBIT_retval)._buffer[i1]).ORG).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 ((((*_ORBIT_retval)._buffer[i1]).ORG).name)
		  giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (((*_ORBIT_retval)._buffer[i1]).ORG).name, len);
	    }
	    {
	       GIOP_unsigned_long len = (((*_ORBIT_retval)._buffer[i1]).ORG).unit1 ? (strlen((((*_ORBIT_retval)._buffer[i1]).ORG).unit1) + 1) : 0;

	       giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	       giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	       if ((((*_ORBIT_retval)._buffer[i1]).ORG).unit1)
		  giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (((*_ORBIT_retval)._buffer[i1]).ORG).unit1, len);
	    }
	    {
	       GIOP_unsigned_long len = (((*_ORBIT_retval)._buffer[i1]).ORG).unit2 ? (strlen((((*_ORBIT_retval)._buffer[i1]).ORG).unit2) + 1) : 0;

	       giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	       giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	       if ((((*_ORBIT_retval)._buffer[i1]).ORG).unit2)
		  giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (((*_ORBIT_retval)._buffer[i1]).ORG).unit2, len);
	    }
	    {
	       GIOP_unsigned_long len = (((*_ORBIT_retval)._buffer[i1]).ORG).unit3 ? (strlen((((*_ORBIT_retval)._buffer[i1]).ORG).unit3) + 1) : 0;

	       giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	       giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	       if ((((*_ORBIT_retval)._buffer[i1]).ORG).unit3)
		  giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (((*_ORBIT_retval)._buffer[i1]).ORG).unit3, len);
	    }
	    {
	       GIOP_unsigned_long len = (((*_ORBIT_retval)._buffer[i1]).ORG).unit4 ? (strlen((((*_ORBIT_retval)._buffer[i1]).ORG).unit4) + 1) : 0;

	       giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	       giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	       if ((((*_ORBIT_retval)._buffer[i1]).ORG).unit4)
		  giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (((*_ORBIT_retval)._buffer[i1]).ORG).unit4, len);
	    }
	    {
	       GIOP_unsigned_long len = ((*_ORBIT_retval)._buffer[i1]).CATEGORIES ? (strlen(((*_ORBIT_retval)._buffer[i1]).CATEGORIES) + 1) : 0;

	       giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	       giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	       if (((*_ORBIT_retval)._buffer[i1]).CATEGORIES)
		  giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*_ORBIT_retval)._buffer[i1]).CATEGORIES, len);
	    }
	    {
	       GIOP_unsigned_long len = ((*_ORBIT_retval)._buffer[i1]).NOTE ? (strlen(((*_ORBIT_retval)._buffer[i1]).NOTE) + 1) : 0;

	       giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	       giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	       if (((*_ORBIT_retval)._buffer[i1]).NOTE)
		  giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*_ORBIT_retval)._buffer[i1]).NOTE, len);
	    }
	    {
	       GIOP_unsigned_long len = ((*_ORBIT_retval)._buffer[i1]).PRODID ? (strlen(((*_ORBIT_retval)._buffer[i1]).PRODID) + 1) : 0;

	       giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	       giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	       if (((*_ORBIT_retval)._buffer[i1]).PRODID)
		  giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*_ORBIT_retval)._buffer[i1]).PRODID, len);
	    }
	    {
	       GIOP_unsigned_long len = ((*_ORBIT_retval)._buffer[i1]).REV ? (strlen(((*_ORBIT_retval)._buffer[i1]).REV) + 1) : 0;

	       giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	       giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	       if (((*_ORBIT_retval)._buffer[i1]).REV)
		  giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*_ORBIT_retval)._buffer[i1]).REV, len);
	    }
	    {
	       GIOP_unsigned_long len = ((*_ORBIT_retval)._buffer[i1]).SORT_STRING ? (strlen(((*_ORBIT_retval)._buffer[i1]).SORT_STRING) + 1) : 0;

	       giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	       giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	       if (((*_ORBIT_retval)._buffer[i1]).SORT_STRING)
		  giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*_ORBIT_retval)._buffer[i1]).SORT_STRING, len);
	    }
	    {
	       GIOP_unsigned_long len = ((*_ORBIT_retval)._buffer[i1]).SOUND ? (strlen(((*_ORBIT_retval)._buffer[i1]).SOUND) + 1) : 0;

	       giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	       giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	       if (((*_ORBIT_retval)._buffer[i1]).SOUND)
		  giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*_ORBIT_retval)._buffer[i1]).SOUND, len);
	    }
	    {
	       GIOP_unsigned_long len = ((*_ORBIT_retval)._buffer[i1]).URL ? (strlen(((*_ORBIT_retval)._buffer[i1]).URL) + 1) : 0;

	       giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	       giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	       if (((*_ORBIT_retval)._buffer[i1]).URL)
		  giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*_ORBIT_retval)._buffer[i1]).URL, len);
	    }
	    {
	       GIOP_unsigned_long len = ((*_ORBIT_retval)._buffer[i1]).UID ? (strlen(((*_ORBIT_retval)._buffer[i1]).UID) + 1) : 0;

	       giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	       giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	       if (((*_ORBIT_retval)._buffer[i1]).UID)
		  giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*_ORBIT_retval)._buffer[i1]).UID, len);
	    }
	    {
	       GIOP_unsigned_long len = ((*_ORBIT_retval)._buffer[i1]).VERSION ? (strlen(((*_ORBIT_retval)._buffer[i1]).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 (((*_ORBIT_retval)._buffer[i1]).VERSION)
		  giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*_ORBIT_retval)._buffer[i1]).VERSION, len);
	    }
	    {
	       GIOP_unsigned_long len = ((*_ORBIT_retval)._buffer[i1]).CLASS ? (strlen(((*_ORBIT_retval)._buffer[i1]).CLASS) + 1) : 0;

	       giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	       giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	       if (((*_ORBIT_retval)._buffer[i1]).CLASS)
		  giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*_ORBIT_retval)._buffer[i1]).CLASS, len);
	    }
	    {
	       GIOP_unsigned_long len = ((*_ORBIT_retval)._buffer[i1]).KEY ? (strlen(((*_ORBIT_retval)._buffer[i1]).KEY) + 1) : 0;

	       giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	       giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	       if (((*_ORBIT_retval)._buffer[i1]).KEY)
		  giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*_ORBIT_retval)._buffer[i1]).KEY, len);
	    }
	    {
	       GIOP_unsigned_long i3;

	       giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	       giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &(((*_ORBIT_retval)._buffer[i1]).X)._length, sizeof((((*_ORBIT_retval)._buffer[i1]).X)._length));
	       for (i3 = 0; i3 < (((*_ORBIT_retval)._buffer[i1]).X)._length; i3++) {
		  {
		     GIOP_unsigned_long len = ((((*_ORBIT_retval)._buffer[i1]).X)._buffer[i3]).name ? (strlen(((((*_ORBIT_retval)._buffer[i1]).X)._buffer[i3]).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 (((((*_ORBIT_retval)._buffer[i1]).X)._buffer[i3]).name)
			giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((((*_ORBIT_retval)._buffer[i1]).X)._buffer[i3]).name, len);
		  }
		  {
		     GIOP_unsigned_long len = ((((*_ORBIT_retval)._buffer[i1]).X)._buffer[i3]).val ? (strlen(((((*_ORBIT_retval)._buffer[i1]).X)._buffer[i3]).val) + 1) : 0;

		     giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
		     giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
		     if (((((*_ORBIT_retval)._buffer[i1]).X)._buffer[i3]).val)
			giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((((*_ORBIT_retval)._buffer[i1]).X)._buffer[i3]).val, len);
		  }
	       }
	    }
	 }
      }
   } else if (ev->_major == CORBA_SYSTEM_EXCEPTION)
      ORBit_send_system_exception(_ORBIT_send_buffer, ev);
   else if (ev->_major == CORBA_USER_EXCEPTION)
      ORBit_send_user_exception(_ORBIT_send_buffer, ev, NULL);
   giop_send_buffer_write(_ORBIT_send_buffer);
   giop_send_buffer_unuse(_ORBIT_send_buffer);
   if (ev->_major == CORBA_NO_EXCEPTION)
      CORBA_free(_ORBIT_retval);
}

static void
skel_gnome_PIM_vCard_server_get_record(POA_gnome_PIM_vCard_server * _ORBIT_servant,
				       GIOPRecvBuffer * _ORBIT_recv_buffer,
				       CORBA_Environment * ev,
      gnome_PIM_vCard * (*_impl_get_record) (PortableServer_Servant servant,
					     const CORBA_char * UID,
					     CORBA_Environment * ev))
{
   CORBA_char *UID;
   gnome_PIM_vCard *_ORBIT_retval;
   GIOPSendBuffer *_ORBIT_send_buffer;

   if (giop_msg_conversion_needed(GIOP_MESSAGE_BUFFER(_ORBIT_recv_buffer))) {

      /* demarshal parameter UID */
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 GET_ATOM(len);
	 UID = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
   } else {

      /* demarshal parameter UID */
      {
	 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);
	 UID = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
   }

   _ORBIT_retval = _impl_get_record(_ORBIT_servant, UID,
				    ev);
   _ORBIT_send_buffer =
      giop_send_reply_buffer_use(GIOP_MESSAGE_BUFFER(_ORBIT_recv_buffer)->connection, NULL,
			   _ORBIT_recv_buffer->message.u.request.request_id,
				 ev->_major);

   if (ev->_major == CORBA_NO_EXCEPTION) {
      /* marshal return value */
      {
	 GIOP_unsigned_long len = (*_ORBIT_retval).FN ? (strlen((*_ORBIT_retval).FN) + 1) : 0;

	 giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	 giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	 if ((*_ORBIT_retval).FN)
	    giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (*_ORBIT_retval).FN, len);
      }
      {
	 GIOP_unsigned_long len = ((*_ORBIT_retval).N).family ? (strlen(((*_ORBIT_retval).N).family) + 1) : 0;

	 giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	 giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	 if (((*_ORBIT_retval).N).family)
	    giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*_ORBIT_retval).N).family, len);
      }
      {
	 GIOP_unsigned_long len = ((*_ORBIT_retval).N).given ? (strlen(((*_ORBIT_retval).N).given) + 1) : 0;

	 giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	 giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	 if (((*_ORBIT_retval).N).given)
	    giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*_ORBIT_retval).N).given, len);
      }
      {
	 GIOP_unsigned_long len = ((*_ORBIT_retval).N).additional ? (strlen(((*_ORBIT_retval).N).additional) + 1) : 0;

	 giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	 giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	 if (((*_ORBIT_retval).N).additional)
	    giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*_ORBIT_retval).N).additional, len);
      }
      {
	 GIOP_unsigned_long len = ((*_ORBIT_retval).N).prefix ? (strlen(((*_ORBIT_retval).N).prefix) + 1) : 0;

	 giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	 giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	 if (((*_ORBIT_retval).N).prefix)
	    giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*_ORBIT_retval).N).prefix, len);
      }
      {
	 GIOP_unsigned_long len = ((*_ORBIT_retval).N).suffix ? (strlen(((*_ORBIT_retval).N).suffix) + 1) : 0;

	 giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	 giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	 if (((*_ORBIT_retval).N).suffix)
	    giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*_ORBIT_retval).N).suffix, len);
      }
      {
	 GIOP_unsigned_long len = (*_ORBIT_retval).NICKNAME ? (strlen((*_ORBIT_retval).NICKNAME) + 1) : 0;

	 giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	 giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	 if ((*_ORBIT_retval).NICKNAME)
	    giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (*_ORBIT_retval).NICKNAME, len);
      }
      {
	 GIOP_unsigned_long len = (*_ORBIT_retval).PHOTO ? (strlen((*_ORBIT_retval).PHOTO) + 1) : 0;

	 giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	 giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	 if ((*_ORBIT_retval).PHOTO)
	    giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (*_ORBIT_retval).PHOTO, len);
      }
      giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 2);
      giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &((*_ORBIT_retval).BDAY), sizeof((*_ORBIT_retval).BDAY));
      {
	 GIOP_unsigned_long len = ((*_ORBIT_retval).ADR).type ? (strlen(((*_ORBIT_retval).ADR).type) + 1) : 0;

	 giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	 giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	 if (((*_ORBIT_retval).ADR).type)
	    giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*_ORBIT_retval).ADR).type, len);
      }
      {
	 GIOP_unsigned_long len = ((*_ORBIT_retval).ADR).pobox ? (strlen(((*_ORBIT_retval).ADR).pobox) + 1) : 0;

	 giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	 giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	 if (((*_ORBIT_retval).ADR).pobox)
	    giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*_ORBIT_retval).ADR).pobox, len);
      }
      {
	 GIOP_unsigned_long len = ((*_ORBIT_retval).ADR).extended_address ? (strlen(((*_ORBIT_retval).ADR).extended_address) + 1) : 0;

	 giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	 giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	 if (((*_ORBIT_retval).ADR).extended_address)
	    giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*_ORBIT_retval).ADR).extended_address, len);
      }
      {
	 GIOP_unsigned_long len = ((*_ORBIT_retval).ADR).street_address ? (strlen(((*_ORBIT_retval).ADR).street_address) + 1) : 0;

	 giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	 giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	 if (((*_ORBIT_retval).ADR).street_address)
	    giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*_ORBIT_retval).ADR).street_address, len);
      }
      {
	 GIOP_unsigned_long len = ((*_ORBIT_retval).ADR).locality ? (strlen(((*_ORBIT_retval).ADR).locality) + 1) : 0;

	 giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	 giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	 if (((*_ORBIT_retval).ADR).locality)
	    giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*_ORBIT_retval).ADR).locality, len);
      }
      {
	 GIOP_unsigned_long len = ((*_ORBIT_retval).ADR).region ? (strlen(((*_ORBIT_retval).ADR).region) + 1) : 0;

	 giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	 giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	 if (((*_ORBIT_retval).ADR).region)
	    giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*_ORBIT_retval).ADR).region, len);
      }
      {
	 GIOP_unsigned_long len = ((*_ORBIT_retval).ADR).postal_code ? (strlen(((*_ORBIT_retval).ADR).postal_code) + 1) : 0;

	 giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	 giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	 if (((*_ORBIT_retval).ADR).postal_code)
	    giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*_ORBIT_retval).ADR).postal_code, len);
      }
      {
	 GIOP_unsigned_long len = ((*_ORBIT_retval).ADR).country_name ? (strlen(((*_ORBIT_retval).ADR).country_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 (((*_ORBIT_retval).ADR).country_name)
	    giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*_ORBIT_retval).ADR).country_name, len);
      }
      {
	 GIOP_unsigned_long len = ((*_ORBIT_retval).LABEL).type ? (strlen(((*_ORBIT_retval).LABEL).type) + 1) : 0;

	 giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	 giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	 if (((*_ORBIT_retval).LABEL).type)
	    giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*_ORBIT_retval).LABEL).type, len);
      }
      {
	 GIOP_unsigned_long len = ((*_ORBIT_retval).LABEL).pobox ? (strlen(((*_ORBIT_retval).LABEL).pobox) + 1) : 0;

	 giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	 giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	 if (((*_ORBIT_retval).LABEL).pobox)
	    giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*_ORBIT_retval).LABEL).pobox, len);
      }
      {
	 GIOP_unsigned_long len = ((*_ORBIT_retval).LABEL).extended_address ? (strlen(((*_ORBIT_retval).LABEL).extended_address) + 1) : 0;

	 giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	 giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	 if (((*_ORBIT_retval).LABEL).extended_address)
	    giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*_ORBIT_retval).LABEL).extended_address, len);
      }
      {
	 GIOP_unsigned_long len = ((*_ORBIT_retval).LABEL).street_address ? (strlen(((*_ORBIT_retval).LABEL).street_address) + 1) : 0;

	 giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	 giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	 if (((*_ORBIT_retval).LABEL).street_address)
	    giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*_ORBIT_retval).LABEL).street_address, len);
      }
      {
	 GIOP_unsigned_long len = ((*_ORBIT_retval).LABEL).locality ? (strlen(((*_ORBIT_retval).LABEL).locality) + 1) : 0;

	 giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	 giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	 if (((*_ORBIT_retval).LABEL).locality)
	    giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*_ORBIT_retval).LABEL).locality, len);
      }
      {
	 GIOP_unsigned_long len = ((*_ORBIT_retval).LABEL).region ? (strlen(((*_ORBIT_retval).LABEL).region) + 1) : 0;

	 giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	 giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	 if (((*_ORBIT_retval).LABEL).region)
	    giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*_ORBIT_retval).LABEL).region, len);
      }
      {
	 GIOP_unsigned_long len = ((*_ORBIT_retval).LABEL).postal_code ? (strlen(((*_ORBIT_retval).LABEL).postal_code) + 1) : 0;

	 giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	 giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	 if (((*_ORBIT_retval).LABEL).postal_code)
	    giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*_ORBIT_retval).LABEL).postal_code, len);
      }
      {
	 GIOP_unsigned_long len = ((*_ORBIT_retval).LABEL).country_name ? (strlen(((*_ORBIT_retval).LABEL).country_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 (((*_ORBIT_retval).LABEL).country_name)
	    giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*_ORBIT_retval).LABEL).country_name, len);
      }
      {
	 GIOP_unsigned_long len = (*_ORBIT_retval).TEL ? (strlen((*_ORBIT_retval).TEL) + 1) : 0;

	 giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	 giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	 if ((*_ORBIT_retval).TEL)
	    giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (*_ORBIT_retval).TEL, len);
      }
      {
	 GIOP_unsigned_long len = (*_ORBIT_retval).EMAIL ? (strlen((*_ORBIT_retval).EMAIL) + 1) : 0;

	 giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	 giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	 if ((*_ORBIT_retval).EMAIL)
	    giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (*_ORBIT_retval).EMAIL, len);
      }
      {
	 GIOP_unsigned_long len = (*_ORBIT_retval).MAILER ? (strlen((*_ORBIT_retval).MAILER) + 1) : 0;

	 giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	 giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	 if ((*_ORBIT_retval).MAILER)
	    giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (*_ORBIT_retval).MAILER, len);
      }
      giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 2);
      giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &((*_ORBIT_retval).TZ).offset, sizeof(((*_ORBIT_retval).TZ).offset));
      {
	 GIOP_unsigned_long len = ((*_ORBIT_retval).TZ).name ? (strlen(((*_ORBIT_retval).TZ).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 (((*_ORBIT_retval).TZ).name)
	    giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*_ORBIT_retval).TZ).name, len);
      }
      {
	 GIOP_unsigned_long len = ((*_ORBIT_retval).TZ).locale ? (strlen(((*_ORBIT_retval).TZ).locale) + 1) : 0;

	 giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	 giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	 if (((*_ORBIT_retval).TZ).locale)
	    giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*_ORBIT_retval).TZ).locale, len);
      }
      giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
      giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &((*_ORBIT_retval).GEO), sizeof((*_ORBIT_retval).GEO));
      {
	 GIOP_unsigned_long len = (*_ORBIT_retval).TITLE ? (strlen((*_ORBIT_retval).TITLE) + 1) : 0;

	 giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	 if ((*_ORBIT_retval).TITLE)
	    giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (*_ORBIT_retval).TITLE, len);
      }
      {
	 GIOP_unsigned_long len = (*_ORBIT_retval).ROLE ? (strlen((*_ORBIT_retval).ROLE) + 1) : 0;

	 giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	 giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	 if ((*_ORBIT_retval).ROLE)
	    giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (*_ORBIT_retval).ROLE, len);
      }
      {
	 GIOP_unsigned_long len = (*_ORBIT_retval).LOGO ? (strlen((*_ORBIT_retval).LOGO) + 1) : 0;

	 giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	 giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	 if ((*_ORBIT_retval).LOGO)
	    giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (*_ORBIT_retval).LOGO, len);
      }
      {
	 GIOP_unsigned_long len = (*_ORBIT_retval).AGENT ? (strlen((*_ORBIT_retval).AGENT) + 1) : 0;

	 giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	 giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	 if ((*_ORBIT_retval).AGENT)
	    giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (*_ORBIT_retval).AGENT, len);
      }
      {
	 GIOP_unsigned_long len = ((*_ORBIT_retval).ORG).name ? (strlen(((*_ORBIT_retval).ORG).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 (((*_ORBIT_retval).ORG).name)
	    giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*_ORBIT_retval).ORG).name, len);
      }
      {
	 GIOP_unsigned_long len = ((*_ORBIT_retval).ORG).unit1 ? (strlen(((*_ORBIT_retval).ORG).unit1) + 1) : 0;

	 giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	 giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	 if (((*_ORBIT_retval).ORG).unit1)
	    giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*_ORBIT_retval).ORG).unit1, len);
      }
      {
	 GIOP_unsigned_long len = ((*_ORBIT_retval).ORG).unit2 ? (strlen(((*_ORBIT_retval).ORG).unit2) + 1) : 0;

	 giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	 giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	 if (((*_ORBIT_retval).ORG).unit2)
	    giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*_ORBIT_retval).ORG).unit2, len);
      }
      {
	 GIOP_unsigned_long len = ((*_ORBIT_retval).ORG).unit3 ? (strlen(((*_ORBIT_retval).ORG).unit3) + 1) : 0;

	 giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	 giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	 if (((*_ORBIT_retval).ORG).unit3)
	    giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*_ORBIT_retval).ORG).unit3, len);
      }
      {
	 GIOP_unsigned_long len = ((*_ORBIT_retval).ORG).unit4 ? (strlen(((*_ORBIT_retval).ORG).unit4) + 1) : 0;

	 giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	 giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	 if (((*_ORBIT_retval).ORG).unit4)
	    giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*_ORBIT_retval).ORG).unit4, len);
      }
      {
	 GIOP_unsigned_long len = (*_ORBIT_retval).CATEGORIES ? (strlen((*_ORBIT_retval).CATEGORIES) + 1) : 0;

	 giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	 giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	 if ((*_ORBIT_retval).CATEGORIES)
	    giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (*_ORBIT_retval).CATEGORIES, len);
      }
      {
	 GIOP_unsigned_long len = (*_ORBIT_retval).NOTE ? (strlen((*_ORBIT_retval).NOTE) + 1) : 0;

	 giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	 giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	 if ((*_ORBIT_retval).NOTE)
	    giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (*_ORBIT_retval).NOTE, len);
      }
      {
	 GIOP_unsigned_long len = (*_ORBIT_retval).PRODID ? (strlen((*_ORBIT_retval).PRODID) + 1) : 0;

	 giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	 giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	 if ((*_ORBIT_retval).PRODID)
	    giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (*_ORBIT_retval).PRODID, len);
      }
      {
	 GIOP_unsigned_long len = (*_ORBIT_retval).REV ? (strlen((*_ORBIT_retval).REV) + 1) : 0;

	 giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	 giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	 if ((*_ORBIT_retval).REV)
	    giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (*_ORBIT_retval).REV, len);
      }
      {
	 GIOP_unsigned_long len = (*_ORBIT_retval).SORT_STRING ? (strlen((*_ORBIT_retval).SORT_STRING) + 1) : 0;

	 giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	 giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	 if ((*_ORBIT_retval).SORT_STRING)
	    giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (*_ORBIT_retval).SORT_STRING, len);
      }
      {
	 GIOP_unsigned_long len = (*_ORBIT_retval).SOUND ? (strlen((*_ORBIT_retval).SOUND) + 1) : 0;

	 giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	 giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	 if ((*_ORBIT_retval).SOUND)
	    giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (*_ORBIT_retval).SOUND, len);
      }
      {
	 GIOP_unsigned_long len = (*_ORBIT_retval).URL ? (strlen((*_ORBIT_retval).URL) + 1) : 0;

	 giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	 giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	 if ((*_ORBIT_retval).URL)
	    giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (*_ORBIT_retval).URL, len);
      }
      {
	 GIOP_unsigned_long len = (*_ORBIT_retval).UID ? (strlen((*_ORBIT_retval).UID) + 1) : 0;

	 giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	 giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	 if ((*_ORBIT_retval).UID)
	    giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (*_ORBIT_retval).UID, len);
      }
      {
	 GIOP_unsigned_long len = (*_ORBIT_retval).VERSION ? (strlen((*_ORBIT_retval).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 ((*_ORBIT_retval).VERSION)
	    giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (*_ORBIT_retval).VERSION, len);
      }
      {
	 GIOP_unsigned_long len = (*_ORBIT_retval).CLASS ? (strlen((*_ORBIT_retval).CLASS) + 1) : 0;

	 giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	 giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	 if ((*_ORBIT_retval).CLASS)
	    giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (*_ORBIT_retval).CLASS, len);
      }
      {
	 GIOP_unsigned_long len = (*_ORBIT_retval).KEY ? (strlen((*_ORBIT_retval).KEY) + 1) : 0;

	 giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	 giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	 if ((*_ORBIT_retval).KEY)
	    giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (*_ORBIT_retval).KEY, len);
      }
      {
	 GIOP_unsigned_long i2;

	 giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	 giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &((*_ORBIT_retval).X)._length, sizeof(((*_ORBIT_retval).X)._length));
	 for (i2 = 0; i2 < ((*_ORBIT_retval).X)._length; i2++) {
	    {
	       GIOP_unsigned_long len = (((*_ORBIT_retval).X)._buffer[i2]).name ? (strlen((((*_ORBIT_retval).X)._buffer[i2]).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 ((((*_ORBIT_retval).X)._buffer[i2]).name)
		  giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (((*_ORBIT_retval).X)._buffer[i2]).name, len);
	    }
	    {
	       GIOP_unsigned_long len = (((*_ORBIT_retval).X)._buffer[i2]).val ? (strlen((((*_ORBIT_retval).X)._buffer[i2]).val) + 1) : 0;

	       giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	       giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	       if ((((*_ORBIT_retval).X)._buffer[i2]).val)
		  giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (((*_ORBIT_retval).X)._buffer[i2]).val, len);
	    }
	 }
      }
   } else if (ev->_major == CORBA_SYSTEM_EXCEPTION)
      ORBit_send_system_exception(_ORBIT_send_buffer, ev);
   else if (ev->_major == CORBA_USER_EXCEPTION)
      ORBit_send_user_exception(_ORBIT_send_buffer, ev, NULL);
   giop_send_buffer_write(_ORBIT_send_buffer);
   giop_send_buffer_unuse(_ORBIT_send_buffer);
   if (ev->_major == CORBA_NO_EXCEPTION)
      CORBA_free(_ORBIT_retval);
}

static void
skel_gnome_PIM_vCard_server_set_record(POA_gnome_PIM_vCard_server * _ORBIT_servant,
				       GIOPRecvBuffer * _ORBIT_recv_buffer,
				       CORBA_Environment * ev,
		   void (*_impl_set_record) (PortableServer_Servant servant,
					     const CORBA_char * UID,
					     const gnome_PIM_vCard * record,
					     CORBA_Environment * ev))
{
   CORBA_char *UID;
   gnome_PIM_vCard record;
   GIOPSendBuffer *_ORBIT_send_buffer;

   if (giop_msg_conversion_needed(GIOP_MESSAGE_BUFFER(_ORBIT_recv_buffer))) {

      /* demarshal parameter UID */
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 GET_ATOM(len);
	 UID = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }

      /* demarshal parameter record */
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 GET_ATOM(len);
	 (record).FN = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 ((record).N).family = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 ((record).N).given = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 ((record).N).additional = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 ((record).N).prefix = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 ((record).N).suffix = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 (record).NICKNAME = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 (record).PHOTO = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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, 2);
      GET_ATOM(((record).BDAY).year);
      GET_ATOM(((record).BDAY).month);
      GET_ATOM(((record).BDAY).day);
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 GET_ATOM(len);
	 ((record).ADR).type = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 ((record).ADR).pobox = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 ((record).ADR).extended_address = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 ((record).ADR).street_address = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 ((record).ADR).locality = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 ((record).ADR).region = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 ((record).ADR).postal_code = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 ((record).ADR).country_name = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 ((record).LABEL).type = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 ((record).LABEL).pobox = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 ((record).LABEL).extended_address = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 ((record).LABEL).street_address = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 ((record).LABEL).locality = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 ((record).LABEL).region = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 ((record).LABEL).postal_code = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 ((record).LABEL).country_name = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 (record).TEL = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 (record).EMAIL = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 (record).MAILER = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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, 2);
      GET_ATOM(((record).TZ).offset);
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 GET_ATOM(len);
	 ((record).TZ).name = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 ((record).TZ).locale = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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(((record).GEO).LAT);
      GET_ATOM(((record).GEO).LON);
      {
	 GIOP_unsigned_long len;

	 GET_ATOM(len);
	 (record).TITLE = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 (record).ROLE = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 (record).LOGO = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 (record).AGENT = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 ((record).ORG).name = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 ((record).ORG).unit1 = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 ((record).ORG).unit2 = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 ((record).ORG).unit3 = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 ((record).ORG).unit4 = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 (record).CATEGORIES = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 (record).NOTE = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 (record).PRODID = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 (record).REV = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 (record).SORT_STRING = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 (record).SOUND = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 (record).URL = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 (record).UID = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 (record).VERSION = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 (record).CLASS = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 (record).KEY = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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(((record).X)._length);
      ((record).X)._release = CORBA_TRUE;
      ((record).X)._buffer = CORBA_sequence_gnome_PIM_vCard_X_allocbuf(((record).X)._length);
      {
	 int i2;

	 for (i2 = 0; i2 < ((record).X)._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);
	       (((record).X)._buffer[i2]).name = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	       ((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);
	       (((record).X)._buffer[i2]).val = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	 }
      }
   } else {

      /* demarshal parameter UID */
      {
	 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);
	 UID = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }

      /* demarshal parameter record */
      {
	 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);
	 (record).FN = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 ((record).N).family = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 ((record).N).given = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 ((record).N).additional = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 ((record).N).prefix = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 ((record).N).suffix = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 (record).NICKNAME = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 (record).PHOTO = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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, 2);
      memcpy(&(record).BDAY, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, sizeof((record).BDAY));
      ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof((record).BDAY);
      {
	 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);
	 ((record).ADR).type = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 ((record).ADR).pobox = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 ((record).ADR).extended_address = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 ((record).ADR).street_address = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 ((record).ADR).locality = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 ((record).ADR).region = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 ((record).ADR).postal_code = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 ((record).ADR).country_name = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 ((record).LABEL).type = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 ((record).LABEL).pobox = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 ((record).LABEL).extended_address = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 ((record).LABEL).street_address = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 ((record).LABEL).locality = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 ((record).LABEL).region = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 ((record).LABEL).postal_code = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 ((record).LABEL).country_name = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 (record).TEL = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 (record).EMAIL = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 (record).MAILER = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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, 2);
      ((record).TZ).offset = *((CORBA_short *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
      ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_short);
      {
	 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);
	 ((record).TZ).name = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 ((record).TZ).locale = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
      memcpy(&(record).GEO, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, sizeof((record).GEO));
      ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof((record).GEO);
      {
	 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);
	 (record).TITLE = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 (record).ROLE = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 (record).LOGO = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 (record).AGENT = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 ((record).ORG).name = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 ((record).ORG).unit1 = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 ((record).ORG).unit2 = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 ((record).ORG).unit3 = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 ((record).ORG).unit4 = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 (record).CATEGORIES = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 (record).NOTE = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 (record).PRODID = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 (record).REV = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 (record).SORT_STRING = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 (record).SOUND = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 (record).URL = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 (record).UID = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 (record).VERSION = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 (record).CLASS = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
	 (record).KEY = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	 ((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);
      ((record).X)._length = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
      ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
      ((record).X)._release = CORBA_TRUE;
      ((record).X)._buffer = CORBA_sequence_gnome_PIM_vCard_X_allocbuf(((record).X)._length);
      {
	 int i2;

	 for (i2 = 0; i2 < ((record).X)._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);
	       (((record).X)._buffer[i2]).name = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	       ((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);
	       (((record).X)._buffer[i2]).val = len ? (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) : (((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) - sizeof(CORBA_unsigned_long));
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	 }
      }
   }

   _impl_set_record(_ORBIT_servant, UID,
		    &(record),
		    ev);
   _ORBIT_send_buffer =
      giop_send_reply_buffer_use(GIOP_MESSAGE_BUFFER(_ORBIT_recv_buffer)->connection, NULL,
			   _ORBIT_recv_buffer->message.u.request.request_id,
				 ev->_major);

   if (ev->_major == CORBA_NO_EXCEPTION) {
   } else if (ev->_major == CORBA_SYSTEM_EXCEPTION)
      ORBit_send_system_exception(_ORBIT_send_buffer, ev);
   else if (ev->_major == CORBA_USER_EXCEPTION)
      ORBit_send_user_exception(_ORBIT_send_buffer, ev, NULL);
   giop_send_buffer_write(_ORBIT_send_buffer);
   giop_send_buffer_unuse(_ORBIT_send_buffer);
   gnome_PIM_vCard__free(&record, NULL, CORBA_FALSE);
}

static ORBitSkeleton 
get_skel_gnome_PIM_vCard_server(POA_gnome_PIM_vCard_server * servant,
				GIOPRecvBuffer * _ORBIT_recv_buffer,
				gpointer * impl)
{
   gchar *opname = _ORBIT_recv_buffer->message.u.request.operation;

   switch (opname[0]) {
     case 'g':
	switch (opname[1]) {
	  case 'e':
	     switch (opname[2]) {
	       case 't':
		  switch (opname[3]) {
		    case '_':
		       switch (opname[4]) {
			 case 'r':
			    switch (opname[5]) {
			      case 'e':
				 switch (opname[6]) {
				   case 'c':
				      switch (opname[7]) {
					case 'o':
					   switch (opname[8]) {
					     case 'r':
						switch (opname[9]) {
						  case 'd':
						     switch (opname[10]) {
						       case '\0':
							  *impl = servant->vepv->gnome_PIM_vCard_server_epv->get_record;
							  return (gpointer) skel_gnome_PIM_vCard_server_get_record;
							  break;
						       case 's':
							  *impl = servant->vepv->gnome_PIM_vCard_server_epv->get_records;
							  return (gpointer) skel_gnome_PIM_vCard_server_get_records;
							  break;
						       default:
							  return NULL;
						     }
						     break;
						  default:
						     return NULL;
						}
						break;
					     default:
						return NULL;
					   }
					   break;
					default:
					   return NULL;
				      }
				      break;
				   default:
				      return NULL;
				 }
				 break;
			      default:
				 return NULL;
			    }
			    break;
			 default:
			    return NULL;
		       }
		       break;
		    default:
		       return NULL;
		  }
		  break;
	       default:
		  return NULL;
	     }
	     break;
	  default:
	     return NULL;
	}
	break;
     case 's':
	*impl = servant->vepv->gnome_PIM_vCard_server_epv->set_record;
	return (gpointer) skel_gnome_PIM_vCard_server_set_record;
	break;
     default:
	return NULL;
   }
}

static void 
init_local_objref_gnome_PIM_vCard_server(CORBA_Object obj, POA_gnome_PIM_vCard_server * servant)
{
   obj->vepv[gnome_PIM_vCard_server__classid] = servant->vepv->gnome_PIM_vCard_server_epv;
}

void 
POA_gnome_PIM_vCard_server__init(POA_gnome_PIM_vCard_server * servant,
				 CORBA_Environment * env)
{
   static const PortableServer_ClassInfo class_info =
   {(gpointer) & get_skel_gnome_PIM_vCard_server, "IDL:gnome_PIM/vCard_server:1.0", (gpointer) & init_local_objref_gnome_PIM_vCard_server};

   PortableServer_ServantBase__init(((PortableServer_ServantBase *) servant), env);
   ORBIT_OBJECT_KEY(servant->_private)->class_info = (PortableServer_ClassInfo *) & class_info;
   if (!gnome_PIM_vCard_server__classid)
      gnome_PIM_vCard_server__classid = ORBit_register_class(&class_info);
}

void 
POA_gnome_PIM_vCard_server__fini(POA_gnome_PIM_vCard_server * servant,
				 CORBA_Environment * env)
{
   PortableServer_ServantBase__fini(servant, env);
}

/***************** End module gnome_PIM ***************/
