
#ifndef SOM_EventComm_EventConnection_xih
#define SOM_EventComm_EventConnection_xih


#if (defined(EventComm_EventConnection_Class_Source) || defined(SOM_Module_eventcom_Source))
#ifndef SOM_DLL_event
#define SOM_DLL_event
#endif
#endif

#if defined(__IBMC__) && (__IBMC__ >= 300)
  #pragma info(none)
#else
  #if defined(__IBMC__)
     #pragma checkout(suspend)
  #endif
#endif


/*
 * Set the scope of method functions
 */
#ifndef SOM_Scope
#define SOM_Scope static 
#endif

#ifndef SOM_EventComm_EventConnection_xh
#include "eventcom.xh"
#endif
#include <somcsr.h>

/*
 * -- Instance Data
 */
typedef void EventComm_EventConnectionData;
#define __somC_EventComm_EventConnection_NODATA

/*
 * This class introduces no instance data, so no GetData macro is provided
 */

/*
 * -- Method Macros for use in Method Procedures
 */
#ifdef METHOD_MACROS
  #define _somDefaultInit somSelf->somDefaultInit
  #define _somDestruct somSelf->somDestruct
  #define _somDefaultCopyInit somSelf->somDefaultCopyInit
  #define _somDefaultAssign somSelf->somDefaultAssign
  #define _somDefaultConstCopyInit somSelf->somDefaultConstCopyInit
  #define _somDefaultVCopyInit somSelf->somDefaultVCopyInit
  #define _somDefaultConstVCopyInit somSelf->somDefaultConstVCopyInit
  #define _somDefaultConstAssign somSelf->somDefaultConstAssign
  #define _somDefaultVAssign somSelf->somDefaultVAssign
  #define _somDefaultConstVAssign somSelf->somDefaultConstVAssign
  #define _somInit somSelf->somInit
  #define _somUninit somSelf->somUninit
  #define _somFree somSelf->somFree
  #define _somGetClass somSelf->somGetClass
  #define _somGetClassName somSelf->somGetClassName
  #define _somGetSize somSelf->somGetSize
  #define _somIsA somSelf->somIsA
  #define _somIsInstanceOf somSelf->somIsInstanceOf
  #define _somRespondsTo somSelf->somRespondsTo
  #define _somDispatch somSelf->somDispatch
  #define _somClassDispatch somSelf->somClassDispatch
  #define _somCastObj somSelf->somCastObj
  #define _somResetObj somSelf->somResetObj
  #define _somPrintSelf somSelf->somPrintSelf
  #define _somDumpSelf somSelf->somDumpSelf
  #define _somDumpSelfInt somSelf->somDumpSelfInt
  #define _disconnect somSelf->disconnect
#endif /* METHOD_MACROS */


/*
 * -- Primary Implementation File Support
 */
#if (defined(EventComm_EventConnection_Class_Source) || defined(SOM_Module_eventcom_Source))

#ifndef EventComm_EventConnectionMethodDebug
   #define EventComm_EventConnectionMethodDebug(c,m) SOMMethodDebug(c,m)
#endif  /* EventComm_EventConnectionMethodDebug */

static void SOMLINK __somC_EventComm_EventConnection_classInit(SOMClass *cls);


/*
 * Init ClassData Structures
 */
struct EventComm_EventConnectionClassDataStructure SOM_IMPORTEXPORT_event_eventcom SOMDLINK EventComm_EventConnectionClassData = {0};
struct EventComm_EventConnectionCClassDataStructure SOM_IMPORTEXPORT_event_eventcom SOMDLINK EventComm_EventConnectionCClassData = {0};


/*
 * Identifiers
 */
static char __somC_Strings_EventComm_EventConnection0[] = {"EventComm::EventConnection"}; /* class name */
static char __somC_Strings_EventComm_EventConnection1[] = {"disconnect"}; /* method name */
static char __somC_Strings_EventComm_EventConnection2[] = {"SOMObject"}; /* parent name */
static char * __somC_EventComm_EventConnection_regIdsArray[] = {
	__somC_Strings_EventComm_EventConnection0,
#ifndef __somC_EventComm_EventConnection_regIds_disconnect
#define __somC_EventComm_EventConnection_regIds_disconnect 1
#endif
	__somC_Strings_EventComm_EventConnection1,
	__somC_Strings_EventComm_EventConnection2
};


/*
 * New Method: disconnect
 */
SOM_Scope void  SOMLINK EventComm_EventConnectiondisconnect(EventComm_EventConnection *somSelf, Environment *ev);
#ifndef somId_disconnect
#define somId_disconnect ((somId)&(__somC_EventComm_EventConnection_regIdsArray[__somC_EventComm_EventConnection_regIds_disconnect]))
#endif
#define SOM_MPR_MINFO_EventComm_EventConnectiondisconnect {0, 8, 0}
static somMpRowMethodInfo EventComm_EventConnection_disconnect_mp_minfoRow = {{0, SOM_MP_ROWTYPE_METHODINFO}, SOM_MPR_MINFO_EventComm_EventConnectiondisconnect};
#ifndef DEFINEDEventComm_EventConnection_disconnect_mp
#define DEFINEDEventComm_EventConnection_disconnect_mp
/*[ ::EventComm::EventConnection::disconnect EventComm_EventConnection_disconnect_mp ]*/
/* Contract specification:
[CALLTYPE_IDL (2)][EXT_HEADER][VERSION 0][HASATTR][USEREXCEPT]
RAISES: [::EventComm::Disconnected [ReqPtr struct[#0,size=84,align=4] {[OFFSET 0]Long [OFFSET 4][Array<80> Character]}]]
*/
unsigned char EventComm_EventConnection_disconnect_mp_tdcs00b54400[11] = {0x19, 0x0c, 0x54, 0x04, 0x06, 0x00, 0x03, 0x04, 0x11, 0x50, 0x09};
static struct somcsr_exception_entry EventComm_EventConnection_disconnect_mp_exn00b53f60[1] = {
	{"::EventComm::Disconnected",{11, EventComm_EventConnection_disconnect_mp_tdcs00b54400}}};
static struct somcsr_Exception_Attributes EventComm_EventConnection_disconnect_mp_attr00b53f60 = {1, EventComm_EventConnection_disconnect_mp_exn00b53f60};
static struct { void * rows; unsigned char csr[4]; void * attrlist[1];} EventComm_EventConnection_disconnect_mp={&EventComm_EventConnection_disconnect_mp_minfoRow, {
0x92, 0x05, 0x00},
{	 (void *)&EventComm_EventConnection_disconnect_mp_attr00b53f60}
};
#endif
#define EventComm_EventConnectiondisconnect_somMethodInfoValue 0
#define EventComm_EventConnectiondisconnect_somApplyStubValue &EventComm_EventConnection_disconnect_mp.csr
#define EventComm_EventConnectiondisconnect_somHasMPlan 8

/*
 * Functions for attributes.
 */

/*
 * Special Method Support
 */

/*
 * -- Routines and Structures to create the class object
 */
static SOMClass ** __somC_EventComm_EventConnection_parentArray[] = {
	NULL,
};

void * __somC_EventComm_EventConnection_parentMtabs[1];

somMethodDefn __somC_EventComm_EventConnection_newNDMethodsArray[] = {
	{  (0 | EventComm_EventConnectiondisconnect_somHasMPlan), 0, (somMToken)0, (somMethodPtr)EventComm_EventConnectiondisconnect, 
	   0, (somMethodPtr)EventComm_EventConnectiondisconnect_somApplyStubValue, 
	   (somMethodInfo *) EventComm_EventConnectiondisconnect_somMethodInfoValue, &EventComm_EventConnectionClassData.disconnect, 0, 1 }
};

