
/*
 * This file was generated by the SOM Compiler.
 * FileName: F:\BUILD\NT\ship\include\MenuAdW.xh.
 * Generated using:
 *     SOM Precompiler somipc: Development
 *     SOM Emitter emitxh.dll: Development
 */

#ifndef SOM_ODWinMenuAdapter_xh
#define SOM_ODWinMenuAdapter_xh

class ODWinMenuAdapter;

#define ODWinMenuAdapter_MajorVersion 1
#define ODWinMenuAdapter_MinorVersion 0

/*
 * Passthru lines: File: "C.xh", "before"
 */
typedef struct ODWinMenuItemAdapter {
    ODMenuItemID        id;
    ODWinMenuAdapter*   parentAdapter;
    ODWinMenuAdapter*   subMenuAdapter;

    ODBoolean           enabled;
    ODBoolean           hidden;
    ODBoolean           checked;
    ODBoolean           separator;
    string              text;
};



/* C++ SOM defs */
#include <somcls.xh>
#include <somcm.xh>

/* C++ parent defs */
#ifndef SOM_ODObject_xh
#include <ODObject.xh>
#endif

#ifndef ODWinMenuAdapter_API
#define ODWinMenuAdapter_API
/*
 * -- The Class API
 */

/*
 * Start of user-defined types:
 */
class SOMClass;
class SOMObject;
class ODFrame;
class ODFacet;
class ODPlatformCanvas;
class ODObject;
class ODExtension;
class ODRefCntObject;
class ODPersistentObject;
class ODStorageUnit;
class ODPart;
class M_ODPart;
class ODCanvas;
class ODDragItemIterator;
class ODEmbeddedFramesIterator;
class ODLink;
class ODLinkSource;
class ODObjectSpec;
class ODShape;
class ODStorageUnitView;
class ODTypeList;
class ODWinMenuAdapter;

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

/* A procedure to create the ODWinMenuAdapter Class */
SOMEXTERN
#if (defined(SOM_Module_MenuAdW_Source) || defined(ODWinMenuAdapter_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_ODWinMenuAdapter))
WIN32_DLLEXPORT
#else
WIN32_DLLIMPORT
#endif
SOMClass * SOMLINK ODWinMenuAdapterNewClass(
		integer4,
		integer4 );

/* The API to the ODWinMenuAdapter class object, and the methods it introduces. */
SOMEXTERN struct ODWinMenuAdapterClassDataStructure {
	SOMClass *classObject;
	somMToken Init;
	somMToken AddItemsFromPlatMenuEx;
	somMToken MenuID;
	somMToken IsMenuEnabled;
	somMToken DisableMenu;
	somMToken EnableMenu;
	somMToken GetMenuText;
	somMToken SetMenuText;
	somMToken GetMenuItemText;
	somMToken SetMenuItemText;
	somMToken SetHideMenuItem;
	somMToken SetShowMenuItem;
	somMToken CheckMenuItem;
	somMToken EnableMenuItem;
	somMToken AddMenuItemBefore;
	somMToken AddMenuItemLast;
	somMToken AddSubMenuBeforeEx;
	somMToken AddSubMenuLastEx;
	somMToken GetSubMenu;
	somMToken ItemExists;
	somMToken IsItemEnabled;
	somMToken IsItemChecked;
	somMToken IsItemHidden;
	somMToken RemoveMenuItem;
	somMToken GetPlatMenuItem;
	somMToken GetPlatMenu;
	somMToken GetSubMenuAdapter;
	somMToken GetParentAdapter;
	somMToken SetParentAdapter;
	somMToken GetPosInParentMenu;
	somMToken GetSubMenuIDInfo;
	somMToken reserved1;
	somMToken reserved2;
	somMToken reserved3;
	somMToken reserved4;
}
#if !(defined(SOM_Module_MenuAdW_Source) || defined(ODWinMenuAdapter_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_ODWinMenuAdapter))
WIN32_DLLIMPORT
#elif defined(_MSC_VER)||defined(_WIN32_DECL_PROTO)
WIN32_DLLEXPORT
#endif
SOMDLINK ODWinMenuAdapterClassData;
#define _ODWinMenuAdapter ODWinMenuAdapterClassData.classObject

/* The API to parentMtabs for ODWinMenuAdapter, and the instance data it introduces. */
SOMEXTERN struct ODWinMenuAdapterCClassDataStructure {
	somMethodTabs parentMtab;
	somDToken              instanceDataToken;
}
#if !(defined(SOM_Module_MenuAdW_Source) || defined(ODWinMenuAdapter_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_ODWinMenuAdapter))
WIN32_DLLIMPORT
#elif defined(_MSC_VER)||defined(_WIN32_DECL_PROTO)
WIN32_DLLEXPORT
#endif
SOMDLINK ODWinMenuAdapterCClassData;

/*
 * -- Typedefs for ODWinMenuAdapter Method Procedures
 */
