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

#include <string.h>
#include "CosEventChannel.h"

void
_ORBIT_CosEventComm_Disconnected_marshal(GIOPSendBuffer * _ORBIT_send_buffer, CORBA_Environment * ev)
{
}
void 
_ORBIT_skel_CosEventComm_PushConsumer_push(POA_CosEventComm_PushConsumer * _ORBIT_servant, GIOPRecvBuffer * _ORBIT_recv_buffer, CORBA_Environment * ev, void (*_impl_push) (PortableServer_Servant _servant, const CORBA_any * data, CORBA_Environment * ev))
{
   CORBA_any data = {NULL, NULL, CORBA_FALSE};
   {				/* demarshalling */
      guchar *_ORBIT_curptr;
      _ORBIT_curptr = GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur;
      if (giop_msg_conversion_needed(GIOP_MESSAGE_BUFFER(_ORBIT_recv_buffer))) {
	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = _ORBIT_curptr;
	 ORBit_demarshal_any(_ORBIT_recv_buffer, &(data), CORBA_TRUE, (((ORBit_ObjectKey *) _ORBIT_servant->_private)->object->orb));
	 _ORBIT_curptr = GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur;
      } else {
	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = _ORBIT_curptr;
	 ORBit_demarshal_any(_ORBIT_recv_buffer, &(data), CORBA_TRUE, (((ORBit_ObjectKey *) _ORBIT_servant->_private)->object->orb));
	 _ORBIT_curptr = GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur;
      }
   }
   _impl_push(_ORBIT_servant, &(data), ev);
   {				/* marshalling */
      register GIOPSendBuffer *_ORBIT_send_buffer;
      _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 (_ORBIT_send_buffer) {
	 if (ev->_major == CORBA_NO_EXCEPTION) {
	 } else if (ev->_major == CORBA_USER_EXCEPTION) {
	    static const ORBit_exception_marshal_info _ORBIT_user_exceptions[] = {{(const CORBA_TypeCode) & TC_CosEventComm_Disconnected_struct, (gpointer) _ORBIT_CosEventComm_Disconnected_marshal}, {CORBA_OBJECT_NIL, NULL}};
	    ORBit_send_user_exception(_ORBIT_send_buffer, ev, _ORBIT_user_exceptions);
	 } else
	    ORBit_send_system_exception(_ORBIT_send_buffer, ev);
	 giop_send_buffer_write(_ORBIT_send_buffer);
	 giop_send_buffer_unuse(_ORBIT_send_buffer);
      }
      CORBA_any__free(&data, NULL, CORBA_FALSE);
   }
}
void 
_ORBIT_skel_CosEventComm_PushConsumer_disconnect_push_consumer(POA_CosEventComm_PushConsumer * _ORBIT_servant, GIOPRecvBuffer * _ORBIT_recv_buffer, CORBA_Environment * ev, void (*_impl_disconnect_push_consumer) (PortableServer_Servant _servant, CORBA_Environment * ev))
{
   _impl_disconnect_push_consumer(_ORBIT_servant, ev);
   {				/* marshalling */
      register GIOPSendBuffer *_ORBIT_send_buffer;
      _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 (_ORBIT_send_buffer) {
	 if (ev->_major == CORBA_NO_EXCEPTION) {
	 } else
	    ORBit_send_system_exception(_ORBIT_send_buffer, ev);
	 giop_send_buffer_write(_ORBIT_send_buffer);
	 giop_send_buffer_unuse(_ORBIT_send_buffer);
      }
   }
}
void 
_ORBIT_skel_CosEventComm_PushSupplier_disconnect_push_supplier(POA_CosEventComm_PushSupplier * _ORBIT_servant, GIOPRecvBuffer * _ORBIT_recv_buffer, CORBA_Environment * ev, void (*_impl_disconnect_push_supplier) (PortableServer_Servant _servant, CORBA_Environment * ev))
{
   _impl_disconnect_push_supplier(_ORBIT_servant, ev);
   {				/* marshalling */
      register GIOPSendBuffer *_ORBIT_send_buffer;
      _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 (_ORBIT_send_buffer) {
	 if (ev->_major == CORBA_NO_EXCEPTION) {
	 } else
	    ORBit_send_system_exception(_ORBIT_send_buffer, ev);
	 giop_send_buffer_write(_ORBIT_send_buffer);
	 giop_send_buffer_unuse(_ORBIT_send_buffer);
      }
   }
}
void 
_ORBIT_skel_CosEventComm_PullSupplier_pull(POA_CosEventComm_PullSupplier * _ORBIT_servant, GIOPRecvBuffer * _ORBIT_recv_buffer, CORBA_Environment * ev, CORBA_any * (*_impl_pull) (PortableServer_Servant _servant, CORBA_Environment * ev))
{
   CORBA_any *_ORBIT_retval;
   _ORBIT_retval = _impl_pull(_ORBIT_servant, ev);
   {				/* marshalling */
      register GIOPSendBuffer *_ORBIT_send_buffer;
      _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 (_ORBIT_send_buffer) {
	 if (ev->_major == CORBA_NO_EXCEPTION) {
	    ORBit_marshal_any(_ORBIT_send_buffer, &((*_ORBIT_retval)));
	 } else if (ev->_major == CORBA_USER_EXCEPTION) {
	    static const ORBit_exception_marshal_info _ORBIT_user_exceptions[] = {{(const CORBA_TypeCode) & TC_CosEventComm_Disconnected_struct, (gpointer) _ORBIT_CosEventComm_Disconnected_marshal}, {CORBA_OBJECT_NIL, NULL}};
	    ORBit_send_user_exception(_ORBIT_send_buffer, ev, _ORBIT_user_exceptions);
	 } else
	    ORBit_send_system_exception(_ORBIT_send_buffer, ev);
	 giop_send_buffer_write(_ORBIT_send_buffer);
	 giop_send_buffer_unuse(_ORBIT_send_buffer);
      }
      if (ev->_major == CORBA_NO_EXCEPTION)
	 CORBA_free(_ORBIT_retval);
   }
}
void 
_ORBIT_skel_CosEventComm_PullSupplier_try_pull(POA_CosEventComm_PullSupplier * _ORBIT_servant, GIOPRecvBuffer * _ORBIT_recv_buffer, CORBA_Environment * ev, CORBA_any * (*_impl_try_pull) (PortableServer_Servant _servant, CORBA_boolean * has_event, CORBA_Environment * ev))
{
   CORBA_any *_ORBIT_retval;
   CORBA_boolean has_event;
   {				/* demarshalling */
      guchar *_ORBIT_curptr;
      _ORBIT_curptr = GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur;
      if (giop_msg_conversion_needed(GIOP_MESSAGE_BUFFER(_ORBIT_recv_buffer))) {
      } else {
      }
   }
   _ORBIT_retval = _impl_try_pull(_ORBIT_servant, &(has_event), ev);
   {				/* marshalling */
      register GIOPSendBuffer *_ORBIT_send_buffer;
      _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 (_ORBIT_send_buffer) {
	 if (ev->_major == CORBA_NO_EXCEPTION) {
	    ORBit_marshal_any(_ORBIT_send_buffer, &((*_ORBIT_retval)));
	    giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &(has_event), sizeof(has_event));
	 } else if (ev->_major == CORBA_USER_EXCEPTION) {
	    static const ORBit_exception_marshal_info _ORBIT_user_exceptions[] = {{(const CORBA_TypeCode) & TC_CosEventComm_Disconnected_struct, (gpointer) _ORBIT_CosEventComm_Disconnected_marshal}, {CORBA_OBJECT_NIL, NULL}};
	    ORBit_send_user_exception(_ORBIT_send_buffer, ev, _ORBIT_user_exceptions);
	 } else
	    ORBit_send_system_exception(_ORBIT_send_buffer, ev);
	 giop_send_buffer_write(_ORBIT_send_buffer);
	 giop_send_buffer_unuse(_ORBIT_send_buffer);
      }
      if (ev->_major == CORBA_NO_EXCEPTION)
	 CORBA_free(_ORBIT_retval);
   }
}
void 
_ORBIT_skel_CosEventComm_PullSupplier_disconnect_pull_supplier(POA_CosEventComm_PullSupplier * _ORBIT_servant, GIOPRecvBuffer * _ORBIT_recv_buffer, CORBA_Environment * ev, void (*_impl_disconnect_pull_supplier) (PortableServer_Servant _servant, CORBA_Environment * ev))
{
   _impl_disconnect_pull_supplier(_ORBIT_servant, ev);
   {				/* marshalling */
      register GIOPSendBuffer *_ORBIT_send_buffer;
      _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 (_ORBIT_send_buffer) {
	 if (ev->_major == CORBA_NO_EXCEPTION) {
	 } else
	    ORBit_send_system_exception(_ORBIT_send_buffer, ev);
	 giop_send_buffer_write(_ORBIT_send_buffer);
	 giop_send_buffer_unuse(_ORBIT_send_buffer);
      }
   }
}
void 
_ORBIT_skel_CosEventComm_PullConsumer_disconnect_pull_consumer(POA_CosEventComm_PullConsumer * _ORBIT_servant, GIOPRecvBuffer * _ORBIT_recv_buffer, CORBA_Environment * ev, void (*_impl_disconnect_pull_consumer) (PortableServer_Servant _servant, CORBA_Environment * ev))
{
   _impl_disconnect_pull_consumer(_ORBIT_servant, ev);
   {				/* marshalling */
      register GIOPSendBuffer *_ORBIT_send_buffer;
      _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 (_ORBIT_send_buffer) {
	 if (ev->_major == CORBA_NO_EXCEPTION) {
	 } else
	    ORBit_send_system_exception(_ORBIT_send_buffer, ev);
	 giop_send_buffer_write(_ORBIT_send_buffer);
	 giop_send_buffer_unuse(_ORBIT_send_buffer);
      }
   }
}
void
_ORBIT_CosEventChannelAdmin_AlreadyConnected_marshal(GIOPSendBuffer * _ORBIT_send_buffer, CORBA_Environment * ev)
{
}
void
_ORBIT_CosEventChannelAdmin_TypeError_marshal(GIOPSendBuffer * _ORBIT_send_buffer, CORBA_Environment * ev)
{
}
void 
_ORBIT_skel_CosEventChannelAdmin_ProxyPushConsumer_connect_push_supplier(POA_CosEventChannelAdmin_ProxyPushConsumer * _ORBIT_servant, GIOPRecvBuffer * _ORBIT_recv_buffer, CORBA_Environment * ev, void (*_impl_connect_push_supplier) (PortableServer_Servant _servant, const CosEventComm_PushSupplier push_supplier, CORBA_Environment * ev))
{
   CosEventComm_PushSupplier push_supplier;
   {				/* demarshalling */
      guchar *_ORBIT_curptr;
      _ORBIT_curptr = GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur;
      if (giop_msg_conversion_needed(GIOP_MESSAGE_BUFFER(_ORBIT_recv_buffer))) {
	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = _ORBIT_curptr;
	 push_supplier = ORBit_demarshal_object(_ORBIT_recv_buffer, (((ORBit_ObjectKey *) _ORBIT_servant->_private)->object->orb));
	 _ORBIT_curptr = GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur;
      } else {
	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = _ORBIT_curptr;
	 push_supplier = ORBit_demarshal_object(_ORBIT_recv_buffer, (((ORBit_ObjectKey *) _ORBIT_servant->_private)->object->orb));
	 _ORBIT_curptr = GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur;
      }
   }
   _impl_connect_push_supplier(_ORBIT_servant, push_supplier, ev);
   {				/* marshalling */
      register GIOPSendBuffer *_ORBIT_send_buffer;
      _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 (_ORBIT_send_buffer) {
	 if (ev->_major == CORBA_NO_EXCEPTION) {
	 } else if (ev->_major == CORBA_USER_EXCEPTION) {
	    static const ORBit_exception_marshal_info _ORBIT_user_exceptions[] = {{(const CORBA_TypeCode) & TC_CosEventChannelAdmin_AlreadyConnected_struct, (gpointer) _ORBIT_CosEventChannelAdmin_AlreadyConnected_marshal}, {CORBA_OBJECT_NIL, NULL}};
	    ORBit_send_user_exception(_ORBIT_send_buffer, ev, _ORBIT_user_exceptions);
	 } else
	    ORBit_send_system_exception(_ORBIT_send_buffer, ev);
	 giop_send_buffer_write(_ORBIT_send_buffer);
	 giop_send_buffer_unuse(_ORBIT_send_buffer);
      }
      CORBA_Object_release(push_supplier, ev);
   }
}
void 
_ORBIT_skel_CosEventChannelAdmin_ProxyPullSupplier_connect_pull_consumer(POA_CosEventChannelAdmin_ProxyPullSupplier * _ORBIT_servant, GIOPRecvBuffer * _ORBIT_recv_buffer, CORBA_Environment * ev, void (*_impl_connect_pull_consumer) (PortableServer_Servant _servant, const CosEventComm_PullConsumer pull_consumer, CORBA_Environment * ev))
{
   CosEventComm_PullConsumer pull_consumer;
   {				/* demarshalling */
      guchar *_ORBIT_curptr;
      _ORBIT_curptr = GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur;
      if (giop_msg_conversion_needed(GIOP_MESSAGE_BUFFER(_ORBIT_recv_buffer))) {
	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = _ORBIT_curptr;
	 pull_consumer = ORBit_demarshal_object(_ORBIT_recv_buffer, (((ORBit_ObjectKey *) _ORBIT_servant->_private)->object->orb));
	 _ORBIT_curptr = GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur;
      } else {
	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = _ORBIT_curptr;
	 pull_consumer = ORBit_demarshal_object(_ORBIT_recv_buffer, (((ORBit_ObjectKey *) _ORBIT_servant->_private)->object->orb));
	 _ORBIT_curptr = GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur;
      }
   }
   _impl_connect_pull_consumer(_ORBIT_servant, pull_consumer, ev);
   {				/* marshalling */
      register GIOPSendBuffer *_ORBIT_send_buffer;
      _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 (_ORBIT_send_buffer) {
	 if (ev->_major == CORBA_NO_EXCEPTION) {
	 } else if (ev->_major == CORBA_USER_EXCEPTION) {
	    static const ORBit_exception_marshal_info _ORBIT_user_exceptions[] = {{(const CORBA_TypeCode) & TC_CosEventChannelAdmin_AlreadyConnected_struct, (gpointer) _ORBIT_CosEventChannelAdmin_AlreadyConnected_marshal}, {CORBA_OBJECT_NIL, NULL}};
	    ORBit_send_user_exception(_ORBIT_send_buffer, ev, _ORBIT_user_exceptions);
	 } else
	    ORBit_send_system_exception(_ORBIT_send_buffer, ev);
	 giop_send_buffer_write(_ORBIT_send_buffer);
	 giop_send_buffer_unuse(_ORBIT_send_buffer);
      }
      CORBA_Object_release(pull_consumer, ev);
   }
}
void 
_ORBIT_skel_CosEventChannelAdmin_ProxyPullConsumer_connect_pull_supplier(POA_CosEventChannelAdmin_ProxyPullConsumer * _ORBIT_servant, GIOPRecvBuffer * _ORBIT_recv_buffer, CORBA_Environment * ev, void (*_impl_connect_pull_supplier) (PortableServer_Servant _servant, const CosEventComm_PullSupplier pull_supplier, CORBA_Environment * ev))
{
   CosEventComm_PullSupplier pull_supplier;
   {				/* demarshalling */
      guchar *_ORBIT_curptr;
      _ORBIT_curptr = GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur;
      if (giop_msg_conversion_needed(GIOP_MESSAGE_BUFFER(_ORBIT_recv_buffer))) {
	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = _ORBIT_curptr;
	 pull_supplier = ORBit_demarshal_object(_ORBIT_recv_buffer, (((ORBit_ObjectKey *) _ORBIT_servant->_private)->object->orb));
	 _ORBIT_curptr = GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur;
      } else {
	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = _ORBIT_curptr;
	 pull_supplier = ORBit_demarshal_object(_ORBIT_recv_buffer, (((ORBit_ObjectKey *) _ORBIT_servant->_private)->object->orb));
	 _ORBIT_curptr = GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur;
      }
   }
   _impl_connect_pull_supplier(_ORBIT_servant, pull_supplier, ev);
   {				/* marshalling */
      register GIOPSendBuffer *_ORBIT_send_buffer;
      _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 (_ORBIT_send_buffer) {
	 if (ev->_major == CORBA_NO_EXCEPTION) {
	 } else if (ev->_major == CORBA_USER_EXCEPTION) {
	    static const ORBit_exception_marshal_info _ORBIT_user_exceptions[] = {{(const CORBA_TypeCode) & TC_CosEventChannelAdmin_AlreadyConnected_struct, (gpointer) _ORBIT_CosEventChannelAdmin_AlreadyConnected_marshal}, {(const CORBA_TypeCode) & TC_CosEventChannelAdmin_TypeError_struct, (gpointer) _ORBIT_CosEventChannelAdmin_TypeError_marshal}, {CORBA_OBJECT_NIL, NULL}};
	    ORBit_send_user_exception(_ORBIT_send_buffer, ev, _ORBIT_user_exceptions);
	 } else
	    ORBit_send_system_exception(_ORBIT_send_buffer, ev);
	 giop_send_buffer_write(_ORBIT_send_buffer);
	 giop_send_buffer_unuse(_ORBIT_send_buffer);
      }
      CORBA_Object_release(pull_supplier, ev);
   }
}
void 
_ORBIT_skel_CosEventChannelAdmin_ProxyPushSupplier_connect_push_consumer(POA_CosEventChannelAdmin_ProxyPushSupplier * _ORBIT_servant, GIOPRecvBuffer * _ORBIT_recv_buffer, CORBA_Environment * ev, void (*_impl_connect_push_consumer) (PortableServer_Servant _servant, const CosEventComm_PushConsumer push_consumer, CORBA_Environment * ev))
{
   CosEventComm_PushConsumer push_consumer;
   {				/* demarshalling */
      guchar *_ORBIT_curptr;
      _ORBIT_curptr = GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur;
      if (giop_msg_conversion_needed(GIOP_MESSAGE_BUFFER(_ORBIT_recv_buffer))) {
	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = _ORBIT_curptr;
	 push_consumer = ORBit_demarshal_object(_ORBIT_recv_buffer, (((ORBit_ObjectKey *) _ORBIT_servant->_private)->object->orb));
	 _ORBIT_curptr = GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur;
      } else {
	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = _ORBIT_curptr;
	 push_consumer = ORBit_demarshal_object(_ORBIT_recv_buffer, (((ORBit_ObjectKey *) _ORBIT_servant->_private)->object->orb));
	 _ORBIT_curptr = GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur;
      }
   }
   _impl_connect_push_consumer(_ORBIT_servant, push_consumer, ev);
   {				/* marshalling */
      register GIOPSendBuffer *_ORBIT_send_buffer;
      _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 (_ORBIT_send_buffer) {
	 if (ev->_major == CORBA_NO_EXCEPTION) {
	 } else if (ev->_major == CORBA_USER_EXCEPTION) {
	    static const ORBit_exception_marshal_info _ORBIT_user_exceptions[] = {{(const CORBA_TypeCode) & TC_CosEventChannelAdmin_AlreadyConnected_struct, (gpointer) _ORBIT_CosEventChannelAdmin_AlreadyConnected_marshal}, {(const CORBA_TypeCode) & TC_CosEventChannelAdmin_TypeError_struct, (gpointer) _ORBIT_CosEventChannelAdmin_TypeError_marshal}, {CORBA_OBJECT_NIL, NULL}};
	    ORBit_send_user_exception(_ORBIT_send_buffer, ev, _ORBIT_user_exceptions);
	 } else
	    ORBit_send_system_exception(_ORBIT_send_buffer, ev);
	 giop_send_buffer_write(_ORBIT_send_buffer);
	 giop_send_buffer_unuse(_ORBIT_send_buffer);
      }
      CORBA_Object_release(push_consumer, ev);
   }
}
void 
_ORBIT_skel_CosEventChannelAdmin_ConsumerAdmin_obtain_push_supplier(POA_CosEventChannelAdmin_ConsumerAdmin * _ORBIT_servant, GIOPRecvBuffer * _ORBIT_recv_buffer, CORBA_Environment * ev, CosEventChannelAdmin_ProxyPushSupplier(*_impl_obtain_push_supplier) (PortableServer_Servant _servant, CORBA_Environment * ev))
{
   CosEventChannelAdmin_ProxyPushSupplier _ORBIT_retval;
   _ORBIT_retval = _impl_obtain_push_supplier(_ORBIT_servant, ev);
   {				/* marshalling */
      register GIOPSendBuffer *_ORBIT_send_buffer;
      _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 (_ORBIT_send_buffer) {
	 if (ev->_major == CORBA_NO_EXCEPTION) {
	    ORBit_marshal_object(_ORBIT_send_buffer, _ORBIT_retval);
	 } else
	    ORBit_send_system_exception(_ORBIT_send_buffer, ev);
	 giop_send_buffer_write(_ORBIT_send_buffer);
	 giop_send_buffer_unuse(_ORBIT_send_buffer);
      }
      if (ev->_major == CORBA_NO_EXCEPTION)
	 CORBA_Object_release(_ORBIT_retval, ev);
   }
}
void 
_ORBIT_skel_CosEventChannelAdmin_ConsumerAdmin_obtain_pull_supplier(POA_CosEventChannelAdmin_ConsumerAdmin * _ORBIT_servant, GIOPRecvBuffer * _ORBIT_recv_buffer, CORBA_Environment * ev, CosEventChannelAdmin_ProxyPullSupplier(*_impl_obtain_pull_supplier) (PortableServer_Servant _servant, CORBA_Environment * ev))
{
   CosEventChannelAdmin_ProxyPullSupplier _ORBIT_retval;
   _ORBIT_retval = _impl_obtain_pull_supplier(_ORBIT_servant, ev);
   {				/* marshalling */
      register GIOPSendBuffer *_ORBIT_send_buffer;
      _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 (_ORBIT_send_buffer) {
	 if (ev->_major == CORBA_NO_EXCEPTION) {
	    ORBit_marshal_object(_ORBIT_send_buffer, _ORBIT_retval);
	 } else
	    ORBit_send_system_exception(_ORBIT_send_buffer, ev);
	 giop_send_buffer_write(_ORBIT_send_buffer);
	 giop_send_buffer_unuse(_ORBIT_send_buffer);
      }
      if (ev->_major == CORBA_NO_EXCEPTION)
	 CORBA_Object_release(_ORBIT_retval, ev);
   }
}
void 
_ORBIT_skel_CosEventChannelAdmin_SupplierAdmin_obtain_push_consumer(POA_CosEventChannelAdmin_SupplierAdmin * _ORBIT_servant, GIOPRecvBuffer * _ORBIT_recv_buffer, CORBA_Environment * ev, CosEventChannelAdmin_ProxyPushConsumer(*_impl_obtain_push_consumer) (PortableServer_Servant _servant, CORBA_Environment * ev))
{
   CosEventChannelAdmin_ProxyPushConsumer _ORBIT_retval;
   _ORBIT_retval = _impl_obtain_push_consumer(_ORBIT_servant, ev);
   {				/* marshalling */
      register GIOPSendBuffer *_ORBIT_send_buffer;
      _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 (_ORBIT_send_buffer) {
	 if (ev->_major == CORBA_NO_EXCEPTION) {
	    ORBit_marshal_object(_ORBIT_send_buffer, _ORBIT_retval);
	 } else
	    ORBit_send_system_exception(_ORBIT_send_buffer, ev);
	 giop_send_buffer_write(_ORBIT_send_buffer);
	 giop_send_buffer_unuse(_ORBIT_send_buffer);
      }
      if (ev->_major == CORBA_NO_EXCEPTION)
	 CORBA_Object_release(_ORBIT_retval, ev);
   }
}
void 
_ORBIT_skel_CosEventChannelAdmin_SupplierAdmin_obtain_pull_consumer(POA_CosEventChannelAdmin_SupplierAdmin * _ORBIT_servant, GIOPRecvBuffer * _ORBIT_recv_buffer, CORBA_Environment * ev, CosEventChannelAdmin_ProxyPullConsumer(*_impl_obtain_pull_consumer) (PortableServer_Servant _servant, CORBA_Environment * ev))
{
   CosEventChannelAdmin_ProxyPullConsumer _ORBIT_retval;
   _ORBIT_retval = _impl_obtain_pull_consumer(_ORBIT_servant, ev);
   {				/* marshalling */
      register GIOPSendBuffer *_ORBIT_send_buffer;
      _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 (_ORBIT_send_buffer) {
	 if (ev->_major == CORBA_NO_EXCEPTION) {
	    ORBit_marshal_object(_ORBIT_send_buffer, _ORBIT_retval);
	 } else
	    ORBit_send_system_exception(_ORBIT_send_buffer, ev);
	 giop_send_buffer_write(_ORBIT_send_buffer);
	 giop_send_buffer_unuse(_ORBIT_send_buffer);
      }
      if (ev->_major == CORBA_NO_EXCEPTION)
	 CORBA_Object_release(_ORBIT_retval, ev);
   }
}
void 
_ORBIT_skel_CosEventChannelAdmin_EventChannel_for_consumers(POA_CosEventChannelAdmin_EventChannel * _ORBIT_servant, GIOPRecvBuffer * _ORBIT_recv_buffer, CORBA_Environment * ev, CosEventChannelAdmin_ConsumerAdmin(*_impl_for_consumers) (PortableServer_Servant _servant, CORBA_Environment * ev))
{
   CosEventChannelAdmin_ConsumerAdmin _ORBIT_retval;
   _ORBIT_retval = _impl_for_consumers(_ORBIT_servant, ev);
   {				/* marshalling */
      register GIOPSendBuffer *_ORBIT_send_buffer;
      _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 (_ORBIT_send_buffer) {
	 if (ev->_major == CORBA_NO_EXCEPTION) {
	    ORBit_marshal_object(_ORBIT_send_buffer, _ORBIT_retval);
	 } else
	    ORBit_send_system_exception(_ORBIT_send_buffer, ev);
	 giop_send_buffer_write(_ORBIT_send_buffer);
	 giop_send_buffer_unuse(_ORBIT_send_buffer);
      }
      if (ev->_major == CORBA_NO_EXCEPTION)
	 CORBA_Object_release(_ORBIT_retval, ev);
   }
}
void 
_ORBIT_skel_CosEventChannelAdmin_EventChannel_for_suppliers(POA_CosEventChannelAdmin_EventChannel * _ORBIT_servant, GIOPRecvBuffer * _ORBIT_recv_buffer, CORBA_Environment * ev, CosEventChannelAdmin_SupplierAdmin(*_impl_for_suppliers) (PortableServer_Servant _servant, CORBA_Environment * ev))
{
   CosEventChannelAdmin_SupplierAdmin _ORBIT_retval;
   _ORBIT_retval = _impl_for_suppliers(_ORBIT_servant, ev);
   {				/* marshalling */
      register GIOPSendBuffer *_ORBIT_send_buffer;
      _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 (_ORBIT_send_buffer) {
	 if (ev->_major == CORBA_NO_EXCEPTION) {
	    ORBit_marshal_object(_ORBIT_send_buffer, _ORBIT_retval);
	 } else
	    ORBit_send_system_exception(_ORBIT_send_buffer, ev);
	 giop_send_buffer_write(_ORBIT_send_buffer);
	 giop_send_buffer_unuse(_ORBIT_send_buffer);
      }
      if (ev->_major == CORBA_NO_EXCEPTION)
	 CORBA_Object_release(_ORBIT_retval, ev);
   }
}
void 
_ORBIT_skel_CosEventChannelAdmin_EventChannel_destroy(POA_CosEventChannelAdmin_EventChannel * _ORBIT_servant, GIOPRecvBuffer * _ORBIT_recv_buffer, CORBA_Environment * ev, void (*_impl_destroy) (PortableServer_Servant _servant, CORBA_Environment * ev))
{
   _impl_destroy(_ORBIT_servant, ev);
   {				/* marshalling */
      register GIOPSendBuffer *_ORBIT_send_buffer;
      _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 (_ORBIT_send_buffer) {
	 if (ev->_major == CORBA_NO_EXCEPTION) {
	 } else
	    ORBit_send_system_exception(_ORBIT_send_buffer, ev);
	 giop_send_buffer_write(_ORBIT_send_buffer);
	 giop_send_buffer_unuse(_ORBIT_send_buffer);
      }
   }
}
void 
_ORBIT_skel_CosEventChannelAdmin_EventChannelFactory_new_event_channel(POA_CosEventChannelAdmin_EventChannelFactory * _ORBIT_servant, GIOPRecvBuffer * _ORBIT_recv_buffer, CORBA_Environment * ev, CosEventChannelAdmin_EventChannel(*_impl_new_event_channel) (PortableServer_Servant _servant, CORBA_Environment * ev))
{
   CosEventChannelAdmin_EventChannel _ORBIT_retval;
   _ORBIT_retval = _impl_new_event_channel(_ORBIT_servant, ev);
   {				/* marshalling */
      register GIOPSendBuffer *_ORBIT_send_buffer;
      _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 (_ORBIT_send_buffer) {
	 if (ev->_major == CORBA_NO_EXCEPTION) {
	    ORBit_marshal_object(_ORBIT_send_buffer, _ORBIT_retval);
	 } else
	    ORBit_send_system_exception(_ORBIT_send_buffer, ev);
	 giop_send_buffer_write(_ORBIT_send_buffer);
	 giop_send_buffer_unuse(_ORBIT_send_buffer);
      }
      if (ev->_major == CORBA_NO_EXCEPTION)
	 CORBA_Object_release(_ORBIT_retval, ev);
   }
}
static ORBitSkeleton 
get_skel_CosEventComm_PushConsumer(POA_CosEventComm_PushConsumer * servant,
				   GIOPRecvBuffer * _ORBIT_recv_buffer,
				   gpointer * impl)
{
   gchar *opname = _ORBIT_recv_buffer->message.u.request.operation;
   switch (opname[0]) {
	 case 'd':
	    if (strcmp((opname + 1), "isconnect_push_consumer"))
	       break;
	    *impl = (gpointer) servant->vepv->CosEventComm_PushConsumer_epv->disconnect_push_consumer;
	    return (ORBitSkeleton) _ORBIT_skel_CosEventComm_PushConsumer_disconnect_push_consumer;
	    break;
	 case 'p':
	    if (strcmp((opname + 1), "ush"))
	       break;
	    *impl = (gpointer) servant->vepv->CosEventComm_PushConsumer_epv->push;
	    return (ORBitSkeleton) _ORBIT_skel_CosEventComm_PushConsumer_push;
	    break;
	 default:
	    break;
   }
   return NULL;
}