static somClassVars1 __somC_EventComm_EventConnection_classVars1 = {
	1,		/* layoutVersion */
	(void *)NULL,	/* extension */
	0,	/* dataSize */
	0,		/* type code dataAlignment */
	(somMethodPtr)0,	/* classAllocate */
	(somMethodPtr)0	/* classDeallocate */
};

static struct EventComm_EventConnectionClassDataStructure __somC_EventComm_EventConnection_resolvedMTokens;
static void * __somC_EventComm_EventConnection_unsharedClassVariablesPtr = 0;
extern som3ClassInfoStruct __somC_EventComm_EventConnection_ClassInfo; /* C++ forward reference */

static SOM_CIB EventComm_EventConnection_ClassInitBlock = {
	1,	/* layoutVersion */
	&__somC_EventComm_EventConnection_classVars1,
	&__somC_EventComm_EventConnection_unsharedClassVariablesPtr,	/* unsharedVars */
	EventComm_EventConnection_MajorVersion,
	EventComm_EventConnection_MinorVersion,
	0x60004,	/* constFlags */
	0xFFFFFFFF,	/* inheritVars */
	(SOMClass**)0,	/* classMeta */
	(somMethodPtr) __somC_EventComm_EventConnection_classInit,	/* classInit */
	(somMethodPtr) 0,	/* classUninit */
	(somMethodPtr) 0,	/* legacyInit */
	(somMethodPtr) 0,	/* legacyUninit */
	(somMethodPtr) 0,	/* udaAssign */
	(somMethodPtr) 0,	/* udaConstAssign */
	0,	/* protectedDataOffset */
	0,	/* numEmbeddedObjs */
	0,	/* embeddedObjs */
	3,	/* numRegIds */
	__somC_EventComm_EventConnection_regIdsArray,	/* regIds */
	((sizeof(struct EventComm_EventConnectionClassDataStructure) - sizeof(SOMClass *))/sizeof(somMToken)),	/* numClassDataEntries */
	(somClassDataStructurePtr)&EventComm_EventConnectionClassData,
	(somCClassDataStructurePtr)&EventComm_EventConnectionCClassData,
	&__somC_EventComm_EventConnection_ClassInfo,
	1,	/* numParents */
	(SOMClass***)__somC_EventComm_EventConnection_parentArray,	/* parents */
	1,	/* numDirectInitClasses */
	(SOMClass***)__somC_EventComm_EventConnection_parentArray,	/* directInitClasses */
	0,	/* numNewInitializers */
	0,	/* newInitializerSymbols */
	0,	/* numOvInitializers */
	0,	/* ovInitializerSymbols */
	0,	/* special overrides */
	1,	/* maxNDMethods */
	__somC_EventComm_EventConnection_newNDMethodsArray,	/* newNDMethods */
	0,	/* numOverrides */
	0,	/* overrides */
	0,	/* numInheritedSelections */
	0,	/* inheritedSelections */
	0,	/* numMigratedMethods */
	0 	/* migratedMethods */
};	/* CIB */
static som3ClassDetails __somC_EventComm_EventConnection_ClassDetails = {
	(somMethodTabPtr)NULL,	/* mtab */
	(somMethodTabPtr *)__somC_EventComm_EventConnection_parentMtabs,	/* parentMtabs */
	&EventComm_EventConnection_ClassInitBlock,	/* ClassInitBlock address */
	(somTD_somRenewNoInitNoZeroThunk)0,	/* somRenewNoInitNoZeroThunk */
	(long)0,	/* instanceSize */
	(somMethodProc**)NULL,	/* resolvedInits */
	(somClassDataStructure *)&__somC_EventComm_EventConnection_resolvedMTokens,	/* resolvedMTokens */
	{0,0,0,0},	/* initCtrl */
	{0,0,0,0},	/* destructCtrl */
	{0,0,0,0},	/* assignCtrl */
	(long)1,	/* layoutVersion */
	(void*)NULL,	/* extension */
	(somDToken)NULL,	/* publicDataToken */
	(somDToken)NULL,	/* protectedDataToken */
};
som3ClassInfoStruct __somC_EventComm_EventConnection_ClassInfo = {
	0,	/* classObject */
	&__somC_EventComm_EventConnection_ClassDetails	/* class details */
};


/*
 * Class Creation and Initialization
 */

#if defined(__IBMC__) && (defined(__OS2__) || defined(_WIN32)) && !defined(SOM_PREWARP)
#pragma alloc_text (SEG0002, __somC_EventComm_EventConnection_classInit)
#pragma alloc_text (SEG0002, EventComm_EventConnectionNewClass)
#endif

/* classinit function */
SOM_Scope void SOMLINK __somC_EventComm_EventConnection_classInit(SOMClass *somSelf)
{
   SOM_IgnoreWarning(somSelf);
}

/* NewClass Function */
SOMEXTERN SOM_IMPORTEXPORT_event_eventcom SOMClass * SOMLINK  EventComm_EventConnectionNewClass (long reqMajorVersion, long reqMinorVersion)
{
    if (_SOMCLASS_EventComm_EventConnection && _SOMCLASS_EventComm_EventConnection->somCheckVersion(reqMajorVersion, reqMinorVersion))
          return ((SOMClass*)((void*)_SOMCLASS_EventComm_EventConnection));
__somC_EventComm_EventConnection_parentArray[0] = (SOMClass **)&_SOMCLASS_SOMObject;
   /* require parents */
   if (!_SOMCLASS_SOMObject) SOMObjectNewClass(SOMObject_MajorVersion,SOMObject_MinorVersion);
   /* return new class */
   return ((SOMClass*)(void*)somBuildClass2(&EventComm_EventConnection_ClassInitBlock, reqMajorVersion, reqMinorVersion));
}

#if defined(__IBMC__) && (__IBMC__ >= 300)
  #pragma info(restore)
#else
  #if defined(__IBMC__)
    #pragma checkout(resume)
  #endif
#endif



#endif /* Primary Implementation Support */

#endif       /* SOM_EventComm_EventConnection_xih */

#ifndef SOM_EventComm_Consumer_xih
#define SOM_EventComm_Consumer_xih


#if (defined(EventComm_Consumer_Class_Source) || defined(SOM_Module_eventcom_Source))
#ifndef SOM_DLL_event
#define SOM_DLL_event
#endif
#endif

#if defined(__IBMC__) && (__IBMC__ >= 300)
  #pragma info(none)
#else
  #if defined(__IBMC__)
     #pragma checkout(suspend)
  #endif
#endif


/*
 * Set the scope of method functions
 */
#ifndef SOM_Scope
#define SOM_Scope static 
#endif

#ifndef SOM_EventComm_Consumer_xh
#include "eventcom.xh"
#endif
#include <somcsr.h>

/*
 * -- Instance Data
 */
typedef struct {
	EventComm_EventConnection* ev_con;
} __somC_EventComm_Consumer_ProtectedPrivateData;
typedef __somC_EventComm_Consumer_ProtectedPrivateData EventComm_ConsumerData, *EventComm_ConsumerDataPtr;

/*
 * -- GetData Macro
 */
typedef EventComm_ConsumerDataPtr SOMLINK somTP_EventComm_Consumer_DataThunk(void*);
typedef somTP_EventComm_Consumer_DataThunk *somTD_EventComm_Consumer_DataThunk;

#define EventComm_ConsumerGetData(somSelf) \
   (((somTD_EventComm_Consumer_DataThunk)(EventComm_ConsumerCClassData.instanceDataToken))(somSelf))
#ifdef VARIABLE_MACROS
#define _ev_con somThis->ev_con
#endif


/*
 * -- Method Macros for use in Method Procedures
 */