extern "C" {
typedef void   SOMLINK somTP_ODWinMenuAdapter_Init(ODWinMenuAdapter *somSelf, Environment *ev,
		ODMenuID id,
		HMENU parentHMENU);
typedef somTP_ODWinMenuAdapter_Init *somTD_ODWinMenuAdapter_Init;
typedef void   SOMLINK somTP_ODWinMenuAdapter_AddItemsFromPlatMenuEx(ODWinMenuAdapter *somSelf, Environment *ev,
		ODPlatformMenu platMenu,
		ODUShort subMenuIDcount,
		ODMenuIDInfo* subMenuIDinfo);
typedef somTP_ODWinMenuAdapter_AddItemsFromPlatMenuEx *somTD_ODWinMenuAdapter_AddItemsFromPlatMenuEx;
typedef ODMenuID   SOMLINK somTP_ODWinMenuAdapter_MenuID(ODWinMenuAdapter *somSelf, Environment *ev);
typedef somTP_ODWinMenuAdapter_MenuID *somTD_ODWinMenuAdapter_MenuID;
typedef ODBoolean   SOMLINK somTP_ODWinMenuAdapter_IsMenuEnabled(ODWinMenuAdapter *somSelf, Environment *ev);
typedef somTP_ODWinMenuAdapter_IsMenuEnabled *somTD_ODWinMenuAdapter_IsMenuEnabled;
typedef void   SOMLINK somTP_ODWinMenuAdapter_DisableMenu(ODWinMenuAdapter *somSelf, Environment *ev);
typedef somTP_ODWinMenuAdapter_DisableMenu *somTD_ODWinMenuAdapter_DisableMenu;
typedef void   SOMLINK somTP_ODWinMenuAdapter_EnableMenu(ODWinMenuAdapter *somSelf, Environment *ev);
typedef somTP_ODWinMenuAdapter_EnableMenu *somTD_ODWinMenuAdapter_EnableMenu;
typedef ODUShort   SOMLINK somTP_ODWinMenuAdapter_GetMenuText(ODWinMenuAdapter *somSelf, Environment *ev,
		string* menuString);
typedef somTP_ODWinMenuAdapter_GetMenuText *somTD_ODWinMenuAdapter_GetMenuText;
typedef ODBoolean   SOMLINK somTP_ODWinMenuAdapter_SetMenuText(ODWinMenuAdapter *somSelf, Environment *ev,
		string menuString);
typedef somTP_ODWinMenuAdapter_SetMenuText *somTD_ODWinMenuAdapter_SetMenuText;
typedef ODUShort   SOMLINK somTP_ODWinMenuAdapter_GetMenuItemText(ODWinMenuAdapter *somSelf, Environment *ev,
		ODMenuItemID menuItemID,
		string* menuItemString);
typedef somTP_ODWinMenuAdapter_GetMenuItemText *somTD_ODWinMenuAdapter_GetMenuItemText;
typedef ODBoolean   SOMLINK somTP_ODWinMenuAdapter_SetMenuItemText(ODWinMenuAdapter *somSelf, Environment *ev,
		ODMenuItemID menuItemID,
		string menuItemString);
typedef somTP_ODWinMenuAdapter_SetMenuItemText *somTD_ODWinMenuAdapter_SetMenuItemText;
typedef ODBoolean   SOMLINK somTP_ODWinMenuAdapter_SetHideMenuItem(ODWinMenuAdapter *somSelf, Environment *ev,
		ODMenuItemID menuItemID);
typedef somTP_ODWinMenuAdapter_SetHideMenuItem *somTD_ODWinMenuAdapter_SetHideMenuItem;
typedef ODBoolean   SOMLINK somTP_ODWinMenuAdapter_SetShowMenuItem(ODWinMenuAdapter *somSelf, Environment *ev,
		ODMenuItemID menuItemID);
typedef somTP_ODWinMenuAdapter_SetShowMenuItem *somTD_ODWinMenuAdapter_SetShowMenuItem;
typedef ODBoolean   SOMLINK somTP_ODWinMenuAdapter_CheckMenuItem(ODWinMenuAdapter *somSelf, Environment *ev,
		ODMenuItemID menuItemID,
		ODBoolean check);
typedef somTP_ODWinMenuAdapter_CheckMenuItem *somTD_ODWinMenuAdapter_CheckMenuItem;
typedef ODBoolean   SOMLINK somTP_ODWinMenuAdapter_EnableMenuItem(ODWinMenuAdapter *somSelf, Environment *ev,
		ODMenuItemID menuItemID,
		ODBoolean enable);
typedef somTP_ODWinMenuAdapter_EnableMenuItem *somTD_ODWinMenuAdapter_EnableMenuItem;
typedef ODBoolean   SOMLINK somTP_ODWinMenuAdapter_AddMenuItemBefore(ODWinMenuAdapter *somSelf, Environment *ev,
		ODMenuItemID itemID,
		ODPlatformMenuItem* item,
		ODMenuItemID beforeID);
typedef somTP_ODWinMenuAdapter_AddMenuItemBefore *somTD_ODWinMenuAdapter_AddMenuItemBefore;
typedef ODBoolean   SOMLINK somTP_ODWinMenuAdapter_AddMenuItemLast(ODWinMenuAdapter *somSelf, Environment *ev,
		ODMenuItemID itemID,
		ODPlatformMenuItem* item);
typedef somTP_ODWinMenuAdapter_AddMenuItemLast *somTD_ODWinMenuAdapter_AddMenuItemLast;
typedef ODBoolean   SOMLINK somTP_ODWinMenuAdapter_AddSubMenuBeforeEx(ODWinMenuAdapter *somSelf, Environment *ev,
		ODMenuID subMenuID,
		ODPlatformMenu subMenu,
		ODMenuItemID beforeID,
		ODUShort subMenuIDcount,
		ODMenuIDInfo* subMenuIDinfo);
typedef somTP_ODWinMenuAdapter_AddSubMenuBeforeEx *somTD_ODWinMenuAdapter_AddSubMenuBeforeEx;
typedef ODBoolean   SOMLINK somTP_ODWinMenuAdapter_AddSubMenuLastEx(ODWinMenuAdapter *somSelf, Environment *ev,
		ODMenuID subMenuID,
		ODPlatformMenu subMenu,
		ODUShort subMenuIDcount,
		ODMenuIDInfo* subMenuIDinfo);
typedef somTP_ODWinMenuAdapter_AddSubMenuLastEx *somTD_ODWinMenuAdapter_AddSubMenuLastEx;
typedef ODPlatformMenu   SOMLINK somTP_ODWinMenuAdapter_GetSubMenu(ODWinMenuAdapter *somSelf, Environment *ev,
		ODMenuID subMenuID);
typedef somTP_ODWinMenuAdapter_GetSubMenu *somTD_ODWinMenuAdapter_GetSubMenu;
typedef ODBoolean   SOMLINK somTP_ODWinMenuAdapter_ItemExists(ODWinMenuAdapter *somSelf, Environment *ev,
		ODMenuItemID menuItemID);
typedef somTP_ODWinMenuAdapter_ItemExists *somTD_ODWinMenuAdapter_ItemExists;
typedef ODBoolean   SOMLINK somTP_ODWinMenuAdapter_IsItemEnabled(ODWinMenuAdapter *somSelf, Environment *ev,
		ODMenuItemID menuItemID);
typedef somTP_ODWinMenuAdapter_IsItemEnabled *somTD_ODWinMenuAdapter_IsItemEnabled;
typedef ODBoolean   SOMLINK somTP_ODWinMenuAdapter_IsItemChecked(ODWinMenuAdapter *somSelf, Environment *ev,
		ODMenuItemID menuItemID);
typedef somTP_ODWinMenuAdapter_IsItemChecked *somTD_ODWinMenuAdapter_IsItemChecked;
typedef ODBoolean   SOMLINK somTP_ODWinMenuAdapter_IsItemHidden(ODWinMenuAdapter *somSelf, Environment *ev,
		ODMenuItemID menuItemID);
typedef somTP_ODWinMenuAdapter_IsItemHidden *somTD_ODWinMenuAdapter_IsItemHidden;
typedef ODBoolean   SOMLINK somTP_ODWinMenuAdapter_RemoveMenuItem(ODWinMenuAdapter *somSelf, Environment *ev,
		ODMenuItemID menuItemID);
typedef somTP_ODWinMenuAdapter_RemoveMenuItem *somTD_ODWinMenuAdapter_RemoveMenuItem;
typedef ODBoolean   SOMLINK somTP_ODWinMenuAdapter_GetPlatMenuItem(ODWinMenuAdapter *somSelf, Environment *ev,
		ODWinMenuItemAdapter* itemAd,
		ODPlatformMenuItem* platMenuItem);
typedef somTP_ODWinMenuAdapter_GetPlatMenuItem *somTD_ODWinMenuAdapter_GetPlatMenuItem;
typedef ODBoolean   SOMLINK somTP_ODWinMenuAdapter_GetPlatMenu(ODWinMenuAdapter *somSelf, Environment *ev,
		ODPlatformMenu* platMenu);
typedef somTP_ODWinMenuAdapter_GetPlatMenu *somTD_ODWinMenuAdapter_GetPlatMenu;
typedef ODBoolean   SOMLINK somTP_ODWinMenuAdapter_GetSubMenuAdapter(ODWinMenuAdapter *somSelf, Environment *ev,
		ODMenuID subMenuID,
		ODWinMenuAdapter** subMenuAd);
typedef somTP_ODWinMenuAdapter_GetSubMenuAdapter *somTD_ODWinMenuAdapter_GetSubMenuAdapter;
typedef void   SOMLINK somTP_ODWinMenuAdapter_GetParentAdapter(ODWinMenuAdapter *somSelf, Environment *ev,
		ODWinMenuAdapter** parentAd);
typedef somTP_ODWinMenuAdapter_GetParentAdapter *somTD_ODWinMenuAdapter_GetParentAdapter;
typedef void   SOMLINK somTP_ODWinMenuAdapter_SetParentAdapter(ODWinMenuAdapter *somSelf, Environment *ev,
		ODWinMenuAdapter* parentAd);
typedef somTP_ODWinMenuAdapter_SetParentAdapter *somTD_ODWinMenuAdapter_SetParentAdapter;
typedef ODUShort   SOMLINK somTP_ODWinMenuAdapter_GetPosInParentMenu(ODWinMenuAdapter *somSelf, Environment *ev);
typedef somTP_ODWinMenuAdapter_GetPosInParentMenu *somTD_ODWinMenuAdapter_GetPosInParentMenu;
typedef ODBoolean   SOMLINK somTP_ODWinMenuAdapter_GetSubMenuIDInfo(ODWinMenuAdapter *somSelf, Environment *ev,
		OrderedCollection* IDinfo);
typedef somTP_ODWinMenuAdapter_GetSubMenuIDInfo *somTD_ODWinMenuAdapter_GetSubMenuIDInfo;

/*
 * -- Typedefs for Reintroduced Wrapper Methods
 */
typedef void   SOMLINK somTP_ODWinMenuAdapter_InitObject(ODWinMenuAdapter *somSelf, Environment *ev);
typedef somTP_ODWinMenuAdapter_InitObject *somTD_ODWinMenuAdapter_InitObject;
typedef ODBoolean   SOMLINK somTP_ODWinMenuAdapter_HasExtension(ODWinMenuAdapter *somSelf, Environment *ev,
		ODType extensionName);
typedef somTP_ODWinMenuAdapter_HasExtension *somTD_ODWinMenuAdapter_HasExtension;
typedef ODExtension*   SOMLINK somTP_ODWinMenuAdapter_AcquireExtension(ODWinMenuAdapter *somSelf, Environment *ev,
		ODType extensionName);
typedef somTP_ODWinMenuAdapter_AcquireExtension *somTD_ODWinMenuAdapter_AcquireExtension;
typedef void   SOMLINK somTP_ODWinMenuAdapter_ReleaseExtension(ODWinMenuAdapter *somSelf, Environment *ev,
		ODExtension* extension);
typedef somTP_ODWinMenuAdapter_ReleaseExtension *somTD_ODWinMenuAdapter_ReleaseExtension;
typedef ODSize   SOMLINK somTP_ODWinMenuAdapter_Purge(ODWinMenuAdapter *somSelf, Environment *ev,
		ODSize size);
typedef somTP_ODWinMenuAdapter_Purge *somTD_ODWinMenuAdapter_Purge;
typedef ODBoolean   SOMLINK somTP_ODWinMenuAdapter_IsEqualTo(ODWinMenuAdapter *somSelf, Environment *ev,
		ODObject* object);
typedef somTP_ODWinMenuAdapter_IsEqualTo *somTD_ODWinMenuAdapter_IsEqualTo;
typedef void   SOMLINK somTP_ODWinMenuAdapter_SubClassResponsibility(ODWinMenuAdapter *somSelf, Environment *ev);
typedef somTP_ODWinMenuAdapter_SubClassResponsibility *somTD_ODWinMenuAdapter_SubClassResponsibility;
typedef void   SOMLINK somTP_ODWinMenuAdapter_somInit(ODWinMenuAdapter *somSelf);
typedef somTP_ODWinMenuAdapter_somInit *somTD_ODWinMenuAdapter_somInit;
typedef void   SOMLINK somTP_ODWinMenuAdapter_somUninit(ODWinMenuAdapter *somSelf);
typedef somTP_ODWinMenuAdapter_somUninit *somTD_ODWinMenuAdapter_somUninit;
typedef void   SOMLINK somTP_ODWinMenuAdapter_somDefaultInit(ODWinMenuAdapter *somSelf,
		somInitCtrl* ctrl);
typedef somTP_ODWinMenuAdapter_somDefaultInit *somTD_ODWinMenuAdapter_somDefaultInit;
typedef void   SOMLINK somTP_ODWinMenuAdapter_somDestruct(ODWinMenuAdapter *somSelf,
		octet doFree,
		somDestructCtrl* ctrl);
typedef somTP_ODWinMenuAdapter_somDestruct *somTD_ODWinMenuAdapter_somDestruct;
typedef void   SOMLINK somTP_ODWinMenuAdapter_somDefaultCopyInit(ODWinMenuAdapter *somSelf,
		somInitCtrl* ctrl,
		SOMObject* fromObj);
typedef somTP_ODWinMenuAdapter_somDefaultCopyInit *somTD_ODWinMenuAdapter_somDefaultCopyInit;
typedef ODWinMenuAdapter*   SOMLINK somTP_ODWinMenuAdapter_somDefaultAssign(ODWinMenuAdapter *somSelf,
		somAssignCtrl* ctrl,
		SOMObject* fromObj);
typedef somTP_ODWinMenuAdapter_somDefaultAssign *somTD_ODWinMenuAdapter_somDefaultAssign;
typedef void   SOMLINK somTP_ODWinMenuAdapter_somDefaultConstCopyInit(ODWinMenuAdapter *somSelf,
		somInitCtrl* ctrl,
		SOMObject* fromObj);
typedef somTP_ODWinMenuAdapter_somDefaultConstCopyInit *somTD_ODWinMenuAdapter_somDefaultConstCopyInit;
typedef void   SOMLINK somTP_ODWinMenuAdapter_somDefaultVCopyInit(ODWinMenuAdapter *somSelf,
		somInitCtrl* ctrl,
		SOMObject* fromObj);
typedef somTP_ODWinMenuAdapter_somDefaultVCopyInit *somTD_ODWinMenuAdapter_somDefaultVCopyInit;
typedef void   SOMLINK somTP_ODWinMenuAdapter_somDefaultConstVCopyInit(ODWinMenuAdapter *somSelf,
		somInitCtrl* ctrl,
		SOMObject* fromObj);
typedef somTP_ODWinMenuAdapter_somDefaultConstVCopyInit *somTD_ODWinMenuAdapter_somDefaultConstVCopyInit;
typedef ODWinMenuAdapter*   SOMLINK somTP_ODWinMenuAdapter_somDefaultConstAssign(ODWinMenuAdapter *somSelf,
		somAssignCtrl* ctrl,
		SOMObject* fromObj);
typedef somTP_ODWinMenuAdapter_somDefaultConstAssign *somTD_ODWinMenuAdapter_somDefaultConstAssign;
typedef ODWinMenuAdapter*   SOMLINK somTP_ODWinMenuAdapter_somDefaultVAssign(ODWinMenuAdapter *somSelf,
		somAssignCtrl* ctrl,
		SOMObject* fromObj);
typedef somTP_ODWinMenuAdapter_somDefaultVAssign *somTD_ODWinMenuAdapter_somDefaultVAssign;
typedef ODWinMenuAdapter*   SOMLINK somTP_ODWinMenuAdapter_somDefaultConstVAssign(ODWinMenuAdapter *somSelf,
		somAssignCtrl* ctrl,
		SOMObject* fromObj);
typedef somTP_ODWinMenuAdapter_somDefaultConstVAssign *somTD_ODWinMenuAdapter_somDefaultConstVAssign;
typedef void   SOMLINK somTP_ODWinMenuAdapter_somFree(ODWinMenuAdapter *somSelf);
typedef somTP_ODWinMenuAdapter_somFree *somTD_ODWinMenuAdapter_somFree;
typedef SOMClass*   SOMLINK somTP_ODWinMenuAdapter_somGetClass(ODWinMenuAdapter *somSelf);
typedef somTP_ODWinMenuAdapter_somGetClass *somTD_ODWinMenuAdapter_somGetClass;
typedef string   SOMLINK somTP_ODWinMenuAdapter_somGetClassName(ODWinMenuAdapter *somSelf);
typedef somTP_ODWinMenuAdapter_somGetClassName *somTD_ODWinMenuAdapter_somGetClassName;
typedef long   SOMLINK somTP_ODWinMenuAdapter_somGetSize(ODWinMenuAdapter *somSelf);
typedef somTP_ODWinMenuAdapter_somGetSize *somTD_ODWinMenuAdapter_somGetSize;
typedef boolean   SOMLINK somTP_ODWinMenuAdapter_somIsA(ODWinMenuAdapter *somSelf,
		SOMClass* aClassObj);
typedef somTP_ODWinMenuAdapter_somIsA *somTD_ODWinMenuAdapter_somIsA;
typedef boolean   SOMLINK somTP_ODWinMenuAdapter_somIsInstanceOf(ODWinMenuAdapter *somSelf,
		SOMClass* aClassObj);
typedef somTP_ODWinMenuAdapter_somIsInstanceOf *somTD_ODWinMenuAdapter_somIsInstanceOf;
typedef boolean   SOMLINK somTP_ODWinMenuAdapter_somRespondsTo(ODWinMenuAdapter *somSelf,
		somId mId);
typedef somTP_ODWinMenuAdapter_somRespondsTo *somTD_ODWinMenuAdapter_somRespondsTo;
typedef boolean   SOMLINK somTP_ODWinMenuAdapter_somDispatch(ODWinMenuAdapter *somSelf,
		somToken* retValue,
		somId methodId,
		va_list ap);
typedef somTP_ODWinMenuAdapter_somDispatch *somTD_ODWinMenuAdapter_somDispatch;
typedef boolean   SOMLINK somTP_ODWinMenuAdapter_somClassDispatch(ODWinMenuAdapter *somSelf,
		SOMClass* clsObj,
		somToken* retValue,
		somId methodId,
		va_list ap);
typedef somTP_ODWinMenuAdapter_somClassDispatch *somTD_ODWinMenuAdapter_somClassDispatch;
typedef boolean   SOMLINK somTP_ODWinMenuAdapter_somCastObj(ODWinMenuAdapter *somSelf,
		SOMClass* cls);
typedef somTP_ODWinMenuAdapter_somCastObj *somTD_ODWinMenuAdapter_somCastObj;
typedef boolean   SOMLINK somTP_ODWinMenuAdapter_somResetObj(ODWinMenuAdapter *somSelf);
typedef somTP_ODWinMenuAdapter_somResetObj *somTD_ODWinMenuAdapter_somResetObj;
typedef SOMObject*   SOMLINK somTP_ODWinMenuAdapter_somPrintSelf(ODWinMenuAdapter *somSelf);
typedef somTP_ODWinMenuAdapter_somPrintSelf *somTD_ODWinMenuAdapter_somPrintSelf;
typedef void   SOMLINK somTP_ODWinMenuAdapter_somDumpSelf(ODWinMenuAdapter *somSelf,
		long level);
typedef somTP_ODWinMenuAdapter_somDumpSelf *somTD_ODWinMenuAdapter_somDumpSelf;
typedef void   SOMLINK somTP_ODWinMenuAdapter_somDumpSelfInt(ODWinMenuAdapter *somSelf,
		long level);
typedef somTP_ODWinMenuAdapter_somDumpSelfInt *somTD_ODWinMenuAdapter_somDumpSelfInt;
}