static void 
init_local_objref_CosEventComm_PushConsumer(CORBA_Object obj, POA_CosEventComm_PushConsumer * servant)
{
   obj->vepv[CosEventComm_PushConsumer__classid] = servant->vepv->CosEventComm_PushConsumer_epv;
}
void 
POA_CosEventComm_PushConsumer__init(PortableServer_Servant servant,
				    CORBA_Environment * env)
{
   static const PortableServer_ClassInfo class_info = {(ORBit_impl_finder) & get_skel_CosEventComm_PushConsumer, "IDL:omg.org/CosEventComm/PushConsumer:1.0", (ORBit_local_objref_init) & init_local_objref_CosEventComm_PushConsumer};
   PortableServer_ServantBase__init(((PortableServer_ServantBase *) servant), env);
   ORBIT_OBJECT_KEY(((PortableServer_ServantBase *) servant)->_private)->class_info = (PortableServer_ClassInfo *) & class_info;
   if (!CosEventComm_PushConsumer__classid)
      CosEventComm_PushConsumer__classid = ORBit_register_class(&class_info);
}

void 
POA_CosEventComm_PushConsumer__fini(PortableServer_Servant servant,
				    CORBA_Environment * env)
{
   PortableServer_ServantBase__fini(servant, env);
}

static ORBitSkeleton 
get_skel_CosEventComm_PushSupplier(POA_CosEventComm_PushSupplier * servant,
				   GIOPRecvBuffer * _ORBIT_recv_buffer,
				   gpointer * impl)
{
   gchar *opname = _ORBIT_recv_buffer->message.u.request.operation;
   switch (opname[0]) {
	 case 'd':
	    if (strcmp((opname + 1), "isconnect_push_supplier"))
	       break;
	    *impl = (gpointer) servant->vepv->CosEventComm_PushSupplier_epv->disconnect_push_supplier;
	    return (ORBitSkeleton) _ORBIT_skel_CosEventComm_PushSupplier_disconnect_push_supplier;
	    break;
	 default:
	    break;
   }
   return NULL;
}