#ifdef METHOD_MACROS
  #define _disconnect somSelf->disconnect
  #define _somDefaultInit somSelf->somDefaultInit
  #define _somDestruct somSelf->somDestruct
  #define _somDefaultCopyInit somSelf->somDefaultCopyInit
  #define _somDefaultAssign somSelf->somDefaultAssign
  #define _somDefaultConstCopyInit somSelf->somDefaultConstCopyInit
  #define _somDefaultVCopyInit somSelf->somDefaultVCopyInit
  #define _somDefaultConstVCopyInit somSelf->somDefaultConstVCopyInit
  #define _somDefaultConstAssign somSelf->somDefaultConstAssign
  #define _somDefaultVAssign somSelf->somDefaultVAssign
  #define _somDefaultConstVAssign somSelf->somDefaultConstVAssign
  #define _somInit somSelf->somInit
  #define _somUninit somSelf->somUninit
  #define _somFree somSelf->somFree
  #define _somGetClass somSelf->somGetClass
  #define _somGetClassName somSelf->somGetClassName
  #define _somGetSize somSelf->somGetSize
  #define _somIsA somSelf->somIsA
  #define _somIsInstanceOf somSelf->somIsInstanceOf
  #define _somRespondsTo somSelf->somRespondsTo
  #define _somDispatch somSelf->somDispatch
  #define _somClassDispatch somSelf->somClassDispatch
  #define _somCastObj somSelf->somCastObj
  #define _somResetObj somSelf->somResetObj
  #define _somPrintSelf somSelf->somPrintSelf
  #define _somDumpSelf somSelf->somDumpSelf
  #define _somDumpSelfInt somSelf->somDumpSelfInt
  #define __get_ev_con somSelf->_get_ev_con
  #define __set_ev_con somSelf->_set_ev_con
  #define _push somSelf->push
  #define _disconnect somSelf->disconnect
#endif /* METHOD_MACROS */


/*
 * -- Primary Implementation File Support
 */
#if (defined(EventComm_Consumer_Class_Source) || defined(SOM_Module_eventcom_Source))

#ifndef EventComm_ConsumerMethodDebug
   #define EventComm_ConsumerMethodDebug(c,m) SOMMethodDebug(c,m)
#endif  /* EventComm_ConsumerMethodDebug */

static void SOMLINK __somC_EventComm_Consumer_classInit(SOMClass *cls);


/*
 * Init ClassData Structures
 */
struct EventComm_ConsumerClassDataStructure SOM_IMPORTEXPORT_event_eventcom SOMDLINK EventComm_ConsumerClassData = {0};
struct EventComm_ConsumerCClassDataStructure SOM_IMPORTEXPORT_event_eventcom SOMDLINK EventComm_ConsumerCClassData = {0};


/*
 * Identifiers
 */
static char __somC_Strings_EventComm_Consumer0[] = {"EventComm::Consumer"}; /* class name */
static char __somC_Strings_EventComm_Consumer1[] = {"_get_ev_con"}; /* method name */
static char __somC_Strings_EventComm_Consumer2[] = {"_set_ev_con"}; /* method name */
static char __somC_Strings_EventComm_Consumer3[] = {"push"}; /* method name */
static char __somC_Strings_EventComm_Consumer4[] = {"EventComm::EventConnection"}; /* parent name */
static char __somC_Strings_EventComm_Consumer5[] = {"disconnect"}; /* overridden method name */
static char * __somC_EventComm_Consumer_regIdsArray[] = {
	__somC_Strings_EventComm_Consumer0,
#ifndef __somC_EventComm_Consumer_regIds__get_ev_con
#define __somC_EventComm_Consumer_regIds__get_ev_con 1
#endif
	__somC_Strings_EventComm_Consumer1,
#ifndef __somC_EventComm_Consumer_regIds__set_ev_con
#define __somC_EventComm_Consumer_regIds__set_ev_con 2
#endif
	__somC_Strings_EventComm_Consumer2,
#ifndef __somC_EventComm_Consumer_regIds_push
#define __somC_EventComm_Consumer_regIds_push 3
#endif
	__somC_Strings_EventComm_Consumer3,
	__somC_Strings_EventComm_Consumer4,
#ifndef __somC_EventComm_Consumer_regIds_disconnect
#define __somC_EventComm_Consumer_regIds_disconnect 5
#endif
	__somC_Strings_EventComm_Consumer5
};


/*
 * Overridden method: disconnect
 */
SOM_Scope void  SOMLINK EventComm_Consumerdisconnect(EventComm_Consumer *somSelf, Environment *ev);
typedef void   SOMLINK somTP_xih_EventComm_Consumer_disconnect(EventComm_Consumer *somSelf, Environment *ev);
typedef somTP_xih_EventComm_Consumer_disconnect *somTD_xih_EventComm_Consumer_disconnect;
static somMethodProc* EventComm_Consumer_parent_EventComm_EventConnection_disconnect_resolved;
#define EventComm_Consumer_parent_EventComm_EventConnection_disconnect(somSelf,ev) \
  (( somTD_xih_EventComm_Consumer_disconnect ) \
      EventComm_Consumer_parent_EventComm_EventConnection_disconnect_resolved)(somSelf,ev)
#ifndef SOMGD_pmc_parent_EventComm_EventConnection_disconnect
  #ifdef parent_EventComm_EventConnection_disconnect
    #define SOMGD_pmc_parent_EventComm_EventConnection_disconnect
    #undef parent_EventComm_EventConnection_disconnect
  #else
    #define parent_EventComm_EventConnection_disconnect EventComm_Consumer_parent_EventComm_EventConnection_disconnect
  #endif
#endif
#ifndef SOMGD_pmc_parent_disconnect
  #ifdef parent_disconnect
    #define SOMGD_pmc_parent_disconnect
    #undef parent_disconnect
  #else
#define parent_disconnect EventComm_Consumer_parent_EventComm_EventConnection_disconnect
  #endif
#endif
#define EventComm_Consumer_parents_disconnect(somSelf,ev) (\
   EventComm_Consumer_parent_EventComm_EventConnection_disconnect(somSelf,ev))
#define SOMPCALLEventComm_Consumer_disconnect
static somMethodProc* EventComm_Consumer_pcall_disconnect_resolved;
#define EventComm_Consumer_pcall_disconnect(somSelf,ev) \
  ((( somTD_EventComm_EventConnection_disconnect ) \
    EventComm_Consumer_pcall_disconnect_resolved)(somSelf,ev))
static void  SOMLINK EventComm_Consumer_pcallResolve_disconnect(EventComm_Consumer *somSelf, Environment *ev)
{
   ((somTD_EventComm_EventConnection_disconnect) 
      somPCallResolve(((SOMObject*)(void*)somSelf), ((SOMClass*)(void*)_EventComm_Consumer), _SOMMTOKEN_EventComm_EventConnection(disconnect)))\
	(((EventComm_EventConnection*)(void*)somSelf),ev);
}


/*
 * New Method: _get_ev_con
 */
SOM_Scope EventComm_EventConnection*  SOMLINK EventComm_Consumer_get_ev_con(EventComm_Consumer *somSelf, Environment *ev);
/*
 * Method from the IDL attribute statement:
 * "attribute EventComm_EventConnection* ev_con"
 */
