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

/*
 * 
 *  Classes defined in this interface
 * 
 */


#ifndef SOM_ODNameResolver_h
#define SOM_ODNameResolver_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 ODNameResolverClassData (*resolve_ODNameResolverClassData())
#define ODNameResolverCClassData (*resolve_ODNameResolverCClassData())

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

/*
 * Start of user-defined types:
 */
#ifndef SOMClass
    #define SOMClass SOMObject
#endif /* SOMClass */
#ifndef ODObject
    #define ODObject SOMObject
#endif /* ODObject */
#ifndef ODExtension
    #define ODExtension SOMObject
#endif /* ODExtension */
#ifndef ODBaseNameResolver
    #define ODBaseNameResolver SOMObject
#endif /* ODBaseNameResolver */
#ifndef ODPart
    #define ODPart SOMObject
#endif /* ODPart */
#ifndef ODMessageInterface
    #define ODMessageInterface SOMObject
#endif /* ODMessageInterface */
#ifndef ODSession
    #define ODSession SOMObject
#endif /* ODSession */
#ifndef ODFrame
    #define ODFrame SOMObject
#endif /* ODFrame */
#ifndef ODSemanticInterface
    #define ODSemanticInterface SOMObject
#endif /* ODSemanticInterface */
#ifndef ODDesc
    #define ODDesc SOMObject
#endif /* ODDesc */
#ifndef ODOSLToken
    #define ODOSLToken SOMObject
#endif /* ODOSLToken */
#ifndef ODObjectSpec
    #define ODObjectSpec SOMObject
#endif /* ODObjectSpec */
#ifndef ODNameResolver
    #define ODNameResolver SOMObject
#endif /* ODNameResolver */
#ifndef AEHashTable
    #define AEHashTable SOMObject
#endif /* AEHashTable */

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

#define ODNameResolver_MajorVersion 1
#define ODNameResolver_MinorVersion 0

/*
 * External name shortening if required
 */
#ifdef SOM_USE_SHORT_EXTERNAL_NAMES
#define ODNameResolverNewClass c
#define ODNameResolverClassData d
#define ODNameResolverCClassData x
#endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
/*--------------Migration------------*/
#define ODNameResolver_classObj ODNameResolverClassData.classObject
#define _ODNameResolver ODNameResolver_classObj

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

/*
 * Declare the class data structure
 */
SOMEXTERN struct ODNameResolverClassDataStructure {
	SOMClass *classObject;
	somMToken GetUserToken;
	somMToken SetUserToken;
	somMToken IsODToken;
	somMToken GetContextFromToken;
	somMToken GetSession;
	somMToken GetSemtIntf;
	somMToken GetPartFromToken;
	somMToken GetCurrentContextPart;
	somMToken SetCurrentContextPart;
	somMToken ClearLastSwapFrame;
	somMToken InitNameResolver;
	somMToken GetContextForPart;
	somMToken CreateContext;
	somMToken TokenIsDefault;
}  _ODNameResolverClassData;
SOMEXTERN struct ODNameResolverClassDataStructure * SOMLINK resolve_ODNameResolverClassData(void);

/*
 * Declare the C specific class data structure
 */
SOMEXTERN struct ODNameResolverCClassDataStructure {
	somMethodTabs parentMtab;
	somDToken instanceDataToken;
}  _ODNameResolverCClassData;
SOMEXTERN struct ODNameResolverCClassDataStructure * SOMLINK resolve_ODNameResolverCClassData(void);

/*
 * New and Renew macros for ODNameResolver
 */
#define ODNameResolverNew() \
   (_somNew(_ODNameResolver ? _ODNameResolver : ODNameResolverNewClass(ODNameResolver_MajorVersion, ODNameResolver_MinorVersion)))
#define ODNameResolverRenew(buf) \
   (_somRenew(_ODNameResolver ? _ODNameResolver : ODNameResolverNewClass(ODNameResolver_MajorVersion, ODNameResolver_MinorVersion), buf))

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

/*
 * Override method: somUninit
 */
#define ODNameResolver_somUninit(somSelf) \
	SOMObject_somUninit(somSelf)

/*
 * Override method: Purge
 */
#define ODNameResolver_Purge(somSelf,ev,size) \
	ODObject_Purge(somSelf,ev,size)

/*
 * Override method: Resolve
 */