static void 
init_local_objref_CosEventComm_PushSupplier(CORBA_Object obj, POA_CosEventComm_PushSupplier * servant)
{
   obj->vepv[CosEventComm_PushSupplier__classid] = servant->vepv->CosEventComm_PushSupplier_epv;
}
void 
POA_CosEventComm_PushSupplier__init(PortableServer_Servant servant,
				    CORBA_Environment * env)
{
   static const PortableServer_ClassInfo class_info = {(ORBit_impl_finder) & get_skel_CosEventComm_PushSupplier, "IDL:omg.org/CosEventComm/PushSupplier:1.0", (ORBit_local_objref_init) & init_local_objref_CosEventComm_PushSupplier};
   PortableServer_ServantBase__init(((PortableServer_ServantBase *) servant), env);
   ORBIT_OBJECT_KEY(((PortableServer_ServantBase *) servant)->_private)->class_info = (PortableServer_ClassInfo *) & class_info;
   if (!CosEventComm_PushSupplier__classid)
      CosEventComm_PushSupplier__classid = ORBit_register_class(&class_info);
}

void 
POA_CosEventComm_PushSupplier__fini(PortableServer_Servant servant,
				    CORBA_Environment * env)
{
   PortableServer_ServantBase__fini(servant, env);
}

static ORBitSkeleton 
get_skel_CosEventComm_PullSupplier(POA_CosEventComm_PullSupplier * servant,
				   GIOPRecvBuffer * _ORBIT_recv_buffer,
				   gpointer * impl)
{
   gchar *opname = _ORBIT_recv_buffer->message.u.request.operation;
   switch (opname[0]) {
	 case 'd':
	    if (strcmp((opname + 1), "isconnect_pull_supplier"))
	       break;
	    *impl = (gpointer) servant->vepv->CosEventComm_PullSupplier_epv->disconnect_pull_supplier;
	    return (ORBitSkeleton) _ORBIT_skel_CosEventComm_PullSupplier_disconnect_pull_supplier;
	    break;
	 case 'p':
	    if (strcmp((opname + 1), "ull"))
	       break;
	    *impl = (gpointer) servant->vepv->CosEventComm_PullSupplier_epv->pull;
	    return (ORBitSkeleton) _ORBIT_skel_CosEventComm_PullSupplier_pull;
	    break;
	 case 't':
	    if (strcmp((opname + 1), "ry_pull"))
	       break;
	    *impl = (gpointer) servant->vepv->CosEventComm_PullSupplier_epv->try_pull;
	    return (ORBitSkeleton) _ORBIT_skel_CosEventComm_PullSupplier_try_pull;
	    break;
	 default:
	    break;
   }
   return NULL;
}