#ifndef somId__get_ev_con
#define somId__get_ev_con ((somId)&(__somC_EventComm_Consumer_regIdsArray[__somC_EventComm_Consumer_regIds__get_ev_con]))
#endif
#define SOM_MPR_MINFO_EventComm_Consumer_get_ev_con {0, 8, 0}
static somMpRowMethodInfo EventComm_Consumer__get_ev_con_mp_minfoRow = {{0, SOM_MP_ROWTYPE_METHODINFO}, SOM_MPR_MINFO_EventComm_Consumer_get_ev_con};
#ifndef DEFINEDEventComm_Consumer__get_ev_con_mp
#define DEFINEDEventComm_Consumer__get_ev_con_mp
/*[ ::EventComm::Consumer::_get_ev_con EventComm_Consumer__get_ev_con_mp ]*/
/* Contract specification:
[CALLTYPE_IDL (2)][RESULT][VERSION 0]
RESULT[object-owns out]: ObjREF
*/
static struct { void * rows; unsigned char csr[4]; } EventComm_Consumer__get_ev_con_mp={&EventComm_Consumer__get_ev_con_mp_minfoRow, {
0x86, 0x01, 0xb6},
};
#endif
#define EventComm_Consumer_get_ev_con_somMethodInfoValue 0
#define EventComm_Consumer_get_ev_con_somApplyStubValue &EventComm_Consumer__get_ev_con_mp.csr
#define EventComm_Consumer_get_ev_con_somHasMPlan 8

/*
 * New Method: _set_ev_con
 */
SOM_Scope void  SOMLINK EventComm_Consumer_set_ev_con(EventComm_Consumer *somSelf, Environment *ev,
		EventComm_EventConnection* ev_con);
/*
 * Method from the IDL attribute statement:
 * "attribute EventComm_EventConnection* ev_con"
 */
#ifndef somId__set_ev_con
#define somId__set_ev_con ((somId)&(__somC_EventComm_Consumer_regIdsArray[__somC_EventComm_Consumer_regIds__set_ev_con]))
#endif
#define SOM_MPR_MINFO_EventComm_Consumer_set_ev_con {0, 12, 0}
static somMpRowMethodInfo EventComm_Consumer__set_ev_con_mp_minfoRow = {{0, SOM_MP_ROWTYPE_METHODINFO}, SOM_MPR_MINFO_EventComm_Consumer_set_ev_con};
#ifndef DEFINEDEventComm_Consumer__set_ev_con_mp
#define DEFINEDEventComm_Consumer__set_ev_con_mp
/*[ ::EventComm::Consumer::_set_ev_con EventComm_Consumer__set_ev_con_mp ]*/
/* Contract specification:
[CALLTYPE_IDL (2)][VERSION 0]
ARG 0[in]: ObjREF
*/
static struct { void * rows; unsigned char csr[4]; } EventComm_Consumer__set_ev_con_mp={&EventComm_Consumer__set_ev_con_mp_minfoRow, {
0x82, 0x01, 0x56},
};
#endif
#define EventComm_Consumer_set_ev_con_somMethodInfoValue 0
#define EventComm_Consumer_set_ev_con_somApplyStubValue &EventComm_Consumer__set_ev_con_mp.csr
#define EventComm_Consumer_set_ev_con_somHasMPlan 8

/*
 * New Method: push
 */
SOM_Scope void  SOMLINK EventComm_Consumerpush(EventComm_Consumer *somSelf, Environment *ev,
		any* event_data);
#ifndef somId_push
#define somId_push ((somId)&(__somC_EventComm_Consumer_regIdsArray[__somC_EventComm_Consumer_regIds_push]))
#endif
#define SOM_MPR_MINFO_EventComm_Consumerpush {0, 12, 0}
static somMpRowMethodInfo EventComm_Consumer_push_mp_minfoRow = {{0, SOM_MP_ROWTYPE_METHODINFO}, SOM_MPR_MINFO_EventComm_Consumerpush};
#ifndef DEFINEDEventComm_Consumer_push_mp
#define DEFINEDEventComm_Consumer_push_mp
/*[ ::EventComm::Consumer::push EventComm_Consumer_push_mp ]*/
/* Contract specification:
[CALLTYPE_IDL (2)][EXT_HEADER][VERSION 0][HASATTR][USEREXCEPT]
ARG 0[in]: Any
RAISES: [::EventComm::Disconnected [ReqPtr struct[#0,size=84,align=4] {[OFFSET 0]Long [OFFSET 4][Array<80> Character]}]]
*/
unsigned char EventComm_Consumer_push_mp_tdcs00b579f0[11] = {0x19, 0x0c, 0x54, 0x04, 0x06, 0x00, 0x03, 0x04, 0x11, 0x50, 0x09};
static struct somcsr_exception_entry EventComm_Consumer_push_mp_exn00b52ff0[1] = {
	{"::EventComm::Disconnected",{11, EventComm_Consumer_push_mp_tdcs00b579f0}}};
static struct somcsr_Exception_Attributes EventComm_Consumer_push_mp_attr00b52ff0 = {1, EventComm_Consumer_push_mp_exn00b52ff0};
static struct { void * rows; unsigned char csr[4]; void * attrlist[1];} EventComm_Consumer_push_mp={&EventComm_Consumer_push_mp_minfoRow, {
0x92, 0x05, 0x01, 0x53},
{	 (void *)&EventComm_Consumer_push_mp_attr00b52ff0}
};
#endif
#define EventComm_Consumerpush_somMethodInfoValue 0
#define EventComm_Consumerpush_somApplyStubValue &EventComm_Consumer_push_mp.csr
#define EventComm_Consumerpush_somHasMPlan 8

/*
 * Functions for attributes.
 */
SOM_Scope EventComm_EventConnection*  SOMLINK EventComm_Consumer_get_ev_con(EventComm_Consumer *somSelf, Environment *ev){
    EventComm_ConsumerData *somThis = EventComm_ConsumerGetData(somSelf);
    SOM_IgnoreWarning(ev);

    return  (somThis->ev_con);
}
SOM_Scope void  SOMLINK EventComm_Consumer_set_ev_con(EventComm_Consumer *somSelf, Environment *ev,
		EventComm_EventConnection* ev_con){
    EventComm_ConsumerData *somThis = EventComm_ConsumerGetData(somSelf);
    SOM_IgnoreWarning(ev);

    (somThis->ev_con) = ev_con;
}

/*
 * Special Method Support
 */

/*
 * -- Routines and Structures to create the class object
 */
static SOMClass ** __somC_EventComm_Consumer_parentArray[] = {
	NULL,
};

void * __somC_EventComm_Consumer_parentMtabs[1];

somMethodDefn __somC_EventComm_Consumer_newNDMethodsArray[] = {
	{  (0 | EventComm_Consumer_get_ev_con_somHasMPlan), 0, (somMToken)0, (somMethodPtr)EventComm_Consumer_get_ev_con, 
	   0, (somMethodPtr)EventComm_Consumer_get_ev_con_somApplyStubValue, 
	   (somMethodInfo *) EventComm_Consumer_get_ev_con_somMethodInfoValue, &EventComm_ConsumerClassData._get_ev_con, 0, 1 },
	{  (0 | EventComm_Consumer_set_ev_con_somHasMPlan), 0, (somMToken)0, (somMethodPtr)EventComm_Consumer_set_ev_con, 
	   0, (somMethodPtr)EventComm_Consumer_set_ev_con_somApplyStubValue, 
	   (somMethodInfo *) EventComm_Consumer_set_ev_con_somMethodInfoValue, &EventComm_ConsumerClassData._set_ev_con, 0, 1 },
	{  (0 | EventComm_Consumerpush_somHasMPlan), 0, (somMToken)0, (somMethodPtr)EventComm_Consumerpush, 
	   0, (somMethodPtr)EventComm_Consumerpush_somApplyStubValue, 
	   (somMethodInfo *) EventComm_Consumerpush_somMethodInfoValue, &EventComm_ConsumerClassData.push, 0, 1 }
};