#endif /* ODWinMenuAdapter_API */


/*
 * -- This emitter believes that method thunks are unavailable,
 * -- so somResolve will be called.
 */
#undef somresolve_
#define somresolve_(obj,mToken) (somResolve(obj,mToken))

/*
 * -- The C++ Wrapper Class for ODWinMenuAdapter
 */
class ODWinMenuAdapter : public ODObject
{
public:

// ODWinMenuAdapter::new creates the class object if necessary, and then uses somNewNoInit
// to allocate memory and create the object. Initialization is in ctors.
void *operator new(size_t)
{
   if (!_ODWinMenuAdapter) ODWinMenuAdapterNewClass(ODWinMenuAdapter_MajorVersion,ODWinMenuAdapter_MinorVersion);
   return (void*)
      SOM_Resolve(_ODWinMenuAdapter,SOMClass,somNewNoInit)
         ((SOMClass *)((void*)_ODWinMenuAdapter));
}

// ODWinMenuAdapter::delete uses somDestruct.
void operator delete(void * obj)
{
   if (obj && *(void**)obj) {
      SOM_Resolve(obj,SOMObject,somDestruct)
         ((SOMObject*)obj, 1, 0);
   }
}

ODWinMenuAdapter()
{
   if (*(void**)this != 
       ((somParentMtabStructPtr)
        (ODWinMenuAdapterCClassData.parentMtab))->mtab)
      return;
   ((SOMObject*)((void*)this))->somDefaultInit(0);
}

ODWinMenuAdapter(ODWinMenuAdapter* fromObj)
{
   if (*(void**)this != 
       ((somParentMtabStructPtr)
        (ODWinMenuAdapterCClassData.parentMtab))->mtab)
      return;
   ((SOMObject*)((void*)this))->somDefaultCopyInit(0,((SOMObject*)((void*)fromObj)));
}

ODWinMenuAdapter(const ODWinMenuAdapter* fromObj)
{
   if (*(void**)this != 
       ((somParentMtabStructPtr)
        (ODWinMenuAdapterCClassData.parentMtab))->mtab)
      return;
   ((SOMObject*)((void*)this))->somDefaultConstCopyInit(0,((SOMObject*)((void*)fromObj)));
}


/* method: Init */
void   Init(Environment *ev,
		ODMenuID id,
		HMENU parentHMENU)
{
   SOM_ResolveD(this,ODWinMenuAdapter,ODWinMenuAdapter,Init)
	(this, ev,id,parentHMENU);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


/* method: AddItemsFromPlatMenuEx */
void   AddItemsFromPlatMenuEx(Environment *ev,
		ODPlatformMenu platMenu,
		ODUShort subMenuIDcount,
		ODMenuIDInfo* subMenuIDinfo)
{
   SOM_ResolveD(this,ODWinMenuAdapter,ODWinMenuAdapter,AddItemsFromPlatMenuEx)
	(this, ev,platMenu,subMenuIDcount,subMenuIDinfo);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


/* method: MenuID */
ODMenuID   MenuID(Environment *ev)
{
#ifdef SOMCHKEXCEPT
   ODMenuID __somResult = 
      SOM_ResolveD(this,ODWinMenuAdapter,ODWinMenuAdapter,MenuID)
	(this, ev);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ODWinMenuAdapter,ODWinMenuAdapter,MenuID)
	(this, ev);
#endif
}


/* method: IsMenuEnabled */
ODBoolean   IsMenuEnabled(Environment *ev)
{
#ifdef SOMCHKEXCEPT
   ODBoolean __somResult = 
      SOM_ResolveD(this,ODWinMenuAdapter,ODWinMenuAdapter,IsMenuEnabled)
	(this, ev);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ODWinMenuAdapter,ODWinMenuAdapter,IsMenuEnabled)
	(this, ev);
#endif
}


/* method: DisableMenu */
void   DisableMenu(Environment *ev)
{
   SOM_ResolveD(this,ODWinMenuAdapter,ODWinMenuAdapter,DisableMenu)
	(this, ev);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


/* method: EnableMenu */
void   EnableMenu(Environment *ev)
{
   SOM_ResolveD(this,ODWinMenuAdapter,ODWinMenuAdapter,EnableMenu)
	(this, ev);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


/* method: GetMenuText */
ODUShort   GetMenuText(Environment *ev,
		string* menuString)
{
#ifdef SOMCHKEXCEPT
   ODUShort __somResult = 
      SOM_ResolveD(this,ODWinMenuAdapter,ODWinMenuAdapter,GetMenuText)
	(this, ev,menuString);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ODWinMenuAdapter,ODWinMenuAdapter,GetMenuText)
	(this, ev,menuString);
#endif
}


/* method: SetMenuText */
ODBoolean   SetMenuText(Environment *ev,
		string menuString)
{
#ifdef SOMCHKEXCEPT
   ODBoolean __somResult = 
      SOM_ResolveD(this,ODWinMenuAdapter,ODWinMenuAdapter,SetMenuText)
	(this, ev,menuString);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ODWinMenuAdapter,ODWinMenuAdapter,SetMenuText)
	(this, ev,menuString);
#endif
}


/* method: GetMenuItemText */
ODUShort   GetMenuItemText(Environment *ev,
		ODMenuItemID menuItemID,
		string* menuItemString)
{
#ifdef SOMCHKEXCEPT
   ODUShort __somResult = 
      SOM_ResolveD(this,ODWinMenuAdapter,ODWinMenuAdapter,GetMenuItemText)
	(this, ev,menuItemID,menuItemString);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ODWinMenuAdapter,ODWinMenuAdapter,GetMenuItemText)
	(this, ev,menuItemID,menuItemString);
#endif
}


