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

#ifndef MateComponent_GenericFactory_H
#define MateComponent_GenericFactory_H 1
#include <glib.h>
#define MATECORBA_IDL_SERIAL 20
#include <matecorba/matecorba-types.h>

#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */


/** typedefs **/
#include <matecomponent-activation/MateComponent_Unknown.h>
#include <matecomponent-activation/MateComponent_Activation_types.h>
#if !defined(MATECORBA_DECL_MateComponent_GenericFactory) && !defined(_MateComponent_GenericFactory_defined)
#define MATECORBA_DECL_MateComponent_GenericFactory 1
#define _MateComponent_GenericFactory_defined 1
#define MateComponent_GenericFactory__freekids CORBA_Object__freekids
typedef CORBA_Object MateComponent_GenericFactory;
extern CORBA_unsigned_long MateComponent_GenericFactory__classid;
#if !defined(TC_IMPL_TC_MateComponent_GenericFactory_0)
#define TC_IMPL_TC_MateComponent_GenericFactory_0 'M'
#define TC_IMPL_TC_MateComponent_GenericFactory_1 'a'
#define TC_IMPL_TC_MateComponent_GenericFactory_2 't'
#define TC_IMPL_TC_MateComponent_GenericFactory_3 'e'
#define TC_IMPL_TC_MateComponent_GenericFactory_4 'C'
#define TC_IMPL_TC_MateComponent_GenericFactory_5 'o'
#define TC_IMPL_TC_MateComponent_GenericFactory_6 'm'
#define TC_IMPL_TC_MateComponent_GenericFactory_7 'p'
#define TC_IMPL_TC_MateComponent_GenericFactory_8 'o'
#define TC_IMPL_TC_MateComponent_GenericFactory_9 'n'
#define TC_IMPL_TC_MateComponent_GenericFactory_10 'e'
#define TC_IMPL_TC_MateComponent_GenericFactory_11 'n'
#define TC_IMPL_TC_MateComponent_GenericFactory_12 't'
#define TC_IMPL_TC_MateComponent_GenericFactory_13 '_'
#define TC_IMPL_TC_MateComponent_GenericFactory_14 'G'
#define TC_IMPL_TC_MateComponent_GenericFactory_15 'e'
#define TC_IMPL_TC_MateComponent_GenericFactory_16 'n'
#define TC_IMPL_TC_MateComponent_GenericFactory_17 'e'
#define TC_IMPL_TC_MateComponent_GenericFactory_18 'r'
#define TC_IMPL_TC_MateComponent_GenericFactory_19 'i'
#define TC_IMPL_TC_MateComponent_GenericFactory_20 'c'
#define TC_IMPL_TC_MateComponent_GenericFactory_21 'F'
#define TC_IMPL_TC_MateComponent_GenericFactory_22 'a'
#define TC_IMPL_TC_MateComponent_GenericFactory_23 'c'
#define TC_IMPL_TC_MateComponent_GenericFactory_24 't'
#define TC_IMPL_TC_MateComponent_GenericFactory_25 'o'
#define TC_IMPL_TC_MateComponent_GenericFactory_26 'r'
#define TC_IMPL_TC_MateComponent_GenericFactory_27 'y'
#ifdef MATECORBA_IDL_C_IMODULE_MateComponent_GenericFactory
static
#else
extern
#endif
MATECORBA2_MAYBE_CONST struct CORBA_TypeCode_struct TC_MateComponent_GenericFactory_struct;
#define TC_MateComponent_GenericFactory ((CORBA_TypeCode)&TC_MateComponent_GenericFactory_struct)
#endif
#endif
#undef ex_MateComponent_GenericFactory_CannotActivate
#define ex_MateComponent_GenericFactory_CannotActivate "IDL:MateComponent/GenericFactory/CannotActivate:1.0"
#if !defined(_MateComponent_GenericFactory_CannotActivate_defined)
#define _MateComponent_GenericFactory_CannotActivate_defined 1
typedef struct MateComponent_GenericFactory_CannotActivate_type MateComponent_GenericFactory_CannotActivate;
struct MateComponent_GenericFactory_CannotActivate_type {
int dummy;
};