static somOverrideMethod_t2 __somC_EventComm_Consumer_overridesArray[] = {
{ &(__somC_EventComm_Consumer_regIdsArray[__somC_EventComm_Consumer_regIds_disconnect]), 
#ifdef SOMPCALLEventComm_Consumer_disconnect
   (somMethodPtr*)&EventComm_Consumer_pcall_disconnect_resolved, 
   (somMethodPtr)EventComm_Consumer_pcallResolve_disconnect, 
#else
   (somMethodPtr*)0, 
   (somMethodPtr)0, 
#endif
(somMethodPtr)EventComm_Consumerdisconnect }
};

static somClassVars1 __somC_EventComm_Consumer_classVars1 = {
	1,		/* layoutVersion */
	(void *)NULL,	/* extension */
	sizeof(EventComm_ConsumerData),	/* dataSize */
	4,		/* type code dataAlignment */
	(somMethodPtr)0,	/* classAllocate */
	(somMethodPtr)0	/* classDeallocate */
};

static struct EventComm_ConsumerClassDataStructure __somC_EventComm_Consumer_resolvedMTokens;
static void * __somC_EventComm_Consumer_unsharedClassVariablesPtr = 0;
extern som3ClassInfoStruct __somC_EventComm_Consumer_ClassInfo; /* C++ forward reference */

static SOM_CIB EventComm_Consumer_ClassInitBlock = {
	1,	/* layoutVersion */
	&__somC_EventComm_Consumer_classVars1,
	&__somC_EventComm_Consumer_unsharedClassVariablesPtr,	/* unsharedVars */
	EventComm_Consumer_MajorVersion,
	EventComm_Consumer_MinorVersion,
	0x60004,	/* constFlags */
	0xFFFFFFFF,	/* inheritVars */
	(SOMClass**)0,	/* classMeta */
	(somMethodPtr) __somC_EventComm_Consumer_classInit,	/* classInit */
	(somMethodPtr) 0,	/* classUninit */
	(somMethodPtr) 0,	/* legacyInit */
	(somMethodPtr) 0,	/* legacyUninit */
	(somMethodPtr) 0,	/* udaAssign */
	(somMethodPtr) 0,	/* udaConstAssign */
	0,	/* protectedDataOffset */
	0,	/* numEmbeddedObjs */
	0,	/* embeddedObjs */
	6,	/* numRegIds */
	__somC_EventComm_Consumer_regIdsArray,	/* regIds */
	((sizeof(struct EventComm_ConsumerClassDataStructure) - sizeof(SOMClass *))/sizeof(somMToken)),	/* numClassDataEntries */
	(somClassDataStructurePtr)&EventComm_ConsumerClassData,
	(somCClassDataStructurePtr)&EventComm_ConsumerCClassData,
	&__somC_EventComm_Consumer_ClassInfo,
	1,	/* numParents */
	(SOMClass***)__somC_EventComm_Consumer_parentArray,	/* parents */
	1,	/* numDirectInitClasses */
	(SOMClass***)__somC_EventComm_Consumer_parentArray,	/* directInitClasses */
	0,	/* numNewInitializers */
	0,	/* newInitializerSymbols */
	0,	/* numOvInitializers */
	0,	/* ovInitializerSymbols */
	0,	/* special overrides */
	3,	/* maxNDMethods */
	__somC_EventComm_Consumer_newNDMethodsArray,	/* newNDMethods */
	1,	/* numOverrides */
	__somC_EventComm_Consumer_overridesArray,	/* overrides */
	0,	/* numInheritedSelections */
	0,	/* inheritedSelections */
	0,	/* numMigratedMethods */
	0 	/* migratedMethods */
};	/* CIB */
static som3ClassDetails __somC_EventComm_Consumer_ClassDetails = {
	(somMethodTabPtr)NULL,	/* mtab */
	(somMethodTabPtr *)__somC_EventComm_Consumer_parentMtabs,	/* parentMtabs */
	&EventComm_Consumer_ClassInitBlock,	/* ClassInitBlock address */
	(somTD_somRenewNoInitNoZeroThunk)0,	/* somRenewNoInitNoZeroThunk */
	(long)0,	/* instanceSize */
	(somMethodProc**)NULL,	/* resolvedInits */
	(somClassDataStructure *)&__somC_EventComm_Consumer_resolvedMTokens,	/* resolvedMTokens */
	{0,0,0,0},	/* initCtrl */
	{0,0,0,0},	/* destructCtrl */
	{0,0,0,0},	/* assignCtrl */
	(long)1,	/* layoutVersion */
	(void*)NULL,	/* extension */
	(somDToken)NULL,	/* publicDataToken */
	(somDToken)NULL,	/* protectedDataToken */
};
som3ClassInfoStruct __somC_EventComm_Consumer_ClassInfo = {
	0,	/* classObject */
	&__somC_EventComm_Consumer_ClassDetails	/* class details */
};


/*
 * Class Creation and Initialization
 */

#if defined(__IBMC__) && (defined(__OS2__) || defined(_WIN32)) && !defined(SOM_PREWARP)
#pragma alloc_text (SEG0002, __somC_EventComm_Consumer_classInit)
#pragma alloc_text (SEG0002, EventComm_ConsumerNewClass)
#endif

/* classinit function */
SOM_Scope void SOMLINK __somC_EventComm_Consumer_classInit(SOMClass *somSelf)
{
   SOM_IgnoreWarning(somSelf);
   EventComm_Consumer_parent_EventComm_EventConnection_disconnect_resolved = 
	somParentNumResolve(EventComm_ConsumerCClassData.parentMtab, 1, _SOMMTOKEN_EventComm_EventConnection(disconnect)); 
}

/* NewClass Function */
SOMEXTERN SOM_IMPORTEXPORT_event_eventcom SOMClass * SOMLINK  EventComm_ConsumerNewClass (long reqMajorVersion, long reqMinorVersion)
{
    if (_SOMCLASS_EventComm_Consumer && _SOMCLASS_EventComm_Consumer->somCheckVersion(reqMajorVersion, reqMinorVersion))
          return ((SOMClass*)((void*)_SOMCLASS_EventComm_Consumer));
__somC_EventComm_Consumer_parentArray[0] = (SOMClass **)&_SOMCLASS_EventComm_EventConnection;
   /* require parents */
   if (!_SOMCLASS_EventComm_EventConnection) EventComm_EventConnectionNewClass(EventComm_EventConnection_MajorVersion,EventComm_EventConnection_MinorVersion);
   /* return new class */
   return ((SOMClass*)(void*)somBuildClass2(&EventComm_Consumer_ClassInitBlock, reqMajorVersion, reqMinorVersion));
}

#if defined(__IBMC__) && (__IBMC__ >= 300)
  #pragma info(restore)
#else
  #if defined(__IBMC__)
    #pragma checkout(resume)
  #endif
#endif



#endif /* Primary Implementation Support */

#endif       /* SOM_EventComm_Consumer_xih */

#ifndef SOM_EventComm_Supplier_xih
#define SOM_EventComm_Supplier_xih


#if (defined(EventComm_Supplier_Class_Source) || defined(SOM_Module_eventcom_Source))
#ifndef SOM_DLL_event
#define SOM_DLL_event
#endif
#endif

#if defined(__IBMC__) && (__IBMC__ >= 300)
  #pragma info(none)
#else
  #if defined(__IBMC__)
     #pragma checkout(suspend)
  #endif
#endif


/*
 * Set the scope of method functions
 */
#ifndef SOM_Scope
#define SOM_Scope static 
#endif

#ifndef SOM_EventComm_Supplier_xh
#include "eventcom.xh"
#endif
#include <somcsr.h>

/*
 * -- Instance Data
 */
typedef struct {
	EventComm_EventConnection* ev_con;
} __somC_EventComm_Supplier_ProtectedPrivateData;
typedef __somC_EventComm_Supplier_ProtectedPrivateData EventComm_SupplierData, *EventComm_SupplierDataPtr;