/* method: SetMenuItemText */
ODBoolean   SetMenuItemText(Environment *ev,
		ODMenuItemID menuItemID,
		string menuItemString)
{
#ifdef SOMCHKEXCEPT
   ODBoolean __somResult = 
      SOM_ResolveD(this,ODWinMenuAdapter,ODWinMenuAdapter,SetMenuItemText)
	(this, ev,menuItemID,menuItemString);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ODWinMenuAdapter,ODWinMenuAdapter,SetMenuItemText)
	(this, ev,menuItemID,menuItemString);
#endif
}


/* method: SetHideMenuItem */
ODBoolean   SetHideMenuItem(Environment *ev,
		ODMenuItemID menuItemID)
{
#ifdef SOMCHKEXCEPT
   ODBoolean __somResult = 
      SOM_ResolveD(this,ODWinMenuAdapter,ODWinMenuAdapter,SetHideMenuItem)
	(this, ev,menuItemID);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ODWinMenuAdapter,ODWinMenuAdapter,SetHideMenuItem)
	(this, ev,menuItemID);
#endif
}


/* method: SetShowMenuItem */
ODBoolean   SetShowMenuItem(Environment *ev,
		ODMenuItemID menuItemID)
{
#ifdef SOMCHKEXCEPT
   ODBoolean __somResult = 
      SOM_ResolveD(this,ODWinMenuAdapter,ODWinMenuAdapter,SetShowMenuItem)
	(this, ev,menuItemID);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ODWinMenuAdapter,ODWinMenuAdapter,SetShowMenuItem)
	(this, ev,menuItemID);
