
/*
 * This file was generated by the SOM Compiler.
 * FileName: clientev.h.
 * Generated using:
 *     SOM Precompiler somipc: 2.29.1.3
 *     SOM Emitter emith.dll: 2.41
 */

/*
 * 
 *    COMPONENT_NAME: somu
 * 
 *    ORIGINS: 27
 * 
 * 
 *    10H9767, 10H9769  (C) COPYRIGHT International Business Machines Corp. 1992,1994
 *    All Rights Reserved
 *    Licensed Materials - Property of IBM
 *    US Government Users Restricted Rights - Use, duplication or
 *    disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
 * 
 */


#ifndef SOM_SOMEClientEvent_h
#define SOM_SOMEClientEvent_h


#include <som.h>

/*
 * -- This emitter treats Method Tokens as Thunks by default.
 * -- Use the sc modifier "nothunks" to change this default
 */
#undef somresolve_
#define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))



/*
 * Define class data structures as resolution macros
 */
#define SOMEClientEventClassData (*resolve_SOMEClientEventClassData())
#define SOMEClientEventCClassData (*resolve_SOMEClientEventCClassData())

/*
 * Define the class name as an object type
 */
#ifndef SOMEClientEvent
#define SOMEClientEvent SOMObject
#endif
#include <event.h>

/*
 * Start of user-defined types:
 */
#ifndef SOMClass
    #define SOMClass SOMObject
#endif /* SOMClass */

/*
 * End of user-defined types.
 */

#define SOMEClientEvent_MajorVersion 2
#define SOMEClientEvent_MinorVersion 1

/*
 * External name shortening if required
 */
#ifdef SOM_USE_SHORT_EXTERNAL_NAMES
#define SOMEClientEventNewClass c
#define SOMEClientEventClassData d
#define SOMEClientEventCClassData x
#endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
/*--------------Migration------------*/
#define SOMEClientEvent_classObj SOMEClientEventClassData.classObject
#define _SOMEClientEvent SOMEClientEvent_classObj

/*
 * Declare the class creation procedure
 */
SOMEXTERN SOMClass * SOMLINK SOMEClientEventNewClass(integer4 somntmajorVersion,
		integer4 somntminorVersion);

/*
 * Declare the class data structure
 */
SOMEXTERN struct SOMEClientEventClassDataStructure {
	SOMClass *classObject;
	somMToken somevGetEventClientData;
	somMToken somevGetEventClientType;
	somMToken somevSetEventClientData;
	somMToken somevSetEventClientType;
}  _SOMEClientEventClassData;
SOMEXTERN struct SOMEClientEventClassDataStructure * SOMLINK resolve_SOMEClientEventClassData(void);

/*
 * Declare the C specific class data structure
 */
SOMEXTERN struct SOMEClientEventCClassDataStructure {
	somMethodTabs parentMtab;
	somDToken instanceDataToken;
}  _SOMEClientEventCClassData;
SOMEXTERN struct SOMEClientEventCClassDataStructure * SOMLINK resolve_SOMEClientEventCClassData(void);

/*
 * New and Renew macros for SOMEClientEvent
 */
#define SOMEClientEventNew() \
   (_somNew(_SOMEClientEvent ? _SOMEClientEvent : SOMEClientEventNewClass(SOMEClientEvent_MajorVersion, SOMEClientEvent_MinorVersion)))
#define SOMEClientEventRenew(buf) \
   (_somRenew(_SOMEClientEvent ? _SOMEClientEvent : SOMEClientEventNewClass(SOMEClientEvent_MajorVersion, SOMEClientEvent_MinorVersion), buf))

/*
 * Override method: somInit
 */
#define SOMEClientEvent_somInit(somSelf) \
	SOMObject_somInit(somSelf)

/*
 * New Method: somevGetEventClientData
 */
typedef void*   (SOMLINK * somTD_SOMEClientEvent_somevGetEventClientData)(SOMEClientEvent *somSelf, Environment *ev);
#define somMD_SOMEClientEvent_somevGetEventClientData "::SOMEClientEvent::somevGetEventClientData"
#define SOMEClientEvent_somevGetEventClientData(somSelf,ev) \
    (SOM_Resolve(somSelf, SOMEClientEvent, somevGetEventClientData) \
	(somSelf,ev))
#ifndef SOMGD_somevGetEventClientData
    #if (defined(_somevGetEventClientData) || defined(__somevGetEventClientData))
        #undef _somevGetEventClientData
        #undef __somevGetEventClientData
        #define SOMGD_somevGetEventClientData 1
    #else
        #define _somevGetEventClientData SOMEClientEvent_somevGetEventClientData
    #endif /* _somevGetEventClientData */
#endif /* SOMGD_somevGetEventClientData */

/*
 * New Method: somevGetEventClientType
 */
typedef string   (SOMLINK * somTD_SOMEClientEvent_somevGetEventClientType)(SOMEClientEvent *somSelf, Environment *ev);
#define somMD_SOMEClientEvent_somevGetEventClientType "::SOMEClientEvent::somevGetEventClientType"
#define SOMEClientEvent_somevGetEventClientType(somSelf,ev) \
    (SOM_Resolve(somSelf, SOMEClientEvent, somevGetEventClientType) \
	(somSelf,ev))