static void 
init_local_objref_CosEventComm_PullSupplier(CORBA_Object obj, POA_CosEventComm_PullSupplier * servant)
{
   obj->vepv[CosEventComm_PullSupplier__classid] = servant->vepv->CosEventComm_PullSupplier_epv;
}
void 
POA_CosEventComm_PullSupplier__init(PortableServer_Servant servant,
				    CORBA_Environment * env)
{
   static const PortableServer_ClassInfo class_info = {(ORBit_impl_finder) & get_skel_CosEventComm_PullSupplier, "IDL:omg.org/CosEventComm/PullSupplier:1.0", (ORBit_local_objref_init) & init_local_objref_CosEventComm_PullSupplier};
   PortableServer_ServantBase__init(((PortableServer_ServantBase *) servant), env);
   ORBIT_OBJECT_KEY(((PortableServer_ServantBase *) servant)->_private)->class_info = (PortableServer_ClassInfo *) & class_info;
   if (!CosEventComm_PullSupplier__classid)
      CosEventComm_PullSupplier__classid = ORBit_register_class(&class_info);
}

void 
POA_CosEventComm_PullSupplier__fini(PortableServer_Servant servant,
				    CORBA_Environment * env)
{
   PortableServer_ServantBase__fini(servant, env);
}

static ORBitSkeleton 
get_skel_CosEventComm_PullConsumer(POA_CosEventComm_PullConsumer * servant,
				   GIOPRecvBuffer * _ORBIT_recv_buffer,
				   gpointer * impl)
{
   gchar *opname = _ORBIT_recv_buffer->message.u.request.operation;
   switch (opname[0]) {
	 case 'd':
	    if (strcmp((opname + 1), "isconnect_pull_consumer"))
	       break;
	    *impl = (gpointer) servant->vepv->CosEventComm_PullConsumer_epv->disconnect_pull_consumer;
	    return (ORBitSkeleton) _ORBIT_skel_CosEventComm_PullConsumer_disconnect_pull_consumer;
	    break;
	 default:
	    break;
   }
   return NULL;
}