#endif
}


/* method: CheckMenuItem */
ODBoolean   CheckMenuItem(Environment *ev,
		ODMenuItemID menuItemID,
		ODBoolean check)
{
#ifdef SOMCHKEXCEPT
   ODBoolean __somResult = 
      SOM_ResolveD(this,ODWinMenuAdapter,ODWinMenuAdapter,CheckMenuItem)
	(this, ev,menuItemID,check);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ODWinMenuAdapter,ODWinMenuAdapter,CheckMenuItem)
	(this, ev,menuItemID,check);
#endif
}


/* method: EnableMenuItem */
ODBoolean   EnableMenuItem(Environment *ev,
		ODMenuItemID menuItemID,
		ODBoolean enable)
{
#ifdef SOMCHKEXCEPT
   ODBoolean __somResult = 
      SOM_ResolveD(this,ODWinMenuAdapter,ODWinMenuAdapter,EnableMenuItem)
	(this, ev,menuItemID,enable);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ODWinMenuAdapter,ODWinMenuAdapter,EnableMenuItem)
	(this, ev,menuItemID,enable);
#endif
}


/* method: AddMenuItemBefore */
ODBoolean   AddMenuItemBefore(Environment *ev,
		ODMenuItemID itemID,
		ODPlatformMenuItem* item,
		ODMenuItemID beforeID)
{
#ifdef SOMCHKEXCEPT
   ODBoolean __somResult = 
      SOM_ResolveD(this,ODWinMenuAdapter,ODWinMenuAdapter,AddMenuItemBefore)
	(this, ev,itemID,item,beforeID);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ODWinMenuAdapter,ODWinMenuAdapter,AddMenuItemBefore)
	(this, ev,itemID,item,beforeID);
