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

#include <glib.h>
#define ORBIT_IDL_SERIAL 9
#include <orb/orbit.h>

#ifndef oaf_factory_H
#define oaf_factory_H 1
#ifdef __cplusplus
extern "C"
{
#endif				/* __cplusplus */

/** typedefs **/
#if !defined(ORBIT_DECL_CORBA_sequence_CORBA_string) && !defined(_CORBA_sequence_CORBA_string_defined)
#define ORBIT_DECL_CORBA_sequence_CORBA_string 1
#define _CORBA_sequence_CORBA_string_defined 1
#define ORBIT_IMPL_CORBA_sequence_CORBA_string_0 'o'
#define ORBIT_IMPL_CORBA_sequence_CORBA_string_1 'a'
#define ORBIT_IMPL_CORBA_sequence_CORBA_string_2 'f'
#define ORBIT_IMPL_CORBA_sequence_CORBA_string_3 '_'
#define ORBIT_IMPL_CORBA_sequence_CORBA_string_4 'f'
#define ORBIT_IMPL_CORBA_sequence_CORBA_string_5 'a'
#define ORBIT_IMPL_CORBA_sequence_CORBA_string_6 'c'
#define ORBIT_IMPL_CORBA_sequence_CORBA_string_7 't'
#define ORBIT_IMPL_CORBA_sequence_CORBA_string_8 'o'
#define ORBIT_IMPL_CORBA_sequence_CORBA_string_9 'r'
#define ORBIT_IMPL_CORBA_sequence_CORBA_string_10 'y'
   typedef struct
   {
      CORBA_unsigned_long _maximum,
       _length;
      CORBA_char **_buffer;
      CORBA_boolean _release;
   }
   CORBA_sequence_CORBA_string;
   CORBA_char **CORBA_sequence_CORBA_string_allocbuf(CORBA_unsigned_long len);
#endif
#if !defined(TC_IMPL_TC_CORBA_sequence_CORBA_string_0)
#define TC_IMPL_TC_CORBA_sequence_CORBA_string_0 'o'
#define TC_IMPL_TC_CORBA_sequence_CORBA_string_1 'a'
#define TC_IMPL_TC_CORBA_sequence_CORBA_string_2 'f'
#define TC_IMPL_TC_CORBA_sequence_CORBA_string_3 '_'
#define TC_IMPL_TC_CORBA_sequence_CORBA_string_4 'f'
#define TC_IMPL_TC_CORBA_sequence_CORBA_string_5 'a'
#define TC_IMPL_TC_CORBA_sequence_CORBA_string_6 'c'
#define TC_IMPL_TC_CORBA_sequence_CORBA_string_7 't'
#define TC_IMPL_TC_CORBA_sequence_CORBA_string_8 'o'
#define TC_IMPL_TC_CORBA_sequence_CORBA_string_9 'r'
#define TC_IMPL_TC_CORBA_sequence_CORBA_string_10 'y'
   extern const struct CORBA_TypeCode_struct
      TC_CORBA_sequence_CORBA_string_struct;
#define TC_CORBA_sequence_CORBA_string ((CORBA_TypeCode)&TC_CORBA_sequence_CORBA_string_struct)
#endif
   extern CORBA_sequence_CORBA_string
      *CORBA_sequence_CORBA_string__alloc(void);
   extern gpointer CORBA_sequence_CORBA_string__free(gpointer mem, gpointer dat, CORBA_boolean free_strings);	/* ORBit internal use */
#if !defined(_GNOME_stringlist_defined)
#define _GNOME_stringlist_defined 1
   typedef CORBA_sequence_CORBA_string GNOME_stringlist;
#if !defined(TC_IMPL_TC_GNOME_stringlist_0)
#define TC_IMPL_TC_GNOME_stringlist_0 'o'
#define TC_IMPL_TC_GNOME_stringlist_1 'a'
#define TC_IMPL_TC_GNOME_stringlist_2 'f'
#define TC_IMPL_TC_GNOME_stringlist_3 '_'
#define TC_IMPL_TC_GNOME_stringlist_4 'f'
#define TC_IMPL_TC_GNOME_stringlist_5 'a'
#define TC_IMPL_TC_GNOME_stringlist_6 'c'
#define TC_IMPL_TC_GNOME_stringlist_7 't'
#define TC_IMPL_TC_GNOME_stringlist_8 'o'
#define TC_IMPL_TC_GNOME_stringlist_9 'r'
#define TC_IMPL_TC_GNOME_stringlist_10 'y'
   extern const struct CORBA_TypeCode_struct TC_GNOME_stringlist_struct;
#define TC_GNOME_stringlist ((CORBA_TypeCode)&TC_GNOME_stringlist_struct)
#endif
   extern GNOME_stringlist *GNOME_stringlist__alloc(void);
   extern gpointer GNOME_stringlist__free(gpointer mem, gpointer dat, CORBA_boolean free_strings);	/* ORBit internal use */
#endif
#if !defined(ORBIT_DECL_GNOME_ObjectFactory) && !defined(_GNOME_ObjectFactory_defined)
#define ORBIT_DECL_GNOME_ObjectFactory 1
#define _GNOME_ObjectFactory_defined 1
#define GNOME_ObjectFactory__free CORBA_Object__free
   typedef CORBA_Object GNOME_ObjectFactory;
   extern CORBA_unsigned_long GNOME_ObjectFactory__classid;
#if !defined(TC_IMPL_TC_GNOME_ObjectFactory_0)
#define TC_IMPL_TC_GNOME_ObjectFactory_0 'o'
#define TC_IMPL_TC_GNOME_ObjectFactory_1 'a'
#define TC_IMPL_TC_GNOME_ObjectFactory_2 'f'
#define TC_IMPL_TC_GNOME_ObjectFactory_3 '_'
#define TC_IMPL_TC_GNOME_ObjectFactory_4 'f'
#define TC_IMPL_TC_GNOME_ObjectFactory_5 'a'
#define TC_IMPL_TC_GNOME_ObjectFactory_6 'c'
#define TC_IMPL_TC_GNOME_ObjectFactory_7 't'
#define TC_IMPL_TC_GNOME_ObjectFactory_8 'o'
#define TC_IMPL_TC_GNOME_ObjectFactory_9 'r'
#define TC_IMPL_TC_GNOME_ObjectFactory_10 'y'
   extern const struct CORBA_TypeCode_struct TC_GNOME_ObjectFactory_struct;
#define TC_GNOME_ObjectFactory ((CORBA_TypeCode)&TC_GNOME_ObjectFactory_struct)
#endif
#endif
#define ex_GNOME_ObjectFactory_CannotActivate "IDL:GNOME/ObjectFactory/CannotActivate:1.0"
   void _ORBIT_GNOME_ObjectFactory_CannotActivate_demarshal(GIOPRecvBuffer *
							    _ORBIT_recv_buffer,
							    CORBA_Environment
							    * ev);
   void _ORBIT_GNOME_ObjectFactory_CannotActivate_marshal(GIOPSendBuffer *
							  _ORBIT_send_buffer,
							  CORBA_Environment *
							  ev);
#if !defined(_GNOME_ObjectFactory_CannotActivate_defined)
#define _GNOME_ObjectFactory_CannotActivate_defined 1
   typedef struct
   {
      int dummy;
   }
   GNOME_ObjectFactory_CannotActivate;

#if !defined(TC_IMPL_TC_GNOME_ObjectFactory_CannotActivate_0)
#define TC_IMPL_TC_GNOME_ObjectFactory_CannotActivate_0 'o'
#define TC_IMPL_TC_GNOME_ObjectFactory_CannotActivate_1 'a'
#define TC_IMPL_TC_GNOME_ObjectFactory_CannotActivate_2 'f'
#define TC_IMPL_TC_GNOME_ObjectFactory_CannotActivate_3 '_'
#define TC_IMPL_TC_GNOME_ObjectFactory_CannotActivate_4 'f'
#define TC_IMPL_TC_GNOME_ObjectFactory_CannotActivate_5 'a'
#define TC_IMPL_TC_GNOME_ObjectFactory_CannotActivate_6 'c'
#define TC_IMPL_TC_GNOME_ObjectFactory_CannotActivate_7 't'
#define TC_IMPL_TC_GNOME_ObjectFactory_CannotActivate_8 'o'
#define TC_IMPL_TC_GNOME_ObjectFactory_CannotActivate_9 'r'
#define TC_IMPL_TC_GNOME_ObjectFactory_CannotActivate_10 'y'
   extern const struct CORBA_TypeCode_struct
      TC_GNOME_ObjectFactory_CannotActivate_struct;
#define TC_GNOME_ObjectFactory_CannotActivate ((CORBA_TypeCode)&TC_GNOME_ObjectFactory_CannotActivate_struct)
#endif
#define GNOME_ObjectFactory_CannotActivate__alloc() NULL
   extern gpointer GNOME_ObjectFactory_CannotActivate__free(gpointer mem, gpointer dat, CORBA_boolean free_strings);	/* ORBit internal use */
#endif

/** POA structures **/
   typedef struct
   {
      void *_private;
       CORBA_boolean(*manufactures) (PortableServer_Servant _servant,
				     const CORBA_char * obj_oaf_id,
				     CORBA_Environment * ev);
       CORBA_Object(*create_object) (PortableServer_Servant _servant,
				     const CORBA_char * oaf_id,
				     const GNOME_stringlist * params,
				     CORBA_Environment * ev);
      void (*ref) (PortableServer_Servant _servant, CORBA_Environment * ev);
      void (*unref) (PortableServer_Servant _servant, CORBA_Environment * ev);
   }
   POA_GNOME_ObjectFactory__epv;
   typedef struct
   {
      PortableServer_ServantBase__epv *_base_epv;
      POA_GNOME_ObjectFactory__epv *GNOME_ObjectFactory_epv;
   }
   POA_GNOME_ObjectFactory__vepv;
   typedef struct
   {
      void *_private;
      POA_GNOME_ObjectFactory__vepv *vepv;
   }
   POA_GNOME_ObjectFactory;
   extern void POA_GNOME_ObjectFactory__init(PortableServer_Servant servant,
					     CORBA_Environment * ev);
   extern void POA_GNOME_ObjectFactory__fini(PortableServer_Servant servant,
					     CORBA_Environment * ev);

/** prototypes **/
   CORBA_boolean GNOME_ObjectFactory_manufactures(GNOME_ObjectFactory _obj,
						  const CORBA_char *
						  obj_oaf_id,
						  CORBA_Environment * ev);
   CORBA_Object GNOME_ObjectFactory_create_object(GNOME_ObjectFactory _obj,
						  const CORBA_char * oaf_id,
						  const GNOME_stringlist *
						  params,
						  CORBA_Environment * ev);
   void GNOME_ObjectFactory_ref(GNOME_ObjectFactory _obj,
				CORBA_Environment * ev);
   void GNOME_ObjectFactory_unref(GNOME_ObjectFactory _obj,
				  CORBA_Environment * ev);

   void _ORBIT_skel_GNOME_ObjectFactory_manufactures(POA_GNOME_ObjectFactory *
						     _ORBIT_servant,
						     GIOPRecvBuffer *
						     _ORBIT_recv_buffer,
						     CORBA_Environment * ev,
						     CORBA_boolean
						     (*_impl_manufactures)
						     (PortableServer_Servant
						      _servant,
						      const CORBA_char *
						      obj_oaf_id,
						      CORBA_Environment *
						      ev));
   void _ORBIT_skel_GNOME_ObjectFactory_create_object(POA_GNOME_ObjectFactory
						      * _ORBIT_servant,
						      GIOPRecvBuffer *
						      _ORBIT_recv_buffer,
						      CORBA_Environment * ev,
						      CORBA_Object
						      (*_impl_create_object)
						      (PortableServer_Servant
						       _servant,
						       const CORBA_char *
						       oaf_id,
						       const GNOME_stringlist
						       * params,
						       CORBA_Environment *
						       ev));
   void _ORBIT_skel_GNOME_ObjectFactory_ref(POA_GNOME_ObjectFactory *
					    _ORBIT_servant,
					    GIOPRecvBuffer *
					    _ORBIT_recv_buffer,
					    CORBA_Environment * ev,
					    void (*_impl_ref)
					    (PortableServer_Servant _servant,
					     CORBA_Environment * ev));
   void _ORBIT_skel_GNOME_ObjectFactory_unref(POA_GNOME_ObjectFactory *
					      _ORBIT_servant,
					      GIOPRecvBuffer *
					      _ORBIT_recv_buffer,
					      CORBA_Environment * ev,
					      void (*_impl_unref)
					      (PortableServer_Servant
					       _servant,
					       CORBA_Environment * ev));
#ifdef __cplusplus
}
#endif				/* __cplusplus */

#endif
#undef ORBIT_IDL_SERIAL