#if !defined(TC_IMPL_TC_MateComponent_GenericFactory_CannotActivate_0)
#define TC_IMPL_TC_MateComponent_GenericFactory_CannotActivate_0 'M'
#define TC_IMPL_TC_MateComponent_GenericFactory_CannotActivate_1 'a'
#define TC_IMPL_TC_MateComponent_GenericFactory_CannotActivate_2 't'
#define TC_IMPL_TC_MateComponent_GenericFactory_CannotActivate_3 'e'
#define TC_IMPL_TC_MateComponent_GenericFactory_CannotActivate_4 'C'
#define TC_IMPL_TC_MateComponent_GenericFactory_CannotActivate_5 'o'
#define TC_IMPL_TC_MateComponent_GenericFactory_CannotActivate_6 'm'
#define TC_IMPL_TC_MateComponent_GenericFactory_CannotActivate_7 'p'
#define TC_IMPL_TC_MateComponent_GenericFactory_CannotActivate_8 'o'
#define TC_IMPL_TC_MateComponent_GenericFactory_CannotActivate_9 'n'
#define TC_IMPL_TC_MateComponent_GenericFactory_CannotActivate_10 'e'
#define TC_IMPL_TC_MateComponent_GenericFactory_CannotActivate_11 'n'
#define TC_IMPL_TC_MateComponent_GenericFactory_CannotActivate_12 't'
#define TC_IMPL_TC_MateComponent_GenericFactory_CannotActivate_13 '_'
#define TC_IMPL_TC_MateComponent_GenericFactory_CannotActivate_14 'G'
#define TC_IMPL_TC_MateComponent_GenericFactory_CannotActivate_15 'e'
#define TC_IMPL_TC_MateComponent_GenericFactory_CannotActivate_16 'n'
#define TC_IMPL_TC_MateComponent_GenericFactory_CannotActivate_17 'e'
#define TC_IMPL_TC_MateComponent_GenericFactory_CannotActivate_18 'r'
#define TC_IMPL_TC_MateComponent_GenericFactory_CannotActivate_19 'i'
#define TC_IMPL_TC_MateComponent_GenericFactory_CannotActivate_20 'c'
#define TC_IMPL_TC_MateComponent_GenericFactory_CannotActivate_21 'F'
#define TC_IMPL_TC_MateComponent_GenericFactory_CannotActivate_22 'a'
#define TC_IMPL_TC_MateComponent_GenericFactory_CannotActivate_23 'c'
#define TC_IMPL_TC_MateComponent_GenericFactory_CannotActivate_24 't'
#define TC_IMPL_TC_MateComponent_GenericFactory_CannotActivate_25 'o'
#define TC_IMPL_TC_MateComponent_GenericFactory_CannotActivate_26 'r'
#define TC_IMPL_TC_MateComponent_GenericFactory_CannotActivate_27 'y'
#ifdef MATECORBA_IDL_C_IMODULE_MateComponent_GenericFactory
static
#else
extern
#endif
MATECORBA2_MAYBE_CONST struct CORBA_TypeCode_struct TC_MateComponent_GenericFactory_CannotActivate_struct;
#define TC_MateComponent_GenericFactory_CannotActivate ((CORBA_TypeCode)&TC_MateComponent_GenericFactory_CannotActivate_struct)
#endif
#define MateComponent_GenericFactory_CannotActivate__alloc() ((MateComponent_GenericFactory_CannotActivate *)MateCORBA_small_alloc (TC_MateComponent_GenericFactory_CannotActivate))
#define MateComponent_GenericFactory_CannotActivate__freekids(m,d) MateCORBA_small_freekids (TC_MateComponent_GenericFactory_CannotActivate,(m),(d))
#endif

/** POA structures **/
#ifndef _defined_POA_MateComponent_GenericFactory
#define _defined_POA_MateComponent_GenericFactory 1
typedef struct {
  void *_private;
CORBA_Object (*createObject)(PortableServer_Servant _servant, const CORBA_char * iid, CORBA_Environment *ev);
} POA_MateComponent_GenericFactory__epv;
typedef struct {
  PortableServer_ServantBase__epv *_base_epv;
  POA_MateComponent_Unknown__epv *MateComponent_Unknown_epv;
  POA_MateComponent_GenericFactory__epv *MateComponent_GenericFactory_epv;
} POA_MateComponent_GenericFactory__vepv;
typedef struct {
  void *_private;
  POA_MateComponent_GenericFactory__vepv *vepv;
} POA_MateComponent_GenericFactory;
extern void POA_MateComponent_GenericFactory__init(PortableServer_Servant servant, CORBA_Environment *ev);
extern void POA_MateComponent_GenericFactory__fini(PortableServer_Servant servant, CORBA_Environment *ev);
#endif /* _defined_POA_MateComponent_GenericFactory */

/** skel prototypes **/
void _MATECORBA_skel_small_MateComponent_GenericFactory_createObject(POA_MateComponent_GenericFactory *_MATECORBA_servant, gpointer _MATECORBA_retval, gpointer *_MATECORBA_args, CORBA_Context ctx,CORBA_Environment *ev, CORBA_Object (*_impl_createObject)(PortableServer_Servant _servant, const CORBA_char * iid, CORBA_Environment *ev));

/** stub prototypes **/
#define MateComponent_GenericFactory_ref MateComponent_Unknown_ref
#define MateComponent_GenericFactory_unref MateComponent_Unknown_unref
#define MateComponent_GenericFactory_queryInterface MateComponent_Unknown_queryInterface
CORBA_Object MateComponent_GenericFactory_createObject(MateComponent_GenericFactory _obj, const CORBA_char * iid, CORBA_Environment *ev);
#include <matecorba/orb-core/matecorba-interface.h>

#ifdef MATECORBA_IDL_C_IMODULE_MateComponent_GenericFactory
static 
#else
extern 
#endif
MateCORBA_IInterface MateComponent_GenericFactory__iinterface;
#define MateComponent_GenericFactory_IMETHODS_LEN 1
#ifdef MATECORBA_IDL_C_IMODULE_MateComponent_GenericFactory
static 
#else
extern 
#endif
MateCORBA_IMethod MateComponent_GenericFactory__imethods[MateComponent_GenericFactory_IMETHODS_LEN];

/** IMethods index */

#ifndef __MateComponent_GenericFactory__imethods_index
#define __MateComponent_GenericFactory__imethods_index
typedef enum {
	MateComponent_GenericFactory_createObject__imethods_index
} MateComponent_GenericFactory__imethods_index;
#endif /* __MateComponent_GenericFactory__imethods_index */

#ifndef __MATECORBA_IMETHODS_INDEX
#define __MATECORBA_IMETHODS_INDEX
#define MATECORBA_IMETHODS_INDEX(m) (m ## __imethods_index)
#endif /* __MATECORBA_IMETHODS_INDEX */

#ifdef __cplusplus
}
#endif /* __cplusplus */

#ifndef EXCLUDE_MATECORBA_H
#include <matecorba/matecorba.h>

#endif /* EXCLUDE_MATECORBA_H */
#endif
#undef MATECORBA_IDL_SERIAL