#endif
}


/* method: AddMenuItemLast */
ODBoolean   AddMenuItemLast(Environment *ev,
		ODMenuItemID itemID,
		ODPlatformMenuItem* item)
{
#ifdef SOMCHKEXCEPT
   ODBoolean __somResult = 
      SOM_ResolveD(this,ODWinMenuAdapter,ODWinMenuAdapter,AddMenuItemLast)
	(this, ev,itemID,item);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ODWinMenuAdapter,ODWinMenuAdapter,AddMenuItemLast)
	(this, ev,itemID,item);
#endif
}


/* method: AddSubMenuBeforeEx */
ODBoolean   AddSubMenuBeforeEx(Environment *ev,
		ODMenuID subMenuID,
		ODPlatformMenu subMenu,
		ODMenuItemID beforeID,
		ODUShort subMenuIDcount,
		ODMenuIDInfo* subMenuIDinfo)
{
#ifdef SOMCHKEXCEPT
   ODBoolean __somResult = 
      SOM_ResolveD(this,ODWinMenuAdapter,ODWinMenuAdapter,AddSubMenuBeforeEx)
	(this, ev,subMenuID,subMenu,beforeID,subMenuIDcount,subMenuIDinfo);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ODWinMenuAdapter,ODWinMenuAdapter,AddSubMenuBeforeEx)
	(this, ev,subMenuID,subMenu,beforeID,subMenuIDcount,subMenuIDinfo);
#endif
}


/* method: AddSubMenuLastEx */
ODBoolean   AddSubMenuLastEx(Environment *ev,
		ODMenuID subMenuID,
		ODPlatformMenu subMenu,
		ODUShort subMenuIDcount,
		ODMenuIDInfo* subMenuIDinfo)
{
#ifdef SOMCHKEXCEPT
   ODBoolean __somResult = 
      SOM_ResolveD(this,ODWinMenuAdapter,ODWinMenuAdapter,AddSubMenuLastEx)
	(this, ev,subMenuID,subMenu,subMenuIDcount,subMenuIDinfo);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ODWinMenuAdapter,ODWinMenuAdapter,AddSubMenuLastEx)
	(this, ev,subMenuID,subMenu,subMenuIDcount,subMenuIDinfo);
#endif
}


/* method: GetSubMenu */
ODPlatformMenu   GetSubMenu(Environment *ev,
		ODMenuID subMenuID)
{
#ifdef SOMCHKEXCEPT
   ODPlatformMenu __somResult = 
      SOM_ResolveD(this,ODWinMenuAdapter,ODWinMenuAdapter,GetSubMenu)
	(this, ev,subMenuID);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ODWinMenuAdapter,ODWinMenuAdapter,GetSubMenu)
	(this, ev,subMenuID);
#endif
}


/* method: ItemExists */
ODBoolean   ItemExists(Environment *ev,
		ODMenuItemID menuItemID)
{
#ifdef SOMCHKEXCEPT
   ODBoolean __somResult = 
      SOM_ResolveD(this,ODWinMenuAdapter,ODWinMenuAdapter,ItemExists)
	(this, ev,menuItemID);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ODWinMenuAdapter,ODWinMenuAdapter,ItemExists)
	(this, ev,menuItemID);
#endif
}


/* method: IsItemEnabled */
ODBoolean   IsItemEnabled(Environment *ev,
		ODMenuItemID menuItemID)
{
#ifdef SOMCHKEXCEPT
   ODBoolean __somResult = 
      SOM_ResolveD(this,ODWinMenuAdapter,ODWinMenuAdapter,IsItemEnabled)
	(this, ev,menuItemID);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ODWinMenuAdapter,ODWinMenuAdapter,IsItemEnabled)
	(this, ev,menuItemID);
#endif
}


/* method: IsItemChecked */
ODBoolean   IsItemChecked(Environment *ev,
		ODMenuItemID menuItemID)
{
#ifdef SOMCHKEXCEPT
   ODBoolean __somResult = 
      SOM_ResolveD(this,ODWinMenuAdapter,ODWinMenuAdapter,IsItemChecked)
	(this, ev,menuItemID);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ODWinMenuAdapter,ODWinMenuAdapter,IsItemChecked)
	(this, ev,menuItemID);
#endif
}


/* method: IsItemHidden */
ODBoolean   IsItemHidden(Environment *ev,
		ODMenuItemID menuItemID)
{
#ifdef SOMCHKEXCEPT
   ODBoolean __somResult = 
      SOM_ResolveD(this,ODWinMenuAdapter,ODWinMenuAdapter,IsItemHidden)
	(this, ev,menuItemID);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ODWinMenuAdapter,ODWinMenuAdapter,IsItemHidden)
	(this, ev,menuItemID);
#endif
}