#define ODNameResolver_Resolve(somSelf,ev,theObject,token,contextPart) \
	ODBaseNameResolver_Resolve(somSelf,ev,theObject,token,contextPart)

/*
 * Override method: CreateSwapToken
 */
#define ODNameResolver_CreateSwapToken(somSelf,ev,token,frame) \
	ODBaseNameResolver_CreateSwapToken(somSelf,ev,token,frame)

/*
 * Override method: GetContainingFrame
 */
#define ODNameResolver_GetContainingFrame(somSelf,ev) \
	ODBaseNameResolver_GetContainingFrame(somSelf,ev)

/*
 * Override method: CallObjectAccessor
 */
#define ODNameResolver_CallObjectAccessor(somSelf,ev,part,desiredClass,containerToken,containerClass,keyForm,keyData,token) \
	ODBaseNameResolver_CallObjectAccessor(somSelf,ev,part,desiredClass,containerToken,containerClass,keyForm,keyData,token)

/*
 * Override method: DisposeToken
 */
#define ODNameResolver_DisposeToken(somSelf,ev,theToken) \
	ODBaseNameResolver_DisposeToken(somSelf,ev,theToken)

/*
 * New Method: GetUserToken
 */
typedef void   (SOMLINK * somTD_ODNameResolver_GetUserToken)(ODNameResolver *somSelf, Environment *ev,
		ODOSLToken* token,
		ODDesc** desc);
#define somMD_ODNameResolver_GetUserToken "::ODNameResolver::GetUserToken"
#define ODNameResolver_GetUserToken(somSelf,ev,token,desc) \
    (SOM_Resolve(somSelf, ODNameResolver, GetUserToken) \
	(somSelf,ev,token,desc))
#ifndef SOMGD_GetUserToken
    #if (defined(_GetUserToken) || defined(__GetUserToken))
        #undef _GetUserToken
        #undef __GetUserToken
        #define SOMGD_GetUserToken 1
    #else
        #define _GetUserToken ODNameResolver_GetUserToken
    #endif /* _GetUserToken */
#endif /* SOMGD_GetUserToken */

/*
 * New Method: SetUserToken
 */
typedef void   (SOMLINK * somTD_ODNameResolver_SetUserToken)(ODNameResolver *somSelf, Environment *ev,
		ODOSLToken* token,
		ODDesc* desc);
#define somMD_ODNameResolver_SetUserToken "::ODNameResolver::SetUserToken"
#define ODNameResolver_SetUserToken(somSelf,ev,token,desc) \
    (SOM_Resolve(somSelf, ODNameResolver, SetUserToken) \
	(somSelf,ev,token,desc))
#ifndef SOMGD_SetUserToken
    #if (defined(_SetUserToken) || defined(__SetUserToken))
        #undef _SetUserToken
        #undef __SetUserToken
        #define SOMGD_SetUserToken 1
    #else
        #define _SetUserToken ODNameResolver_SetUserToken
    #endif /* _SetUserToken */
#endif /* SOMGD_SetUserToken */

/*
 * New Method: IsODToken
 */
typedef ODBoolean   (SOMLINK * somTD_ODNameResolver_IsODToken)(ODNameResolver *somSelf, Environment *ev,
		ODOSLToken* token);
#define somMD_ODNameResolver_IsODToken "::ODNameResolver::IsODToken"
#define ODNameResolver_IsODToken(somSelf,ev,token) \
    (SOM_Resolve(somSelf, ODNameResolver, IsODToken) \
	(somSelf,ev,token))
#ifndef SOMGD_IsODToken
    #if (defined(_IsODToken) || defined(__IsODToken))
        #undef _IsODToken
        #undef __IsODToken
        #define SOMGD_IsODToken 1
    #else
        #define _IsODToken ODNameResolver_IsODToken
    #endif /* _IsODToken */
#endif /* SOMGD_IsODToken */

/*
 * New Method: GetContextFromToken
 */
typedef void   (SOMLINK * somTD_ODNameResolver_GetContextFromToken)(ODNameResolver *somSelf, Environment *ev,
		ODOSLToken* token,
		ODPart** part,
		ODFrame** frame);
#define somMD_ODNameResolver_GetContextFromToken "::ODNameResolver::GetContextFromToken"
#define ODNameResolver_GetContextFromToken(somSelf,ev,token,part,frame) \
    (SOM_Resolve(somSelf, ODNameResolver, GetContextFromToken) \
	(somSelf,ev,token,part,frame))