static void 
init_local_objref_CosEventComm_PullConsumer(CORBA_Object obj, POA_CosEventComm_PullConsumer * servant)
{
   obj->vepv[CosEventComm_PullConsumer__classid] = servant->vepv->CosEventComm_PullConsumer_epv;
}
void 
POA_CosEventComm_PullConsumer__init(PortableServer_Servant servant,
				    CORBA_Environment * env)
{
   static const PortableServer_ClassInfo class_info = {(ORBit_impl_finder) & get_skel_CosEventComm_PullConsumer, "IDL:omg.org/CosEventComm/PullConsumer:1.0", (ORBit_local_objref_init) & init_local_objref_CosEventComm_PullConsumer};
   PortableServer_ServantBase__init(((PortableServer_ServantBase *) servant), env);
   ORBIT_OBJECT_KEY(((PortableServer_ServantBase *) servant)->_private)->class_info = (PortableServer_ClassInfo *) & class_info;
   if (!CosEventComm_PullConsumer__classid)
      CosEventComm_PullConsumer__classid = ORBit_register_class(&class_info);
}

void 
POA_CosEventComm_PullConsumer__fini(PortableServer_Servant servant,
				    CORBA_Environment * env)
{
   PortableServer_ServantBase__fini(servant, env);
}

static ORBitSkeleton 
get_skel_CosEventChannelAdmin_ProxyPushConsumer(POA_CosEventChannelAdmin_ProxyPushConsumer * servant,
					GIOPRecvBuffer * _ORBIT_recv_buffer,
						gpointer * impl)
{
   gchar *opname = _ORBIT_recv_buffer->message.u.request.operation;
   switch (opname[0]) {
	 case 'c':
	    if (strcmp((opname + 1), "onnect_push_supplier"))
	       break;
	    *impl = (gpointer) servant->vepv->CosEventChannelAdmin_ProxyPushConsumer_epv->connect_push_supplier;
	    return (ORBitSkeleton) _ORBIT_skel_CosEventChannelAdmin_ProxyPushConsumer_connect_push_supplier;
	    break;
	 case 'd':
	    if (strcmp((opname + 1), "isconnect_push_consumer"))
	       break;
	    *impl = (gpointer) servant->vepv->CosEventComm_PushConsumer_epv->disconnect_push_consumer;
	    return (ORBitSkeleton) _ORBIT_skel_CosEventComm_PushConsumer_disconnect_push_consumer;
	    break;
	 case 'p':
	    if (strcmp((opname + 1), "ush"))
	       break;
	    *impl = (gpointer) servant->vepv->CosEventComm_PushConsumer_epv->push;
	    return (ORBitSkeleton) _ORBIT_skel_CosEventComm_PushConsumer_push;
	    break;
	 default:
	    break;
   }
   return NULL;
}