/* method: RemoveMenuItem */
ODBoolean   RemoveMenuItem(Environment *ev,
		ODMenuItemID menuItemID)
{
#ifdef SOMCHKEXCEPT
   ODBoolean __somResult = 
      SOM_ResolveD(this,ODWinMenuAdapter,ODWinMenuAdapter,RemoveMenuItem)
	(this, ev,menuItemID);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ODWinMenuAdapter,ODWinMenuAdapter,RemoveMenuItem)
	(this, ev,menuItemID);
#endif
}


/* method: GetPlatMenuItem */
ODBoolean   GetPlatMenuItem(Environment *ev,
		ODWinMenuItemAdapter* itemAd,
		ODPlatformMenuItem* platMenuItem)
{
#ifdef SOMCHKEXCEPT
   ODBoolean __somResult = 
      SOM_ResolveD(this,ODWinMenuAdapter,ODWinMenuAdapter,GetPlatMenuItem)
	(this, ev,itemAd,platMenuItem);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ODWinMenuAdapter,ODWinMenuAdapter,GetPlatMenuItem)
	(this, ev,itemAd,platMenuItem);
#endif
}


/* method: GetPlatMenu */
ODBoolean   GetPlatMenu(Environment *ev,
		ODPlatformMenu* platMenu)
{
#ifdef SOMCHKEXCEPT
   ODBoolean __somResult = 
      SOM_ResolveD(this,ODWinMenuAdapter,ODWinMenuAdapter,GetPlatMenu)
	(this, ev,platMenu);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ODWinMenuAdapter,ODWinMenuAdapter,GetPlatMenu)
	(this, ev,platMenu);
#endif
}


/* method: GetSubMenuAdapter */
ODBoolean   GetSubMenuAdapter(Environment *ev,
		ODMenuID subMenuID,
		ODWinMenuAdapter** subMenuAd)
{
#ifdef SOMCHKEXCEPT
   ODBoolean __somResult = 
      SOM_ResolveD(this,ODWinMenuAdapter,ODWinMenuAdapter,GetSubMenuAdapter)
	(this, ev,subMenuID,subMenuAd);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ODWinMenuAdapter,ODWinMenuAdapter,GetSubMenuAdapter)
	(this, ev,subMenuID,subMenuAd);
#endif
}


/* method: GetParentAdapter */
void   GetParentAdapter(Environment *ev,
		ODWinMenuAdapter** parentAd)
{
   SOM_ResolveD(this,ODWinMenuAdapter,ODWinMenuAdapter,GetParentAdapter)
	(this, ev,parentAd);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


/* method: SetParentAdapter */
void   SetParentAdapter(Environment *ev,
		ODWinMenuAdapter* parentAd)
{
   SOM_ResolveD(this,ODWinMenuAdapter,ODWinMenuAdapter,SetParentAdapter)
	(this, ev,parentAd);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


/* method: GetPosInParentMenu */
ODUShort   GetPosInParentMenu(Environment *ev)
{
#ifdef SOMCHKEXCEPT
   ODUShort __somResult = 
      SOM_ResolveD(this,ODWinMenuAdapter,ODWinMenuAdapter,GetPosInParentMenu)
	(this, ev);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ODWinMenuAdapter,ODWinMenuAdapter,GetPosInParentMenu)
	(this, ev);
#endif
}


/* method: GetSubMenuIDInfo */
ODBoolean   GetSubMenuIDInfo(Environment *ev,
		OrderedCollection* IDinfo)
{
#ifdef SOMCHKEXCEPT
   ODBoolean __somResult = 
      SOM_ResolveD(this,ODWinMenuAdapter,ODWinMenuAdapter,GetSubMenuIDInfo)
	(this, ev,IDinfo);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ODWinMenuAdapter,ODWinMenuAdapter,GetSubMenuIDInfo)
	(this, ev,IDinfo);
#endif
}


/*
 * Reintroduce inherited methods
 */

/* method: InitObject */
void   InitObject(Environment *ev)
{
   SOM_ResolveD(this,ODWinMenuAdapter,ODObject,InitObject)
	(this, ev);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


/* method: HasExtension */
ODBoolean   HasExtension(Environment *ev,
		ODType extensionName)
{
#ifdef SOMCHKEXCEPT
   ODBoolean __somResult = 
      SOM_ResolveD(this,ODWinMenuAdapter,ODObject,HasExtension)
	(this, ev,extensionName);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ODWinMenuAdapter,ODObject,HasExtension)
	(this, ev,extensionName);
#endif
}


/* method: AcquireExtension */
ODExtension*   AcquireExtension(Environment *ev,
		ODType extensionName)
{
#ifdef SOMCHKEXCEPT
   ODExtension* __somResult = 
      SOM_ResolveD(this,ODWinMenuAdapter,ODObject,AcquireExtension)
	(this, ev,extensionName);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ODWinMenuAdapter,ODObject,AcquireExtension)
	(this, ev,extensionName);
#endif
}


/* method: ReleaseExtension */
void   ReleaseExtension(Environment *ev,
		ODExtension* extension)
{
   SOM_ResolveD(this,ODWinMenuAdapter,ODObject,ReleaseExtension)
	(this, ev,extension);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


/* method: Purge */
ODSize   Purge(Environment *ev,
		ODSize size)
{
#ifdef SOMCHKEXCEPT
   ODSize __somResult = 
      SOM_ResolveD(this,ODWinMenuAdapter,ODObject,Purge)
	(this, ev,size);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ODWinMenuAdapter,ODObject,Purge)
	(this, ev,size);
#endif
}


/* method: IsEqualTo */
ODBoolean   IsEqualTo(Environment *ev,
		ODObject* object)
{
#ifdef SOMCHKEXCEPT
   ODBoolean __somResult = 
      SOM_ResolveD(this,ODWinMenuAdapter,ODObject,IsEqualTo)
	(this, ev,object);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ODWinMenuAdapter,ODObject,IsEqualTo)
	(this, ev,object);
#endif
}