#ifndef SOMGD_GetContextFromToken
    #if (defined(_GetContextFromToken) || defined(__GetContextFromToken))
        #undef _GetContextFromToken
        #undef __GetContextFromToken
        #define SOMGD_GetContextFromToken 1
    #else
        #define _GetContextFromToken ODNameResolver_GetContextFromToken
    #endif /* _GetContextFromToken */
#endif /* SOMGD_GetContextFromToken */

/*
 * New Method: InitNameResolver
 */
typedef void   (SOMLINK * somTD_ODNameResolver_InitNameResolver)(ODNameResolver *somSelf, Environment *ev,
		ODSession* session);
#define somMD_ODNameResolver_InitNameResolver "::ODNameResolver::InitNameResolver"
#define ODNameResolver_InitNameResolver(somSelf,ev,session) \
    (SOM_Resolve(somSelf, ODNameResolver, InitNameResolver) \
	(somSelf,ev,session))
#ifndef SOMGD_InitNameResolver
    #if (defined(_InitNameResolver) || defined(__InitNameResolver))
        #undef _InitNameResolver
        #undef __InitNameResolver
        #define SOMGD_InitNameResolver 1
    #else
        #define _InitNameResolver ODNameResolver_InitNameResolver
    #endif /* _InitNameResolver */
#endif /* SOMGD_InitNameResolver */

/*
 * New Method: GetSemtIntf
 */
typedef ODSemanticInterface*   (SOMLINK * somTD_ODNameResolver_GetSemtIntf)(ODNameResolver *somSelf, Environment *ev,
		ODPart* part);
#define somMD_ODNameResolver_GetSemtIntf "::ODNameResolver::GetSemtIntf"
#define ODNameResolver_GetSemtIntf(somSelf,ev,part) \
    (SOM_Resolve(somSelf, ODNameResolver, GetSemtIntf) \
	(somSelf,ev,part))
#ifndef SOMGD_GetSemtIntf
    #if (defined(_GetSemtIntf) || defined(__GetSemtIntf))
        #undef _GetSemtIntf
        #undef __GetSemtIntf
        #define SOMGD_GetSemtIntf 1
    #else
        #define _GetSemtIntf ODNameResolver_GetSemtIntf
    #endif /* _GetSemtIntf */
#endif /* SOMGD_GetSemtIntf */

/*
 * New Method: GetSession
 */
typedef ODSession*   (SOMLINK * somTD_ODNameResolver_GetSession)(ODNameResolver *somSelf, Environment *ev);
#define somMD_ODNameResolver_GetSession "::ODNameResolver::GetSession"
#define ODNameResolver_GetSession(somSelf,ev) \
    (SOM_Resolve(somSelf, ODNameResolver, GetSession) \
	(somSelf,ev))
#ifndef SOMGD_GetSession
    #if (defined(_GetSession) || defined(__GetSession))
        #undef _GetSession
        #undef __GetSession
        #define SOMGD_GetSession 1
    #else
        #define _GetSession ODNameResolver_GetSession
    #endif /* _GetSession */
#endif /* SOMGD_GetSession */

/*
 * New Method: GetPartFromToken
 */
typedef ODPart*   (SOMLINK * somTD_ODNameResolver_GetPartFromToken)(ODNameResolver *somSelf, Environment *ev,
		ODOSLToken* token);
#define somMD_ODNameResolver_GetPartFromToken "::ODNameResolver::GetPartFromToken"
#define ODNameResolver_GetPartFromToken(somSelf,ev,token) \
    (SOM_Resolve(somSelf, ODNameResolver, GetPartFromToken) \
	(somSelf,ev,token))
#ifndef SOMGD_GetPartFromToken
    #if (defined(_GetPartFromToken) || defined(__GetPartFromToken))
        #undef _GetPartFromToken
        #undef __GetPartFromToken
        #define SOMGD_GetPartFromToken 1
    #else
        #define _GetPartFromToken ODNameResolver_GetPartFromToken
    #endif /* _GetPartFromToken */
#endif /* SOMGD_GetPartFromToken */

/*
 * New Method: GetCurrentContextPart
 */