#ifndef SOMGD_somevGetEventClientType
    #if (defined(_somevGetEventClientType) || defined(__somevGetEventClientType))
        #undef _somevGetEventClientType
        #undef __somevGetEventClientType
        #define SOMGD_somevGetEventClientType 1
    #else
        #define _somevGetEventClientType SOMEClientEvent_somevGetEventClientType
    #endif /* _somevGetEventClientType */
#endif /* SOMGD_somevGetEventClientType */

/*
 * New Method: somevSetEventClientData
 */
typedef void   (SOMLINK * somTD_SOMEClientEvent_somevSetEventClientData)(SOMEClientEvent *somSelf, Environment *ev,
		void* clientData);
#define somMD_SOMEClientEvent_somevSetEventClientData "::SOMEClientEvent::somevSetEventClientData"
#define SOMEClientEvent_somevSetEventClientData(somSelf,ev,clientData) \
    (SOM_Resolve(somSelf, SOMEClientEvent, somevSetEventClientData) \
	(somSelf,ev,clientData))
#ifndef SOMGD_somevSetEventClientData
    #if (defined(_somevSetEventClientData) || defined(__somevSetEventClientData))
        #undef _somevSetEventClientData
        #undef __somevSetEventClientData
        #define SOMGD_somevSetEventClientData 1
    #else
        #define _somevSetEventClientData SOMEClientEvent_somevSetEventClientData
    #endif /* _somevSetEventClientData */
#endif /* SOMGD_somevSetEventClientData */

/*
 * New Method: somevSetEventClientType
 */
typedef void   (SOMLINK * somTD_SOMEClientEvent_somevSetEventClientType)(SOMEClientEvent *somSelf, Environment *ev,
		string clientType);
#define somMD_SOMEClientEvent_somevSetEventClientType "::SOMEClientEvent::somevSetEventClientType"
#define SOMEClientEvent_somevSetEventClientType(somSelf,ev,clientType) \
    (SOM_Resolve(somSelf, SOMEClientEvent, somevSetEventClientType) \
	(somSelf,ev,clientType))
#ifndef SOMGD_somevSetEventClientType
    #if (defined(_somevSetEventClientType) || defined(__somevSetEventClientType))
        #undef _somevSetEventClientType
        #undef __somevSetEventClientType
        #define SOMGD_somevSetEventClientType 1
    #else
        #define _somevSetEventClientType SOMEClientEvent_somevSetEventClientType
    #endif /* _somevSetEventClientType */
#endif /* SOMGD_somevSetEventClientType */
#ifndef SOM_DONT_USE_INHERITED_MACROS
#define SOMEClientEvent_somevGetEventTime SOMEEvent_somevGetEventTime
#define SOMEClientEvent_somevGetEventType SOMEEvent_somevGetEventType
#define SOMEClientEvent_somevSetEventTime SOMEEvent_somevSetEventTime
#define SOMEClientEvent_somevSetEventType SOMEEvent_somevSetEventType
#define SOMEClientEvent_somDefaultInit SOMObject_somDefaultInit
#define SOMEClientEvent_somDestruct SOMObject_somDestruct
#define SOMEClientEvent_somDefaultCopyInit SOMObject_somDefaultCopyInit
#define SOMEClientEvent_somDefaultAssign SOMObject_somDefaultAssign
#define SOMEClientEvent_somDefaultConstCopyInit SOMObject_somDefaultConstCopyInit
#define SOMEClientEvent_somDefaultVCopyInit SOMObject_somDefaultVCopyInit
#define SOMEClientEvent_somDefaultConstVCopyInit SOMObject_somDefaultConstVCopyInit
#define SOMEClientEvent_somDefaultConstAssign SOMObject_somDefaultConstAssign
#define SOMEClientEvent_somDefaultVAssign SOMObject_somDefaultVAssign
#define SOMEClientEvent_somDefaultConstVAssign SOMObject_somDefaultConstVAssign
#define SOMEClientEvent_somFree SOMObject_somFree
#define SOMEClientEvent_somUninit SOMObject_somUninit
#define SOMEClientEvent_somGetClass SOMObject_somGetClass
#define SOMEClientEvent_somGetClassName SOMObject_somGetClassName
#define SOMEClientEvent_somGetSize SOMObject_somGetSize
#define SOMEClientEvent_somIsA SOMObject_somIsA
#define SOMEClientEvent_somIsInstanceOf SOMObject_somIsInstanceOf
#define SOMEClientEvent_somRespondsTo SOMObject_somRespondsTo
#define SOMEClientEvent_somDispatch SOMObject_somDispatch
#define SOMEClientEvent_somClassDispatch SOMObject_somClassDispatch
#define SOMEClientEvent_somCastObj SOMObject_somCastObj
#define SOMEClientEvent_somResetObj SOMObject_somResetObj
#define SOMEClientEvent_somDispatchV SOMObject_somDispatchV
#define SOMEClientEvent_somDispatchL SOMObject_somDispatchL
#define SOMEClientEvent_somDispatchA SOMObject_somDispatchA
#define SOMEClientEvent_somDispatchD SOMObject_somDispatchD
#define SOMEClientEvent_somPrintSelf SOMObject_somPrintSelf
#define SOMEClientEvent_somDumpSelf SOMObject_somDumpSelf
#define SOMEClientEvent_somDumpSelfInt SOMObject_somDumpSelfInt
#endif /* SOM_DONT_USE_INHERITED_MACROS */

#endif       /* SOM_SOMEClientEvent_h */