/*
 * -- GetData Macro
 */
typedef EventComm_SupplierDataPtr SOMLINK somTP_EventComm_Supplier_DataThunk(void*);
typedef somTP_EventComm_Supplier_DataThunk *somTD_EventComm_Supplier_DataThunk;

#define EventComm_SupplierGetData(somSelf) \
   (((somTD_EventComm_Supplier_DataThunk)(EventComm_SupplierCClassData.instanceDataToken))(somSelf))
#ifdef VARIABLE_MACROS
#define _ev_con somThis->ev_con
#endif


/*
 * -- Method Macros for use in Method Procedures
 */
#ifdef METHOD_MACROS
  #define _disconnect somSelf->disconnect
  #define _somDefaultInit somSelf->somDefaultInit
  #define _somDestruct somSelf->somDestruct
  #define _somDefaultCopyInit somSelf->somDefaultCopyInit
  #define _somDefaultAssign somSelf->somDefaultAssign
  #define _somDefaultConstCopyInit somSelf->somDefaultConstCopyInit
  #define _somDefaultVCopyInit somSelf->somDefaultVCopyInit
  #define _somDefaultConstVCopyInit somSelf->somDefaultConstVCopyInit
  #define _somDefaultConstAssign somSelf->somDefaultConstAssign
  #define _somDefaultVAssign somSelf->somDefaultVAssign
  #define _somDefaultConstVAssign somSelf->somDefaultConstVAssign
  #define _somInit somSelf->somInit
  #define _somUninit somSelf->somUninit
  #define _somFree somSelf->somFree
  #define _somGetClass somSelf->somGetClass
  #define _somGetClassName somSelf->somGetClassName
  #define _somGetSize somSelf->somGetSize
  #define _somIsA somSelf->somIsA
  #define _somIsInstanceOf somSelf->somIsInstanceOf
  #define _somRespondsTo somSelf->somRespondsTo
  #define _somDispatch somSelf->somDispatch
  #define _somClassDispatch somSelf->somClassDispatch
  #define _somCastObj somSelf->somCastObj
  #define _somResetObj somSelf->somResetObj
  #define _somPrintSelf somSelf->somPrintSelf
  #define _somDumpSelf somSelf->somDumpSelf
  #define _somDumpSelfInt somSelf->somDumpSelfInt
  #define __get_ev_con somSelf->_get_ev_con
  #define __set_ev_con somSelf->_set_ev_con
  #define _try_pull somSelf->try_pull
  #define _disconnect somSelf->disconnect
#endif /* METHOD_MACROS */


/*
 * -- Primary Implementation File Support
 */
#if (defined(EventComm_Supplier_Class_Source) || defined(SOM_Module_eventcom_Source))

#ifndef EventComm_SupplierMethodDebug
   #define EventComm_SupplierMethodDebug(c,m) SOMMethodDebug(c,m)
#endif  /* EventComm_SupplierMethodDebug */

static void SOMLINK __somC_EventComm_Supplier_classInit(SOMClass *cls);


/*
 * Init ClassData Structures
 */
struct EventComm_SupplierClassDataStructure SOM_IMPORTEXPORT_event_eventcom SOMDLINK EventComm_SupplierClassData = {0};
struct EventComm_SupplierCClassDataStructure SOM_IMPORTEXPORT_event_eventcom SOMDLINK EventComm_SupplierCClassData = {0};


/*
 * Identifiers
 */
static char __somC_Strings_EventComm_Supplier0[] = {"EventComm::Supplier"}; /* class name */
static char __somC_Strings_EventComm_Supplier1[] = {"_get_ev_con"}; /* method name */
static char __somC_Strings_EventComm_Supplier2[] = {"_set_ev_con"}; /* method name */
static char __somC_Strings_EventComm_Supplier3[] = {"try_pull"}; /* method name */
static char __somC_Strings_EventComm_Supplier4[] = {"EventComm::EventConnection"}; /* parent name */
static char __somC_Strings_EventComm_Supplier5[] = {"disconnect"}; /* overridden method name */
static char * __somC_EventComm_Supplier_regIdsArray[] = {
	__somC_Strings_EventComm_Supplier0,
#ifndef __somC_EventComm_Supplier_regIds__get_ev_con
#define __somC_EventComm_Supplier_regIds__get_ev_con 1
#endif
	__somC_Strings_EventComm_Supplier1,
#ifndef __somC_EventComm_Supplier_regIds__set_ev_con
#define __somC_EventComm_Supplier_regIds__set_ev_con 2
#endif
	__somC_Strings_EventComm_Supplier2,
#ifndef __somC_EventComm_Supplier_regIds_try_pull
#define __somC_EventComm_Supplier_regIds_try_pull 3
#endif
	__somC_Strings_EventComm_Supplier3,
	__somC_Strings_EventComm_Supplier4,
#ifndef __somC_EventComm_Supplier_regIds_disconnect
#define __somC_EventComm_Supplier_regIds_disconnect 5
#endif
	__somC_Strings_EventComm_Supplier5
};


/*
 * Overridden method: disconnect
 */
SOM_Scope void  SOMLINK EventComm_Supplierdisconnect(EventComm_Supplier *somSelf, Environment *ev);
typedef void   SOMLINK somTP_xih_EventComm_Supplier_disconnect(EventComm_Supplier *somSelf, Environment *ev);
typedef somTP_xih_EventComm_Supplier_disconnect *somTD_xih_EventComm_Supplier_disconnect;
static somMethodProc* EventComm_Supplier_parent_EventComm_EventConnection_disconnect_resolved;
#define EventComm_Supplier_parent_EventComm_EventConnection_disconnect(somSelf,ev) \
  (( somTD_xih_EventComm_Supplier_disconnect ) \
      EventComm_Supplier_parent_EventComm_EventConnection_disconnect_resolved)(somSelf,ev)
#ifndef SOMGD_pmc_parent_EventComm_EventConnection_disconnect
  #ifdef parent_EventComm_EventConnection_disconnect
    #define SOMGD_pmc_parent_EventComm_EventConnection_disconnect
    #undef parent_EventComm_EventConnection_disconnect
  #else
    #define parent_EventComm_EventConnection_disconnect EventComm_Supplier_parent_EventComm_EventConnection_disconnect
  #endif
#endif
#ifndef SOMGD_pmc_parent_disconnect
  #ifdef parent_disconnect
    #define SOMGD_pmc_parent_disconnect
    #undef parent_disconnect
  #else
#define parent_disconnect EventComm_Supplier_parent_EventComm_EventConnection_disconnect
  #endif
#endif
#define EventComm_Supplier_parents_disconnect(somSelf,ev) (\
   EventComm_Supplier_parent_EventComm_EventConnection_disconnect(somSelf,ev))
#define SOMPCALLEventComm_Supplier_disconnect
static somMethodProc* EventComm_Supplier_pcall_disconnect_resolved;
#define EventComm_Supplier_pcall_disconnect(somSelf,ev) \
  ((( somTD_EventComm_EventConnection_disconnect ) \
    EventComm_Supplier_pcall_disconnect_resolved)(somSelf,ev))
static void  SOMLINK EventComm_Supplier_pcallResolve_disconnect(EventComm_Supplier *somSelf, Environment *ev)
{
   ((somTD_EventComm_EventConnection_disconnect) 
      somPCallResolve(((SOMObject*)(void*)somSelf), ((SOMClass*)(void*)_EventComm_Supplier), _SOMMTOKEN_EventComm_EventConnection(disconnect)))\
	(((EventComm_EventConnection*)(void*)somSelf),ev);
}


/*
 * New Method: _get_ev_con
 */