typedef ODPart*   (SOMLINK * somTD_ODNameResolver_GetCurrentContextPart)(ODNameResolver *somSelf, Environment *ev);
#define somMD_ODNameResolver_GetCurrentContextPart "::ODNameResolver::GetCurrentContextPart"
#define ODNameResolver_GetCurrentContextPart(somSelf,ev) \
    (SOM_Resolve(somSelf, ODNameResolver, GetCurrentContextPart) \
	(somSelf,ev))
#ifndef SOMGD_GetCurrentContextPart
    #if (defined(_GetCurrentContextPart) || defined(__GetCurrentContextPart))
        #undef _GetCurrentContextPart
        #undef __GetCurrentContextPart
        #define SOMGD_GetCurrentContextPart 1
    #else
        #define _GetCurrentContextPart ODNameResolver_GetCurrentContextPart
    #endif /* _GetCurrentContextPart */
#endif /* SOMGD_GetCurrentContextPart */

/*
 * New Method: SetCurrentContextPart
 */
typedef void   (SOMLINK * somTD_ODNameResolver_SetCurrentContextPart)(ODNameResolver *somSelf, Environment *ev,
		ODPart* part);
#define somMD_ODNameResolver_SetCurrentContextPart "::ODNameResolver::SetCurrentContextPart"
#define ODNameResolver_SetCurrentContextPart(somSelf,ev,part) \
    (SOM_Resolve(somSelf, ODNameResolver, SetCurrentContextPart) \
	(somSelf,ev,part))
#ifndef SOMGD_SetCurrentContextPart
    #if (defined(_SetCurrentContextPart) || defined(__SetCurrentContextPart))
        #undef _SetCurrentContextPart
        #undef __SetCurrentContextPart
        #define SOMGD_SetCurrentContextPart 1
    #else
        #define _SetCurrentContextPart ODNameResolver_SetCurrentContextPart
    #endif /* _SetCurrentContextPart */
#endif /* SOMGD_SetCurrentContextPart */

/*
 * New Method: ClearLastSwapFrame
 */
typedef void   (SOMLINK * somTD_ODNameResolver_ClearLastSwapFrame)(ODNameResolver *somSelf, Environment *ev);
#define somMD_ODNameResolver_ClearLastSwapFrame "::ODNameResolver::ClearLastSwapFrame"
#define ODNameResolver_ClearLastSwapFrame(somSelf,ev) \
    (SOM_Resolve(somSelf, ODNameResolver, ClearLastSwapFrame) \
	(somSelf,ev))
#ifndef SOMGD_ClearLastSwapFrame
    #if (defined(_ClearLastSwapFrame) || defined(__ClearLastSwapFrame))
        #undef _ClearLastSwapFrame
        #undef __ClearLastSwapFrame
        #define SOMGD_ClearLastSwapFrame 1
    #else
        #define _ClearLastSwapFrame ODNameResolver_ClearLastSwapFrame
    #endif /* _ClearLastSwapFrame */
#endif /* SOMGD_ClearLastSwapFrame */

/*
 * New Method: GetContextForPart
 */
typedef void   (SOMLINK * somTD_ODNameResolver_GetContextForPart)(ODNameResolver *somSelf, Environment *ev,
		ODPart* part,
		OSLContext* blah);
#define somMD_ODNameResolver_GetContextForPart "::ODNameResolver::GetContextForPart"
#define ODNameResolver_GetContextForPart(somSelf,ev,part,blah) \
    (SOM_Resolve(somSelf, ODNameResolver, GetContextForPart) \
	(somSelf,ev,part,blah))
#ifndef SOMGD_GetContextForPart
    #if (defined(_GetContextForPart) || defined(__GetContextForPart))
        #undef _GetContextForPart
        #undef __GetContextForPart
        #define SOMGD_GetContextForPart 1
    #else
        #define _GetContextForPart ODNameResolver_GetContextForPart
    #endif /* _GetContextForPart */
#endif /* SOMGD_GetContextForPart */

/*
 * New Method: CreateContext
 */
typedef void   (SOMLINK * somTD_ODNameResolver_CreateContext)(ODNameResolver *somSelf, Environment *ev,
		ODPart* part,
		OSLContext* blah);
#define somMD_ODNameResolver_CreateContext "::ODNameResolver::CreateContext"
#define ODNameResolver_CreateContext(somSelf,ev,part,blah) \
    (SOM_Resolve(somSelf, ODNameResolver, CreateContext) \
	(somSelf,ev,part,blah))