static void 
init_local_objref_CosEventChannelAdmin_ProxyPushConsumer(CORBA_Object obj, POA_CosEventChannelAdmin_ProxyPushConsumer * servant)
{
   obj->vepv[CosEventComm_PushConsumer__classid] = servant->vepv->CosEventComm_PushConsumer_epv;
   obj->vepv[CosEventChannelAdmin_ProxyPushConsumer__classid] = servant->vepv->CosEventChannelAdmin_ProxyPushConsumer_epv;
}
void 
POA_CosEventChannelAdmin_ProxyPushConsumer__init(PortableServer_Servant servant,
						 CORBA_Environment * env)
{
   static const PortableServer_ClassInfo class_info = {(ORBit_impl_finder) & get_skel_CosEventChannelAdmin_ProxyPushConsumer, "IDL:omg.org/CosEventChannelAdmin/ProxyPushConsumer:1.0", (ORBit_local_objref_init) & init_local_objref_CosEventChannelAdmin_ProxyPushConsumer};
   PortableServer_ServantBase__init(((PortableServer_ServantBase *) servant), env);
   POA_CosEventComm_PushConsumer__init(servant, env);
   ORBIT_OBJECT_KEY(((PortableServer_ServantBase *) servant)->_private)->class_info = (PortableServer_ClassInfo *) & class_info;
   if (!CosEventChannelAdmin_ProxyPushConsumer__classid)
      CosEventChannelAdmin_ProxyPushConsumer__classid = ORBit_register_class(&class_info);
}

void 
POA_CosEventChannelAdmin_ProxyPushConsumer__fini(PortableServer_Servant servant,
						 CORBA_Environment * env)
{
   POA_CosEventComm_PushConsumer__fini(servant, env);
   PortableServer_ServantBase__fini(servant, env);
}

static ORBitSkeleton 
get_skel_CosEventChannelAdmin_ProxyPullSupplier(POA_CosEventChannelAdmin_ProxyPullSupplier * servant,
					GIOPRecvBuffer * _ORBIT_recv_buffer,
						gpointer * impl)
{
   gchar *opname = _ORBIT_recv_buffer->message.u.request.operation;
   switch (opname[0]) {
	 case 'c':
	    if (strcmp((opname + 1), "onnect_pull_consumer"))
	       break;
	    *impl = (gpointer) servant->vepv->CosEventChannelAdmin_ProxyPullSupplier_epv->connect_pull_consumer;
	    return (ORBitSkeleton) _ORBIT_skel_CosEventChannelAdmin_ProxyPullSupplier_connect_pull_consumer;
	    break;
	 case 'd':
	    if (strcmp((opname + 1), "isconnect_pull_supplier"))
	       break;
	    *impl = (gpointer) servant->vepv->CosEventComm_PullSupplier_epv->disconnect_pull_supplier;
	    return (ORBitSkeleton) _ORBIT_skel_CosEventComm_PullSupplier_disconnect_pull_supplier;
	    break;
	 case 'p':
	    if (strcmp((opname + 1), "ull"))
	       break;
	    *impl = (gpointer) servant->vepv->CosEventComm_PullSupplier_epv->pull;
	    return (ORBitSkeleton) _ORBIT_skel_CosEventComm_PullSupplier_pull;
	    break;
	 case 't':
	    if (strcmp((opname + 1), "ry_pull"))
	       break;
	    *impl = (gpointer) servant->vepv->CosEventComm_PullSupplier_epv->try_pull;
	    return (ORBitSkeleton) _ORBIT_skel_CosEventComm_PullSupplier_try_pull;
	    break;
	 default:
	    break;
   }
   return NULL;
}

static void 
init_local_objref_CosEventChannelAdmin_ProxyPullSupplier(CORBA_Object obj, POA_CosEventChannelAdmin_ProxyPullSupplier * servant)
{
   obj->vepv[CosEventComm_PullSupplier__classid] = servant->vepv->CosEventComm_PullSupplier_epv;
   obj->vepv[CosEventChannelAdmin_ProxyPullSupplier__classid] = servant->vepv->CosEventChannelAdmin_ProxyPullSupplier_epv;
}
void 
POA_CosEventChannelAdmin_ProxyPullSupplier__init(PortableServer_Servant servant,
						 CORBA_Environment * env)
{
   static const PortableServer_ClassInfo class_info = {(ORBit_impl_finder) & get_skel_CosEventChannelAdmin_ProxyPullSupplier, "IDL:omg.org/CosEventChannelAdmin/ProxyPullSupplier:1.0", (ORBit_local_objref_init) & init_local_objref_CosEventChannelAdmin_ProxyPullSupplier};
   PortableServer_ServantBase__init(((PortableServer_ServantBase *) servant), env);
   POA_CosEventComm_PullSupplier__init(servant, env);
   ORBIT_OBJECT_KEY(((PortableServer_ServantBase *) servant)->_private)->class_info = (PortableServer_ClassInfo *) & class_info;
   if (!CosEventChannelAdmin_ProxyPullSupplier__classid)
      CosEventChannelAdmin_ProxyPullSupplier__classid = ORBit_register_class(&class_info);
}

void 
POA_CosEventChannelAdmin_ProxyPullSupplier__fini(PortableServer_Servant servant,
						 CORBA_Environment * env)
{
   POA_CosEventComm_PullSupplier__fini(servant, env);
   PortableServer_ServantBase__fini(servant, env);
}

static ORBitSkeleton 
get_skel_CosEventChannelAdmin_ProxyPullConsumer(POA_CosEventChannelAdmin_ProxyPullConsumer * servant,
					GIOPRecvBuffer * _ORBIT_recv_buffer,
						gpointer * impl)
{
   gchar *opname = _ORBIT_recv_buffer->message.u.request.operation;
   switch (opname[0]) {
	 case 'c':
	    if (strcmp((opname + 1), "onnect_pull_supplier"))
	       break;
	    *impl = (gpointer) servant->vepv->CosEventChannelAdmin_ProxyPullConsumer_epv->connect_pull_supplier;
	    return (ORBitSkeleton) _ORBIT_skel_CosEventChannelAdmin_ProxyPullConsumer_connect_pull_supplier;
	    break;
	 case 'd':
	    if (strcmp((opname + 1), "isconnect_pull_consumer"))
	       break;
	    *impl = (gpointer) servant->vepv->CosEventComm_PullConsumer_epv->disconnect_pull_consumer;
	    return (ORBitSkeleton) _ORBIT_skel_CosEventComm_PullConsumer_disconnect_pull_consumer;
	    break;
	 default:
	    break;
   }
   return NULL;
}

static void 
init_local_objref_CosEventChannelAdmin_ProxyPullConsumer(CORBA_Object obj, POA_CosEventChannelAdmin_ProxyPullConsumer * servant)
{
   obj->vepv[CosEventComm_PullConsumer__classid] = servant->vepv->CosEventComm_PullConsumer_epv;
   obj->vepv[CosEventChannelAdmin_ProxyPullConsumer__classid] = servant->vepv->CosEventChannelAdmin_ProxyPullConsumer_epv;
}
void 
POA_CosEventChannelAdmin_ProxyPullConsumer__init(PortableServer_Servant servant,
						 CORBA_Environment * env)
{
   static const PortableServer_ClassInfo class_info = {(ORBit_impl_finder) & get_skel_CosEventChannelAdmin_ProxyPullConsumer, "IDL:omg.org/CosEventChannelAdmin/ProxyPullConsumer:1.0", (ORBit_local_objref_init) & init_local_objref_CosEventChannelAdmin_ProxyPullConsumer};
   PortableServer_ServantBase__init(((PortableServer_ServantBase *) servant), env);
   POA_CosEventComm_PullConsumer__init(servant, env);
   ORBIT_OBJECT_KEY(((PortableServer_ServantBase *) servant)->_private)->class_info = (PortableServer_ClassInfo *) & class_info;
   if (!CosEventChannelAdmin_ProxyPullConsumer__classid)
      CosEventChannelAdmin_ProxyPullConsumer__classid = ORBit_register_class(&class_info);
}