SOM_Scope EventComm_EventConnection*  SOMLINK EventComm_Supplier_get_ev_con(EventComm_Supplier *somSelf, Environment *ev);
/*
 * Method from the IDL attribute statement:
 * "attribute EventComm_EventConnection* ev_con"
 */
#ifndef somId__get_ev_con
#define somId__get_ev_con ((somId)&(__somC_EventComm_Supplier_regIdsArray[__somC_EventComm_Supplier_regIds__get_ev_con]))
#endif
#define SOM_MPR_MINFO_EventComm_Supplier_get_ev_con {0, 8, 0}
static somMpRowMethodInfo EventComm_Supplier__get_ev_con_mp_minfoRow = {{0, SOM_MP_ROWTYPE_METHODINFO}, SOM_MPR_MINFO_EventComm_Supplier_get_ev_con};
#ifndef DEFINEDEventComm_Supplier__get_ev_con_mp
#define DEFINEDEventComm_Supplier__get_ev_con_mp
/*[ ::EventComm::Supplier::_get_ev_con EventComm_Supplier__get_ev_con_mp ]*/
/* Contract specification:
[CALLTYPE_IDL (2)][RESULT][VERSION 0]
RESULT[object-owns out]: ObjREF
*/
static struct { void * rows; unsigned char csr[4]; } EventComm_Supplier__get_ev_con_mp={&EventComm_Supplier__get_ev_con_mp_minfoRow, {
0x86, 0x01, 0xb6},
};
#endif
#define EventComm_Supplier_get_ev_con_somMethodInfoValue 0
#define EventComm_Supplier_get_ev_con_somApplyStubValue &EventComm_Supplier__get_ev_con_mp.csr
#define EventComm_Supplier_get_ev_con_somHasMPlan 8

/*
 * New Method: _set_ev_con
 */
SOM_Scope void  SOMLINK EventComm_Supplier_set_ev_con(EventComm_Supplier *somSelf, Environment *ev,
		EventComm_EventConnection* ev_con);
/*
 * Method from the IDL attribute statement:
 * "attribute EventComm_EventConnection* ev_con"
 */
#ifndef somId__set_ev_con
#define somId__set_ev_con ((somId)&(__somC_EventComm_Supplier_regIdsArray[__somC_EventComm_Supplier_regIds__set_ev_con]))
#endif
#define SOM_MPR_MINFO_EventComm_Supplier_set_ev_con {0, 12, 0}
static somMpRowMethodInfo EventComm_Supplier__set_ev_con_mp_minfoRow = {{0, SOM_MP_ROWTYPE_METHODINFO}, SOM_MPR_MINFO_EventComm_Supplier_set_ev_con};
#ifndef DEFINEDEventComm_Supplier__set_ev_con_mp
#define DEFINEDEventComm_Supplier__set_ev_con_mp
/*[ ::EventComm::Supplier::_set_ev_con EventComm_Supplier__set_ev_con_mp ]*/
/* Contract specification:
[CALLTYPE_IDL (2)][VERSION 0]
ARG 0[in]: ObjREF
*/
static struct { void * rows; unsigned char csr[4]; } EventComm_Supplier__set_ev_con_mp={&EventComm_Supplier__set_ev_con_mp_minfoRow, {
0x82, 0x01, 0x56},
};
#endif
#define EventComm_Supplier_set_ev_con_somMethodInfoValue 0
#define EventComm_Supplier_set_ev_con_somApplyStubValue &EventComm_Supplier__set_ev_con_mp.csr
#define EventComm_Supplier_set_ev_con_somHasMPlan 8

/*
 * New Method: try_pull
 */
SOM_Scope boolean  SOMLINK EventComm_Suppliertry_pull(EventComm_Supplier *somSelf, Environment *ev,
		any* event_data);
#ifndef somId_try_pull
#define somId_try_pull ((somId)&(__somC_EventComm_Supplier_regIdsArray[__somC_EventComm_Supplier_regIds_try_pull]))
#endif
#define SOM_MPR_MINFO_EventComm_Suppliertry_pull {10, 12, 0}
static somMpRowMethodInfo EventComm_Supplier_try_pull_mp_minfoRow = {{0, SOM_MP_ROWTYPE_METHODINFO}, SOM_MPR_MINFO_EventComm_Suppliertry_pull};
#ifndef DEFINEDEventComm_Supplier_try_pull_mp
#define DEFINEDEventComm_Supplier_try_pull_mp
/*[ ::EventComm::Supplier::try_pull EventComm_Supplier_try_pull_mp ]*/
/* Contract specification:
[CALLTYPE_IDL (2)][RESULT][EXT_HEADER][VERSION 0][HASATTR][USEREXCEPT]
RESULT[object-owns out]: Boolean
ARG 1[out]: Any
RAISES: [::EventComm::Disconnected [ReqPtr struct[#0,size=84,align=4] {[OFFSET 0]Long [OFFSET 4][Array<80> Character]}]]
*/
unsigned char EventComm_Supplier_try_pull_mp_tdcs00b58ce0[11] = {0x19, 0x0c, 0x54, 0x04, 0x06, 0x00, 0x03, 0x04, 0x11, 0x50, 0x09};
static struct somcsr_exception_entry EventComm_Supplier_try_pull_mp_exn00b53f70[1] = {
	{"::EventComm::Disconnected",{11, EventComm_Supplier_try_pull_mp_tdcs00b58ce0}}};
static struct somcsr_Exception_Attributes EventComm_Supplier_try_pull_mp_attr00b53f70 = {1, EventComm_Supplier_try_pull_mp_exn00b53f70};
static struct { void * rows; unsigned char csr[8]; void * attrlist[1];} EventComm_Supplier_try_pull_mp={&EventComm_Supplier_try_pull_mp_minfoRow, {
0x96, 0x05, 0x02, 0xa8, 0x93},
{	 (void *)&EventComm_Supplier_try_pull_mp_attr00b53f70}
};
#endif
#define EventComm_Suppliertry_pull_somMethodInfoValue 0
#define EventComm_Suppliertry_pull_somApplyStubValue &EventComm_Supplier_try_pull_mp.csr
#define EventComm_Suppliertry_pull_somHasMPlan 8

/*
 * Functions for attributes.
 */
SOM_Scope EventComm_EventConnection*  SOMLINK EventComm_Supplier_get_ev_con(EventComm_Supplier *somSelf, Environment *ev){
    EventComm_SupplierData *somThis = EventComm_SupplierGetData(somSelf);
    SOM_IgnoreWarning(ev);

    return  (somThis->ev_con);
}
SOM_Scope void  SOMLINK EventComm_Supplier_set_ev_con(EventComm_Supplier *somSelf, Environment *ev,
		EventComm_EventConnection* ev_con){
    EventComm_SupplierData *somThis = EventComm_SupplierGetData(somSelf);
    SOM_IgnoreWarning(ev);

    (somThis->ev_con) = ev_con;
}

/*
 * Special Method Support
 */

/*
 * -- Routines and Structures to create the class object
 */
static SOMClass ** __somC_EventComm_Supplier_parentArray[] = {
	NULL,
};

void * __somC_EventComm_Supplier_parentMtabs[1];