#ifndef SOMGD_CreateContext
    #if (defined(_CreateContext) || defined(__CreateContext))
        #undef _CreateContext
        #undef __CreateContext
        #define SOMGD_CreateContext 1
    #else
        #define _CreateContext ODNameResolver_CreateContext
    #endif /* _CreateContext */
#endif /* SOMGD_CreateContext */

/*
 * New Method: TokenIsDefault
 */
typedef ODBoolean   (SOMLINK * somTD_ODNameResolver_TokenIsDefault)(ODNameResolver *somSelf, Environment *ev,
		AEDesc* token);
#define somMD_ODNameResolver_TokenIsDefault "::ODNameResolver::TokenIsDefault"
#define ODNameResolver_TokenIsDefault(somSelf,ev,token) \
    (SOM_Resolve(somSelf, ODNameResolver, TokenIsDefault) \
	(somSelf,ev,token))
#ifndef SOMGD_TokenIsDefault
    #if (defined(_TokenIsDefault) || defined(__TokenIsDefault))
        #undef _TokenIsDefault
        #undef __TokenIsDefault
        #define SOMGD_TokenIsDefault 1
    #else
        #define _TokenIsDefault ODNameResolver_TokenIsDefault
    #endif /* _TokenIsDefault */
#endif /* SOMGD_TokenIsDefault */
#ifndef SOM_DONT_USE_INHERITED_MACROS
#define ODNameResolver_InitBaseNameResolver ODBaseNameResolver_InitBaseNameResolver
#define ODNameResolver_InitObject ODObject_InitObject
#define ODNameResolver_IsInitialized ODObject_IsInitialized
#define ODNameResolver_HasExtension ODObject_HasExtension
#define ODNameResolver_GetExtension ODObject_GetExtension
#define ODNameResolver_ReleaseExtension ODObject_ReleaseExtension
#define ODNameResolver_IsEqualTo ODObject_IsEqualTo
#define ODNameResolver_SubClassResponsibility ODObject_SubClassResponsibility
#define ODNameResolver_somDefaultInit SOMObject_somDefaultInit
#define ODNameResolver_somDestruct SOMObject_somDestruct
#define ODNameResolver_somDefaultCopyInit SOMObject_somDefaultCopyInit
#define ODNameResolver_somDefaultAssign SOMObject_somDefaultAssign
#define ODNameResolver_somDefaultConstCopyInit SOMObject_somDefaultConstCopyInit
#define ODNameResolver_somDefaultVCopyInit SOMObject_somDefaultVCopyInit
#define ODNameResolver_somDefaultConstVCopyInit SOMObject_somDefaultConstVCopyInit
#define ODNameResolver_somDefaultConstAssign SOMObject_somDefaultConstAssign
#define ODNameResolver_somDefaultVAssign SOMObject_somDefaultVAssign
#define ODNameResolver_somDefaultConstVAssign SOMObject_somDefaultConstVAssign
#define ODNameResolver_somFree SOMObject_somFree
#define ODNameResolver_somGetClass SOMObject_somGetClass
#define ODNameResolver_somGetClassName SOMObject_somGetClassName
#define ODNameResolver_somGetSize SOMObject_somGetSize
#define ODNameResolver_somIsA SOMObject_somIsA
#define ODNameResolver_somIsInstanceOf SOMObject_somIsInstanceOf
#define ODNameResolver_somRespondsTo SOMObject_somRespondsTo
#define ODNameResolver_somDispatch SOMObject_somDispatch
#define ODNameResolver_somClassDispatch SOMObject_somClassDispatch
#define ODNameResolver_somCastObj SOMObject_somCastObj
#define ODNameResolver_somResetObj SOMObject_somResetObj
#define ODNameResolver_somDispatchV SOMObject_somDispatchV
#define ODNameResolver_somDispatchL SOMObject_somDispatchL
#define ODNameResolver_somDispatchA SOMObject_somDispatchA
#define ODNameResolver_somDispatchD SOMObject_somDispatchD
#define ODNameResolver_somPrintSelf SOMObject_somPrintSelf
#define ODNameResolver_somDumpSelf SOMObject_somDumpSelf
#define ODNameResolver_somDumpSelfInt SOMObject_somDumpSelfInt
#endif /* SOM_DONT_USE_INHERITED_MACROS */

#endif       /* SOM_ODNameResolver_h */