void 
POA_CosEventChannelAdmin_ProxyPullConsumer__fini(PortableServer_Servant servant,
						 CORBA_Environment * env)
{
   POA_CosEventComm_PullConsumer__fini(servant, env);
   PortableServer_ServantBase__fini(servant, env);
}

static ORBitSkeleton 
get_skel_CosEventChannelAdmin_ProxyPushSupplier(POA_CosEventChannelAdmin_ProxyPushSupplier * servant,
					GIOPRecvBuffer * _ORBIT_recv_buffer,
						gpointer * impl)
{
   gchar *opname = _ORBIT_recv_buffer->message.u.request.operation;
   switch (opname[0]) {
	 case 'c':
	    if (strcmp((opname + 1), "onnect_push_consumer"))
	       break;
	    *impl = (gpointer) servant->vepv->CosEventChannelAdmin_ProxyPushSupplier_epv->connect_push_consumer;
	    return (ORBitSkeleton) _ORBIT_skel_CosEventChannelAdmin_ProxyPushSupplier_connect_push_consumer;
	    break;
	 case 'd':
	    if (strcmp((opname + 1), "isconnect_push_supplier"))
	       break;
	    *impl = (gpointer) servant->vepv->CosEventComm_PushSupplier_epv->disconnect_push_supplier;
	    return (ORBitSkeleton) _ORBIT_skel_CosEventComm_PushSupplier_disconnect_push_supplier;
	    break;
	 default:
	    break;
   }
   return NULL;
}

static void 
init_local_objref_CosEventChannelAdmin_ProxyPushSupplier(CORBA_Object obj, POA_CosEventChannelAdmin_ProxyPushSupplier * servant)
{
   obj->vepv[CosEventComm_PushSupplier__classid] = servant->vepv->CosEventComm_PushSupplier_epv;
   obj->vepv[CosEventChannelAdmin_ProxyPushSupplier__classid] = servant->vepv->CosEventChannelAdmin_ProxyPushSupplier_epv;
}
void 
POA_CosEventChannelAdmin_ProxyPushSupplier__init(PortableServer_Servant servant,
						 CORBA_Environment * env)
{
   static const PortableServer_ClassInfo class_info = {(ORBit_impl_finder) & get_skel_CosEventChannelAdmin_ProxyPushSupplier, "IDL:omg.org/CosEventChannelAdmin/ProxyPushSupplier:1.0", (ORBit_local_objref_init) & init_local_objref_CosEventChannelAdmin_ProxyPushSupplier};
   PortableServer_ServantBase__init(((PortableServer_ServantBase *) servant), env);
   POA_CosEventComm_PushSupplier__init(servant, env);
   ORBIT_OBJECT_KEY(((PortableServer_ServantBase *) servant)->_private)->class_info = (PortableServer_ClassInfo *) & class_info;
   if (!CosEventChannelAdmin_ProxyPushSupplier__classid)
      CosEventChannelAdmin_ProxyPushSupplier__classid = ORBit_register_class(&class_info);
}

void 
POA_CosEventChannelAdmin_ProxyPushSupplier__fini(PortableServer_Servant servant,
						 CORBA_Environment * env)
{
   POA_CosEventComm_PushSupplier__fini(servant, env);
   PortableServer_ServantBase__fini(servant, env);
}

static ORBitSkeleton 
get_skel_CosEventChannelAdmin_ConsumerAdmin(POA_CosEventChannelAdmin_ConsumerAdmin * servant,
					GIOPRecvBuffer * _ORBIT_recv_buffer,
					    gpointer * impl)
{
   gchar *opname = _ORBIT_recv_buffer->message.u.request.operation;
   switch (opname[0]) {
	 case 'o':
	    switch (opname[1]) {
		  case 'b':
		     switch (opname[2]) {
			   case 't':
			      switch (opname[3]) {
				    case 'a':
				       switch (opname[4]) {
					     case 'i':
						switch (opname[5]) {
						      case 'n':
							 switch (opname[6]) {
							       case '_':
								  switch (opname[7]) {
									case 'p':
									   switch (opname[8]) {
										 case 'u':
										    switch (opname[9]) {
											  case 'l':
											     if (strcmp((opname + 10), "l_supplier"))
												break;
											     *impl = (gpointer) servant->vepv->CosEventChannelAdmin_ConsumerAdmin_epv->obtain_pull_supplier;
											     return (ORBitSkeleton) _ORBIT_skel_CosEventChannelAdmin_ConsumerAdmin_obtain_pull_supplier;
											     break;
											  case 's':
											     if (strcmp((opname + 10), "h_supplier"))
												break;
											     *impl = (gpointer) servant->vepv->CosEventChannelAdmin_ConsumerAdmin_epv->obtain_push_supplier;
											     return (ORBitSkeleton) _ORBIT_skel_CosEventChannelAdmin_ConsumerAdmin_obtain_push_supplier;
											     break;
											  default:
											     break;
										    }
										    break;
										 default:
										    break;
									   }
									   break;
									default:
									   break;
								  }
								  break;
							       default:
								  break;
							 }
							 break;
						      default:
							 break;
						}
						break;
					     default:
						break;
				       }
				       break;
				    default:
				       break;
			      }
			      break;
			   default:
			      break;
		     }
		     break;
		  default:
		     break;
	    }
	    break;
	 default:
	    break;
   }
   return NULL;
}

static void 
init_local_objref_CosEventChannelAdmin_ConsumerAdmin(CORBA_Object obj, POA_CosEventChannelAdmin_ConsumerAdmin * servant)
{
   obj->vepv[CosEventChannelAdmin_ConsumerAdmin__classid] = servant->vepv->CosEventChannelAdmin_ConsumerAdmin_epv;
}
void 
POA_CosEventChannelAdmin_ConsumerAdmin__init(PortableServer_Servant servant,
					     CORBA_Environment * env)
{
   static const PortableServer_ClassInfo class_info = {(ORBit_impl_finder) & get_skel_CosEventChannelAdmin_ConsumerAdmin, "IDL:omg.org/CosEventChannelAdmin/ConsumerAdmin:1.0", (ORBit_local_objref_init) & init_local_objref_CosEventChannelAdmin_ConsumerAdmin};
   PortableServer_ServantBase__init(((PortableServer_ServantBase *) servant), env);
   ORBIT_OBJECT_KEY(((PortableServer_ServantBase *) servant)->_private)->class_info = (PortableServer_ClassInfo *) & class_info;
   if (!CosEventChannelAdmin_ConsumerAdmin__classid)
      CosEventChannelAdmin_ConsumerAdmin__classid = ORBit_register_class(&class_info);
}

void 
POA_CosEventChannelAdmin_ConsumerAdmin__fini(PortableServer_Servant servant,
					     CORBA_Environment * env)
{
   PortableServer_ServantBase__fini(servant, env);
}