somMethodDefn __somC_EventComm_Supplier_newNDMethodsArray[] = {
	{  (0 | EventComm_Supplier_get_ev_con_somHasMPlan), 0, (somMToken)0, (somMethodPtr)EventComm_Supplier_get_ev_con, 
	   0, (somMethodPtr)EventComm_Supplier_get_ev_con_somApplyStubValue, 
	   (somMethodInfo *) EventComm_Supplier_get_ev_con_somMethodInfoValue, &EventComm_SupplierClassData._get_ev_con, 0, 1 },
	{  (0 | EventComm_Supplier_set_ev_con_somHasMPlan), 0, (somMToken)0, (somMethodPtr)EventComm_Supplier_set_ev_con, 
	   0, (somMethodPtr)EventComm_Supplier_set_ev_con_somApplyStubValue, 
	   (somMethodInfo *) EventComm_Supplier_set_ev_con_somMethodInfoValue, &EventComm_SupplierClassData._set_ev_con, 0, 1 },
	{  (0 | EventComm_Suppliertry_pull_somHasMPlan), 0, (somMToken)0, (somMethodPtr)EventComm_Suppliertry_pull, 
	   0, (somMethodPtr)EventComm_Suppliertry_pull_somApplyStubValue, 
	   (somMethodInfo *) EventComm_Suppliertry_pull_somMethodInfoValue, &EventComm_SupplierClassData.try_pull, 0, 1 }
};

static somOverrideMethod_t2 __somC_EventComm_Supplier_overridesArray[] = {
{ &(__somC_EventComm_Supplier_regIdsArray[__somC_EventComm_Supplier_regIds_disconnect]), 
#ifdef SOMPCALLEventComm_Supplier_disconnect
   (somMethodPtr*)&EventComm_Supplier_pcall_disconnect_resolved, 
   (somMethodPtr)EventComm_Supplier_pcallResolve_disconnect, 
#else
   (somMethodPtr*)0, 
   (somMethodPtr)0, 
#endif
(somMethodPtr)EventComm_Supplierdisconnect }
};

static somClassVars1 __somC_EventComm_Supplier_classVars1 = {
	1,		/* layoutVersion */
	(void *)NULL,	/* extension */
	sizeof(EventComm_SupplierData),	/* dataSize */
	4,		/* type code dataAlignment */
	(somMethodPtr)0,	/* classAllocate */
	(somMethodPtr)0	/* classDeallocate */
};

static struct EventComm_SupplierClassDataStructure __somC_EventComm_Supplier_resolvedMTokens;
static void * __somC_EventComm_Supplier_unsharedClassVariablesPtr = 0;
extern som3ClassInfoStruct __somC_EventComm_Supplier_ClassInfo; /* C++ forward reference */

static SOM_CIB EventComm_Supplier_ClassInitBlock = {
	1,	/* layoutVersion */
	&__somC_EventComm_Supplier_classVars1,
	&__somC_EventComm_Supplier_unsharedClassVariablesPtr,	/* unsharedVars */
	EventComm_Supplier_MajorVersion,
	EventComm_Supplier_MinorVersion,
	0x60004,	/* constFlags */
	0xFFFFFFFF,	/* inheritVars */
	(SOMClass**)0,	/* classMeta */
	(somMethodPtr) __somC_EventComm_Supplier_classInit,	/* classInit */
	(somMethodPtr) 0,	/* classUninit */
	(somMethodPtr) 0,	/* legacyInit */
	(somMethodPtr) 0,	/* legacyUninit */
	(somMethodPtr) 0,	/* udaAssign */
	(somMethodPtr) 0,	/* udaConstAssign */
	0,	/* protectedDataOffset */
	0,	/* numEmbeddedObjs */
	0,	/* embeddedObjs */
	6,	/* numRegIds */
	__somC_EventComm_Supplier_regIdsArray,	/* regIds */
	((sizeof(struct EventComm_SupplierClassDataStructure) - sizeof(SOMClass *))/sizeof(somMToken)),	/* numClassDataEntries */
	(somClassDataStructurePtr)&EventComm_SupplierClassData,
	(somCClassDataStructurePtr)&EventComm_SupplierCClassData,
	&__somC_EventComm_Supplier_ClassInfo,
	1,	/* numParents */
	(SOMClass***)__somC_EventComm_Supplier_parentArray,	/* parents */
	1,	/* numDirectInitClasses */
	(SOMClass***)__somC_EventComm_Supplier_parentArray,	/* directInitClasses */
	0,	/* numNewInitializers */
	0,	/* newInitializerSymbols */
	0,	/* numOvInitializers */
	0,	/* ovInitializerSymbols */
	0,	/* special overrides */
	3,	/* maxNDMethods */
	__somC_EventComm_Supplier_newNDMethodsArray,	/* newNDMethods */
	1,	/* numOverrides */
	__somC_EventComm_Supplier_overridesArray,	/* overrides */
	0,	/* numInheritedSelections */
	0,	/* inheritedSelections */
	0,	/* numMigratedMethods */
	0 	/* migratedMethods */
};	/* CIB */
static som3ClassDetails __somC_EventComm_Supplier_ClassDetails = {
	(somMethodTabPtr)NULL,	/* mtab */
	(somMethodTabPtr *)__somC_EventComm_Supplier_parentMtabs,	/* parentMtabs */
	&EventComm_Supplier_ClassInitBlock,	/* ClassInitBlock address */
	(somTD_somRenewNoInitNoZeroThunk)0,	/* somRenewNoInitNoZeroThunk */
	(long)0,	/* instanceSize */
	(somMethodProc**)NULL,	/* resolvedInits */
	(somClassDataStructure *)&__somC_EventComm_Supplier_resolvedMTokens,	/* resolvedMTokens */
	{0,0,0,0},	/* initCtrl */
	{0,0,0,0},	/* destructCtrl */
	{0,0,0,0},	/* assignCtrl */
	(long)1,	/* layoutVersion */
	(void*)NULL,	/* extension */
	(somDToken)NULL,	/* publicDataToken */
	(somDToken)NULL,	/* protectedDataToken */
};
som3ClassInfoStruct __somC_EventComm_Supplier_ClassInfo = {
	0,	/* classObject */
	&__somC_EventComm_Supplier_ClassDetails	/* class details */
};


/*
 * Class Creation and Initialization
 */

#if defined(__IBMC__) && (defined(__OS2__) || defined(_WIN32)) && !defined(SOM_PREWARP)
#pragma alloc_text (SEG0002, __somC_EventComm_Supplier_classInit)
#pragma alloc_text (SEG0002, EventComm_SupplierNewClass)
#endif

/* classinit function */
SOM_Scope void SOMLINK __somC_EventComm_Supplier_classInit(SOMClass *somSelf)
{
   SOM_IgnoreWarning(somSelf);
   EventComm_Supplier_parent_EventComm_EventConnection_disconnect_resolved = 
	somParentNumResolve(EventComm_SupplierCClassData.parentMtab, 1, _SOMMTOKEN_EventComm_EventConnection(disconnect)); 
}

/* NewClass Function */
SOMEXTERN SOM_IMPORTEXPORT_event_eventcom SOMClass * SOMLINK  EventComm_SupplierNewClass (long reqMajorVersion, long reqMinorVersion)
{
    if (_SOMCLASS_EventComm_Supplier && _SOMCLASS_EventComm_Supplier->somCheckVersion(reqMajorVersion, reqMinorVersion))
          return ((SOMClass*)((void*)_SOMCLASS_EventComm_Supplier));
__somC_EventComm_Supplier_parentArray[0] = (SOMClass **)&_SOMCLASS_EventComm_EventConnection;
   /* require parents */
   if (!_SOMCLASS_EventComm_EventConnection) EventComm_EventConnectionNewClass(EventComm_EventConnection_MajorVersion,EventComm_EventConnection_MinorVersion);
   /* return new class */
   return ((SOMClass*)(void*)somBuildClass2(&EventComm_Supplier_ClassInitBlock, reqMajorVersion, reqMinorVersion));
}

#if defined(__IBMC__) && (__IBMC__ >= 300)
  #pragma info(restore)
#else
  #if defined(__IBMC__)
    #pragma checkout(resume)
  #endif
#endif



#endif /* Primary Implementation Support */

#endif       /* SOM_EventComm_Supplier_xih */