/* method: SubClassResponsibility */
void   SubClassResponsibility(Environment *ev)
{
   SOM_ResolveD(this,ODWinMenuAdapter,ODObject,SubClassResponsibility)
	(this, ev);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


/* method: somInit */
void   somInit()
{
   SOM_ResolveD(this,ODWinMenuAdapter,SOMObject,somInit)
	(this);
}


/* method: somUninit */
void   somUninit()
{
   SOM_ResolveD(this,ODWinMenuAdapter,SOMObject,somUninit)
	(this);
}


/* initializer method: somDefaultInit */
void   somDefaultInit(somInitCtrl* ctrl)
{
   SOM_ResolveD(this,ODWinMenuAdapter,SOMObject,somDefaultInit)
	(this,ctrl);
}


/* method: somDestruct */
void   somDestruct(octet doFree,
		somDestructCtrl* ctrl)
{
   SOM_ResolveD(this,ODWinMenuAdapter,SOMObject,somDestruct)
	(this,doFree,ctrl);
}


/* initializer method: somDefaultCopyInit */
void   somDefaultCopyInit(somInitCtrl* ctrl,
		SOMObject* fromObj)
{
   SOM_ResolveD(this,ODWinMenuAdapter,SOMObject,somDefaultCopyInit)
	(this,ctrl,fromObj);
}


/* method: somDefaultAssign */
ODWinMenuAdapter*  somDefaultAssign(somAssignCtrl* ctrl,
		SOMObject* fromObj)
{
   return SOM_ResolveD(this,ODWinMenuAdapter,SOMObject,somDefaultAssign)
	(this,ctrl,fromObj);
}


/* initializer method: somDefaultConstCopyInit */
void   somDefaultConstCopyInit(somInitCtrl* ctrl,
		SOMObject* fromObj)
{
   SOM_ResolveD(this,ODWinMenuAdapter,SOMObject,somDefaultConstCopyInit)
	(this,ctrl,fromObj);
}


/* initializer method: somDefaultVCopyInit */
void   somDefaultVCopyInit(somInitCtrl* ctrl,
		SOMObject* fromObj)
{
   SOM_ResolveD(this,ODWinMenuAdapter,SOMObject,somDefaultVCopyInit)
	(this,ctrl,fromObj);
}


/* initializer method: somDefaultConstVCopyInit */
void   somDefaultConstVCopyInit(somInitCtrl* ctrl,
		SOMObject* fromObj)
{
   SOM_ResolveD(this,ODWinMenuAdapter,SOMObject,somDefaultConstVCopyInit)
	(this,ctrl,fromObj);
}


/* method: somDefaultConstAssign */
ODWinMenuAdapter*  somDefaultConstAssign(somAssignCtrl* ctrl,
		SOMObject* fromObj)
{
   return SOM_ResolveD(this,ODWinMenuAdapter,SOMObject,somDefaultConstAssign)
	(this,ctrl,fromObj);
}


/* method: somDefaultVAssign */
ODWinMenuAdapter*  somDefaultVAssign(somAssignCtrl* ctrl,
		SOMObject* fromObj)
{
   return SOM_ResolveD(this,ODWinMenuAdapter,SOMObject,somDefaultVAssign)
	(this,ctrl,fromObj);
}


/* method: somDefaultConstVAssign */
ODWinMenuAdapter*  somDefaultConstVAssign(somAssignCtrl* ctrl,
		SOMObject* fromObj)
{
   return SOM_ResolveD(this,ODWinMenuAdapter,SOMObject,somDefaultConstVAssign)
	(this,ctrl,fromObj);
}


/* method: somFree */
void   somFree()
{
   SOM_ResolveD(this,ODWinMenuAdapter,SOMObject,somFree)
	(this);
}


/* method: somGetClass */
SOMClass*   somGetClass()
{
   return SOM_ResolveD(this,ODWinMenuAdapter,SOMObject,somGetClass)
	(this);
}


/* method: somGetClassName */
string   somGetClassName()
{
   return SOM_ResolveD(this,ODWinMenuAdapter,SOMObject,somGetClassName)
	(this);
}


/* method: somGetSize */
long   somGetSize()
{
   return SOM_ResolveD(this,ODWinMenuAdapter,SOMObject,somGetSize)
	(this);
}


/* method: somIsA */
boolean   somIsA(SOMClass* aClassObj)
{
   return SOM_ResolveD(this,ODWinMenuAdapter,SOMObject,somIsA)
	(this,aClassObj);
}


/* method: somIsInstanceOf */
boolean   somIsInstanceOf(SOMClass* aClassObj)
{
   return SOM_ResolveD(this,ODWinMenuAdapter,SOMObject,somIsInstanceOf)
	(this,aClassObj);
}


/* method: somRespondsTo */
boolean   somRespondsTo(somId mId)
{
   return SOM_ResolveD(this,ODWinMenuAdapter,SOMObject,somRespondsTo)
	(this,mId);
}


/* va_list method: somDispatch */
/* the va_list invocation form */
boolean   ODWinMenuAdapter_somDispatch(somToken* retValue,
		somId methodId,
		va_list ap)
{
return SOM_ResolveD(this,ODWinMenuAdapter,SOMObject,somDispatch)
	(this,retValue,methodId,ap);
}

/* the varargs invocation form */
boolean   somDispatch(somToken* retValue,
		somId methodId,
		...)
{
   va_list ap;
   va_start(ap, methodId);
   boolean __somResult = 
      SOM_ResolveD(this,ODWinMenuAdapter,SOMObject,somDispatch)
	(this,retValue,methodId,ap);
   va_end(ap);
   return __somResult;
}


/* va_list method: somClassDispatch */
/* the va_list invocation form */
boolean   ODWinMenuAdapter_somClassDispatch(SOMClass* clsObj,
		somToken* retValue,
		somId methodId,
		va_list ap)
{
return SOM_ResolveD(this,ODWinMenuAdapter,SOMObject,somClassDispatch)
	(this,clsObj,retValue,methodId,ap);
}

/* the varargs invocation form */
boolean   somClassDispatch(SOMClass* clsObj,
		somToken* retValue,
		somId methodId,
		...)
{
   va_list ap;
   va_start(ap, methodId);
   boolean __somResult = 
      SOM_ResolveD(this,ODWinMenuAdapter,SOMObject,somClassDispatch)
	(this,clsObj,retValue,methodId,ap);
   va_end(ap);
   return __somResult;
}


/* method: somCastObj */
boolean   somCastObj(SOMClass* cls)
{
   return SOM_ResolveD(this,ODWinMenuAdapter,SOMObject,somCastObj)
	(this,cls);
}


/* method: somResetObj */
boolean   somResetObj()
{
   return SOM_ResolveD(this,ODWinMenuAdapter,SOMObject,somResetObj)
	(this);
}


/* method: somPrintSelf */
SOMObject*   somPrintSelf()
{
   return SOM_ResolveD(this,ODWinMenuAdapter,SOMObject,somPrintSelf)
	(this);
}


/* method: somDumpSelf */
void   somDumpSelf(long level)
{
   SOM_ResolveD(this,ODWinMenuAdapter,SOMObject,somDumpSelf)
	(this,level);
}


/* method: somDumpSelfInt */
void   somDumpSelfInt(long level)
{
   SOM_ResolveD(this,ODWinMenuAdapter,SOMObject,somDumpSelfInt)
	(this,level);
}



};   /* ODWinMenuAdapter */



#endif       /* SOM_ODWinMenuAdapter_xh */