static ORBitSkeleton 
get_skel_CosEventChannelAdmin_SupplierAdmin(POA_CosEventChannelAdmin_SupplierAdmin * servant,
					GIOPRecvBuffer * _ORBIT_recv_buffer,
					    gpointer * impl)
{
   gchar *opname = _ORBIT_recv_buffer->message.u.request.operation;
   switch (opname[0]) {
	 case 'o':
	    switch (opname[1]) {
		  case 'b':
		     switch (opname[2]) {
			   case 't':
			      switch (opname[3]) {
				    case 'a':
				       switch (opname[4]) {
					     case 'i':
						switch (opname[5]) {
						      case 'n':
							 switch (opname[6]) {
							       case '_':
								  switch (opname[7]) {
									case 'p':
									   switch (opname[8]) {
										 case 'u':
										    switch (opname[9]) {
											  case 'l':
											     if (strcmp((opname + 10), "l_consumer"))
												break;
											     *impl = (gpointer) servant->vepv->CosEventChannelAdmin_SupplierAdmin_epv->obtain_pull_consumer;
											     return (ORBitSkeleton) _ORBIT_skel_CosEventChannelAdmin_SupplierAdmin_obtain_pull_consumer;
											     break;
											  case 's':
											     if (strcmp((opname + 10), "h_consumer"))
												break;
											     *impl = (gpointer) servant->vepv->CosEventChannelAdmin_SupplierAdmin_epv->obtain_push_consumer;
											     return (ORBitSkeleton) _ORBIT_skel_CosEventChannelAdmin_SupplierAdmin_obtain_push_consumer;
											     break;
											  default:
											     break;
										    }
										    break;
										 default:
										    break;
									   }
									   break;
									default:
									   break;
								  }
								  break;
							       default:
								  break;
							 }
							 break;
						      default:
							 break;
						}
						break;
					     default:
						break;
				       }
				       break;
				    default:
				       break;
			      }
			      break;
			   default:
			      break;
		     }
		     break;
		  default:
		     break;
	    }
	    break;
	 default:
	    break;
   }
   return NULL;
}

static void 
init_local_objref_CosEventChannelAdmin_SupplierAdmin(CORBA_Object obj, POA_CosEventChannelAdmin_SupplierAdmin * servant)
{
   obj->vepv[CosEventChannelAdmin_SupplierAdmin__classid] = servant->vepv->CosEventChannelAdmin_SupplierAdmin_epv;
}
void 
POA_CosEventChannelAdmin_SupplierAdmin__init(PortableServer_Servant servant,
					     CORBA_Environment * env)
{
   static const PortableServer_ClassInfo class_info = {(ORBit_impl_finder) & get_skel_CosEventChannelAdmin_SupplierAdmin, "IDL:omg.org/CosEventChannelAdmin/SupplierAdmin:1.0", (ORBit_local_objref_init) & init_local_objref_CosEventChannelAdmin_SupplierAdmin};
   PortableServer_ServantBase__init(((PortableServer_ServantBase *) servant), env);
   ORBIT_OBJECT_KEY(((PortableServer_ServantBase *) servant)->_private)->class_info = (PortableServer_ClassInfo *) & class_info;
   if (!CosEventChannelAdmin_SupplierAdmin__classid)
      CosEventChannelAdmin_SupplierAdmin__classid = ORBit_register_class(&class_info);
}

void 
POA_CosEventChannelAdmin_SupplierAdmin__fini(PortableServer_Servant servant,
					     CORBA_Environment * env)
{
   PortableServer_ServantBase__fini(servant, env);
}

static ORBitSkeleton 
get_skel_CosEventChannelAdmin_EventChannel(POA_CosEventChannelAdmin_EventChannel * servant,
					GIOPRecvBuffer * _ORBIT_recv_buffer,
					   gpointer * impl)
{
   gchar *opname = _ORBIT_recv_buffer->message.u.request.operation;
   switch (opname[0]) {
	 case 'd':
	    if (strcmp((opname + 1), "estroy"))
	       break;
	    *impl = (gpointer) servant->vepv->CosEventChannelAdmin_EventChannel_epv->destroy;
	    return (ORBitSkeleton) _ORBIT_skel_CosEventChannelAdmin_EventChannel_destroy;
	    break;
	 case 'f':
	    switch (opname[1]) {
		  case 'o':
		     switch (opname[2]) {
			   case 'r':
			      switch (opname[3]) {
				    case '_':
				       switch (opname[4]) {
					     case 'c':
						if (strcmp((opname + 5), "onsumers"))
						   break;
						*impl = (gpointer) servant->vepv->CosEventChannelAdmin_EventChannel_epv->for_consumers;
						return (ORBitSkeleton) _ORBIT_skel_CosEventChannelAdmin_EventChannel_for_consumers;
						break;
					     case 's':
						if (strcmp((opname + 5), "uppliers"))
						   break;
						*impl = (gpointer) servant->vepv->CosEventChannelAdmin_EventChannel_epv->for_suppliers;
						return (ORBitSkeleton) _ORBIT_skel_CosEventChannelAdmin_EventChannel_for_suppliers;
						break;
					     default:
						break;
				       }
				       break;
				    default:
				       break;
			      }
			      break;
			   default:
			      break;
		     }
		     break;
		  default:
		     break;
	    }
	    break;
	 default:
	    break;
   }
   return NULL;
}

static void 
init_local_objref_CosEventChannelAdmin_EventChannel(CORBA_Object obj, POA_CosEventChannelAdmin_EventChannel * servant)
{
   obj->vepv[CosEventChannelAdmin_EventChannel__classid] = servant->vepv->CosEventChannelAdmin_EventChannel_epv;
}
void 
POA_CosEventChannelAdmin_EventChannel__init(PortableServer_Servant servant,
					    CORBA_Environment * env)
{
   static const PortableServer_ClassInfo class_info = {(ORBit_impl_finder) & get_skel_CosEventChannelAdmin_EventChannel, "IDL:omg.org/CosEventChannelAdmin/EventChannel:1.0", (ORBit_local_objref_init) & init_local_objref_CosEventChannelAdmin_EventChannel};
   PortableServer_ServantBase__init(((PortableServer_ServantBase *) servant), env);
   ORBIT_OBJECT_KEY(((PortableServer_ServantBase *) servant)->_private)->class_info = (PortableServer_ClassInfo *) & class_info;
   if (!CosEventChannelAdmin_EventChannel__classid)
      CosEventChannelAdmin_EventChannel__classid = ORBit_register_class(&class_info);
}

void 
POA_CosEventChannelAdmin_EventChannel__fini(PortableServer_Servant servant,
					    CORBA_Environment * env)
{
   PortableServer_ServantBase__fini(servant, env);
}

static ORBitSkeleton 
get_skel_CosEventChannelAdmin_EventChannelFactory(POA_CosEventChannelAdmin_EventChannelFactory * servant,
					GIOPRecvBuffer * _ORBIT_recv_buffer,
						  gpointer * impl)
{
   gchar *opname = _ORBIT_recv_buffer->message.u.request.operation;
   switch (opname[0]) {
	 case 'n':
	    if (strcmp((opname + 1), "ew_event_channel"))
	       break;
	    *impl = (gpointer) servant->vepv->CosEventChannelAdmin_EventChannelFactory_epv->new_event_channel;
	    return (ORBitSkeleton) _ORBIT_skel_CosEventChannelAdmin_EventChannelFactory_new_event_channel;
	    break;
	 default:
	    break;
   }
   return NULL;
}

static void 
init_local_objref_CosEventChannelAdmin_EventChannelFactory(CORBA_Object obj, POA_CosEventChannelAdmin_EventChannelFactory * servant)
{
   obj->vepv[CosEventChannelAdmin_EventChannelFactory__classid] = servant->vepv->CosEventChannelAdmin_EventChannelFactory_epv;
}
void 
POA_CosEventChannelAdmin_EventChannelFactory__init(PortableServer_Servant servant,
						   CORBA_Environment * env)
{
   static const PortableServer_ClassInfo class_info = {(ORBit_impl_finder) & get_skel_CosEventChannelAdmin_EventChannelFactory, "IDL:omg.org/CosEventChannelAdmin/EventChannelFactory:1.0", (ORBit_local_objref_init) & init_local_objref_CosEventChannelAdmin_EventChannelFactory};
   PortableServer_ServantBase__init(((PortableServer_ServantBase *) servant), env);
   ORBIT_OBJECT_KEY(((PortableServer_ServantBase *) servant)->_private)->class_info = (PortableServer_ClassInfo *) & class_info;
   if (!CosEventChannelAdmin_EventChannelFactory__classid)
      CosEventChannelAdmin_EventChannelFactory__classid = ORBit_register_class(&class_info);
}

void 
POA_CosEventChannelAdmin_EventChannelFactory__fini(PortableServer_Servant servant,
						   CORBA_Environment * env)
{
   PortableServer_ServantBase__fini(servant, env);
}
