
/*
 * This file was generated by the SOM Compiler.
 * FileName: G:\cwpsh\rel\os2c\include\base\os2\wppower.xh.
 * Generated using:
 *     SOM Precompiler somipc: 2.29.1.14
 *     SOM Emitter emitxh: 2.43
 */

/*
 *   Module Header
 * 
 *   Module Name: WPPOWER
 * 
 *   OS/2 Presentation Manager Workplace class definitions
 * 
 *   Copyright (c) International Business Machines Corporation 1991, 1992
 * 
 */


#ifndef SOM_WPPower_xh
#define SOM_WPPower_xh

class WPPower;

#define WPPower_MajorVersion 1
#define WPPower_MinorVersion 2

/*
 * Passthru lines: File: "C.h", "before"
 */
#define OPEN_STATUS  131
    #define OPEN_BATTERY 132

    #define APMLEVEL_NONE    0
    #define APMLEVEL_UNKNOWN 1
    #define APMLEVEL_10      2
    #define APMLEVEL_11      3
    #define APMLEVEL_12      4



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

/* C++ parent defs */
#ifndef SOM_WPAbstract_xh
#include <wpabs.xh>
#endif

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

/*
 * Start of bindings for IDL types
 */

class SOMClass;
class SOMObject;
class WPFolder;
class M_WPObject;
class WPObject;
class WPImageFile;
class M_WPAbstract;
class M_WPPower;

/*
 * End of bindings for IDL types.
 */

/* A procedure to create the WPPower Class */
class M_WPPower;
SOMEXTERN M_WPPower * SOMLINK WPPowerNewClass(
		integer4 majorVersion,
		integer4 minorVersion);

/* The API to the WPPower class object, and the methods it introduces. */
SOMEXTERN struct WPPowerClassDataStructure {
	M_WPPower *classObject;
	somMToken wpChangePowerState;
	somMToken wpSetPowerManagement;
	somMToken wpQueryPowerManagement;
	somMToken wpSetPowerConfirmation;
	somMToken wpQueryPowerConfirmation;
	somMToken wpAddPowerPage;
	somMToken wpAddPowerViewPage;
	somMToken wpSetAutoRefresh;
	somMToken wpQueryAutoRefresh;
	somMToken wpQueryRefreshRate;
	somMToken wpSetRefreshRate;
	somMToken wpPowerPrivate1;
	somMToken wpPowerPrivate2;
	somMToken wpQueryDefStatusView;
	somMToken wpSetDefStatusView;
	somMToken wpAddPowerResumePage;
	somMToken wpPowerPrivate3;
	somMToken wpQueryAPMLevel;
	somMToken wpQueryBIOSPowerManagementSupport;
	somMToken wpSetBIOSPowerManagementSupport;
	somMToken wpQueryOS2PowerManagementSupport;
	somMToken wpSetOS2PowerManagementSupport;
	somMToken wpQueryTimerBasedRequests;
	somMToken wpSetTimerBasedRequests;
	somMToken wpQueryResumeOnRing;
	somMToken wpSetResumeOnRing;
	somMToken wpQueryResumeOnTimer;
	somMToken wpSetResumeOnTimer;
	somMToken wpQueryCapabilities;
	somMToken wpPowerOff;
	somMToken wpSuspend;
	somMToken wpRefreshNotebookPages;
	somMToken wpAddGeyservillePage;
} SOMDLINK WPPowerClassData;
#define _WPPower WPPowerClassData.classObject

/* The API to parentMtabs for WPPower, and the instance data it introduces. */
SOMEXTERN struct WPPowerCClassDataStructure {
	somMethodTabs parentMtab;
	somDToken              instanceDataToken;
} SOMDLINK WPPowerCClassData;

/*
 * -- Typedefs for WPPower Method Procedures
 */
SOMEXTERN {
typedef ULONG   SOMLINK somTP_WPPower_wpAddPowerPage(WPPower *somSelf, 
		HWND hwndNotebook);
typedef somTP_WPPower_wpAddPowerPage *somTD_WPPower_wpAddPowerPage;
typedef ULONG   SOMLINK somTP_WPPower_wpAddPowerResumePage(WPPower *somSelf, 
		HWND hwndNotebook);
typedef somTP_WPPower_wpAddPowerResumePage *somTD_WPPower_wpAddPowerResumePage;
typedef ULONG   SOMLINK somTP_WPPower_wpAddGeyservillePage(WPPower *somSelf, 
		HWND hwndNotebook);
typedef somTP_WPPower_wpAddGeyservillePage *somTD_WPPower_wpAddGeyservillePage;
typedef ULONG   SOMLINK somTP_WPPower_wpAddPowerViewPage(WPPower *somSelf, 
		HWND hwndNotebook);
typedef somTP_WPPower_wpAddPowerViewPage *somTD_WPPower_wpAddPowerViewPage;
typedef BOOL   SOMLINK somTP_WPPower_wpChangePowerState(WPPower *somSelf, 
		ULONG ulParm1, 
		ULONG ulParm2);
typedef somTP_WPPower_wpChangePowerState *somTD_WPPower_wpChangePowerState;
typedef BOOL   SOMLINK somTP_WPPower_wpPowerOff(WPPower *somSelf, 
		BOOL bConfirm);
typedef somTP_WPPower_wpPowerOff *somTD_WPPower_wpPowerOff;
typedef ULONG   SOMLINK somTP_WPPower_wpQueryAPMLevel(WPPower *somSelf);
typedef somTP_WPPower_wpQueryAPMLevel *somTD_WPPower_wpQueryAPMLevel;
typedef BOOL   SOMLINK somTP_WPPower_wpQueryAutoRefresh(WPPower *somSelf);
typedef somTP_WPPower_wpQueryAutoRefresh *somTD_WPPower_wpQueryAutoRefresh;
typedef BOOL   SOMLINK somTP_WPPower_wpQueryBIOSPowerManagementSupport(WPPower *somSelf, 
		BOOL* pbEnable);
typedef somTP_WPPower_wpQueryBIOSPowerManagementSupport *somTD_WPPower_wpQueryBIOSPowerManagementSupport;
typedef BOOL   SOMLINK somTP_WPPower_wpQueryCapabilities(WPPower *somSelf, 
		ULONG* pulBatteryMax, 
		ULONG* pulCapabilities);
typedef somTP_WPPower_wpQueryCapabilities *somTD_WPPower_wpQueryCapabilities;
typedef ULONG   SOMLINK somTP_WPPower_wpQueryDefStatusView(WPPower *somSelf);
typedef somTP_WPPower_wpQueryDefStatusView *somTD_WPPower_wpQueryDefStatusView;
typedef BOOL   SOMLINK somTP_WPPower_wpQueryOS2PowerManagementSupport(WPPower *somSelf, 
		BOOL* pbEnable);
typedef somTP_WPPower_wpQueryOS2PowerManagementSupport *somTD_WPPower_wpQueryOS2PowerManagementSupport;
typedef BOOL   SOMLINK somTP_WPPower_wpQueryPowerConfirmation(WPPower *somSelf);
typedef somTP_WPPower_wpQueryPowerConfirmation *somTD_WPPower_wpQueryPowerConfirmation;
typedef BOOL   SOMLINK somTP_WPPower_wpQueryPowerManagement(WPPower *somSelf);
typedef somTP_WPPower_wpQueryPowerManagement *somTD_WPPower_wpQueryPowerManagement;
typedef ULONG   SOMLINK somTP_WPPower_wpQueryRefreshRate(WPPower *somSelf);
typedef somTP_WPPower_wpQueryRefreshRate *somTD_WPPower_wpQueryRefreshRate;
typedef BOOL   SOMLINK somTP_WPPower_wpQueryResumeOnRing(WPPower *somSelf, 
		BOOL* pbEnable);
typedef somTP_WPPower_wpQueryResumeOnRing *somTD_WPPower_wpQueryResumeOnRing;
typedef BOOL   SOMLINK somTP_WPPower_wpQueryResumeOnTimer(WPPower *somSelf, 
		BOOL* pbEnable, 
		ULONG* pulYear, 
		ULONG* pulMonth, 
		ULONG* pulDay, 
		ULONG* pulHour, 
		ULONG* pulMinute, 
		ULONG* pulSecond);
typedef somTP_WPPower_wpQueryResumeOnTimer *somTD_WPPower_wpQueryResumeOnTimer;
typedef BOOL   SOMLINK somTP_WPPower_wpQueryTimerBasedRequests(WPPower *somSelf, 
		BOOL* pbEnable);
typedef somTP_WPPower_wpQueryTimerBasedRequests *somTD_WPPower_wpQueryTimerBasedRequests;
typedef void   SOMLINK somTP_WPPower_wpRefreshNotebookPages(WPPower *somSelf);
typedef somTP_WPPower_wpRefreshNotebookPages *somTD_WPPower_wpRefreshNotebookPages;
typedef void   SOMLINK somTP_WPPower_wpSetAutoRefresh(WPPower *somSelf, 
		BOOL fAutoRefresh);
typedef somTP_WPPower_wpSetAutoRefresh *somTD_WPPower_wpSetAutoRefresh;
typedef BOOL   SOMLINK somTP_WPPower_wpSetBIOSPowerManagementSupport(WPPower *somSelf, 
		BOOL bEnable);
typedef somTP_WPPower_wpSetBIOSPowerManagementSupport *somTD_WPPower_wpSetBIOSPowerManagementSupport;
typedef void   SOMLINK somTP_WPPower_wpSetDefStatusView(WPPower *somSelf, 
		ULONG ulDefStatus);
typedef somTP_WPPower_wpSetDefStatusView *somTD_WPPower_wpSetDefStatusView;
typedef BOOL   SOMLINK somTP_WPPower_wpSetOS2PowerManagementSupport(WPPower *somSelf, 
		BOOL bEnable);
typedef somTP_WPPower_wpSetOS2PowerManagementSupport *somTD_WPPower_wpSetOS2PowerManagementSupport;
typedef void   SOMLINK somTP_WPPower_wpSetPowerConfirmation(WPPower *somSelf, 
		BOOL fConfirm);
typedef somTP_WPPower_wpSetPowerConfirmation *somTD_WPPower_wpSetPowerConfirmation;
typedef BOOL   SOMLINK somTP_WPPower_wpSetPowerManagement(WPPower *somSelf, 
		BOOL fPower);
typedef somTP_WPPower_wpSetPowerManagement *somTD_WPPower_wpSetPowerManagement;
typedef BOOL   SOMLINK somTP_WPPower_wpSetRefreshRate(WPPower *somSelf, 
		ULONG ulRefreshRate);
typedef somTP_WPPower_wpSetRefreshRate *somTD_WPPower_wpSetRefreshRate;
typedef BOOL   SOMLINK somTP_WPPower_wpSetResumeOnRing(WPPower *somSelf, 
		BOOL bEnable);
typedef somTP_WPPower_wpSetResumeOnRing *somTD_WPPower_wpSetResumeOnRing;
typedef BOOL   SOMLINK somTP_WPPower_wpSetResumeOnTimer(WPPower *somSelf, 
		BOOL bEnable, 
		ULONG ulYear, 
		ULONG ulMonth, 
		ULONG ulDay, 
		ULONG ulHour, 
		ULONG ulMinute, 
		ULONG ulSecond);
typedef somTP_WPPower_wpSetResumeOnTimer *somTD_WPPower_wpSetResumeOnTimer;
typedef BOOL   SOMLINK somTP_WPPower_wpSetTimerBasedRequests(WPPower *somSelf, 
		BOOL bEnable);
typedef somTP_WPPower_wpSetTimerBasedRequests *somTD_WPPower_wpSetTimerBasedRequests;
typedef BOOL   SOMLINK somTP_WPPower_wpSuspend(WPPower *somSelf, 
		BOOL bConfirm);
typedef somTP_WPPower_wpSuspend *somTD_WPPower_wpSuspend;

/*
 * -- Typedefs for Reintroduced Wrapper Methods
 */
typedef M_WPPower*   SOMLINK somTP_WPPower_somGetClass(WPPower *somSelf);
typedef somTP_WPPower_somGetClass *somTD_WPPower_somGetClass;
}

#endif /* WPPower_API */


/*
 * -- 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))

/*
 * -- The C++ Wrapper Class for WPPower
 */
class WPPower : public WPAbstract
{
public:

// WPPower::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 (!_WPPower) WPPowerNewClass(WPPower_MajorVersion,WPPower_MinorVersion);
   return (void*)
      SOM_Resolve(_WPPower,SOMClass,somNewNoInit)
         ((SOMClass *)((void*)_WPPower));
}

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

WPPower& operator=(WPPower& fromObj)
{
   this->somDefaultAssign(0,(SOMObject*)((void*)&fromObj));
   return *this;
}

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

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

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


/* method: wpAddPowerPage */
ULONG   wpAddPowerPage(HWND hwndNotebook)
{
   return SOM_ResolveD(this,WPPower,WPPower,wpAddPowerPage)
	(this,hwndNotebook);
}


/* method: wpAddPowerResumePage */
ULONG   wpAddPowerResumePage(HWND hwndNotebook)
{
   return SOM_ResolveD(this,WPPower,WPPower,wpAddPowerResumePage)
	(this,hwndNotebook);
}


/* method: wpAddGeyservillePage */
ULONG   wpAddGeyservillePage(HWND hwndNotebook)
{
/*
 * pcr1609 start block
 * 
 * METHOD: ULONG wpAddGeyservillePage (HWND hwndNotebook);
 * 
 * DESCRIPTION:
 *   This method adds the Geyserville page to the settings notebook.
 * 
 * PARAMETERS:
 * 
 *   Parameter1 - HWND    hwndNotebook - window handle for the settings notebook
 * 
 *   Returns    - ULONG   success      - where:
 *                0        =  Unsuccessful
 *                ulPageId = Identifier for the inserted page
 * REMARKS:
 * 
 *   ( ) PRIVATE
 *   (X) PUBLIC
 * 
 * HOW TO OVERRIDE:
 *   Method should always be overridden in order to replace or remove
 *   the resume page from an object which replaces the WPPower class.
 *   In most cases, an override of this method will not call the parent.
 * 
 * HISTORY:
 *   August 20, 1999  Sarah Hughes created
 * pcr1609 end block
 */
   return SOM_ResolveD(this,WPPower,WPPower,wpAddGeyservillePage)
	(this,hwndNotebook);
}


/* method: wpAddPowerViewPage */
ULONG   wpAddPowerViewPage(HWND hwndNotebook)
{
   return SOM_ResolveD(this,WPPower,WPPower,wpAddPowerViewPage)
	(this,hwndNotebook);
}


/* method: wpChangePowerState */
BOOL   wpChangePowerState(ULONG ulParm1, 
		ULONG ulParm2)
{
   return SOM_ResolveD(this,WPPower,WPPower,wpChangePowerState)
	(this,ulParm1,ulParm2);
}


/* method: wpPowerOff */
BOOL   wpPowerOff(BOOL bConfirm)
{
   return SOM_ResolveD(this,WPPower,WPPower,wpPowerOff)
	(this,bConfirm);
}


/* method: wpQueryAPMLevel */
ULONG   wpQueryAPMLevel()
{
   return SOM_ResolveD(this,WPPower,WPPower,wpQueryAPMLevel)
	(this);
}


/* method: wpQueryAutoRefresh */
BOOL   wpQueryAutoRefresh()
{
   return SOM_ResolveD(this,WPPower,WPPower,wpQueryAutoRefresh)
	(this);
}


/* method: wpQueryBIOSPowerManagementSupport */
BOOL   wpQueryBIOSPowerManagementSupport(BOOL* pbEnable)
{
   return SOM_ResolveD(this,WPPower,WPPower,wpQueryBIOSPowerManagementSupport)
	(this,pbEnable);
}


/* method: wpQueryCapabilities */
BOOL   wpQueryCapabilities(ULONG* pulBatteryMax, 
		ULONG* pulCapabilities)
{
   return SOM_ResolveD(this,WPPower,WPPower,wpQueryCapabilities)
	(this,pulBatteryMax,pulCapabilities);
}


/* method: wpQueryDefStatusView */
ULONG   wpQueryDefStatusView()
{
   return SOM_ResolveD(this,WPPower,WPPower,wpQueryDefStatusView)
	(this);
}


/* method: wpQueryOS2PowerManagementSupport */
BOOL   wpQueryOS2PowerManagementSupport(BOOL* pbEnable)
{
   return SOM_ResolveD(this,WPPower,WPPower,wpQueryOS2PowerManagementSupport)
	(this,pbEnable);
}


/* method: wpQueryPowerConfirmation */
BOOL   wpQueryPowerConfirmation()
{
   return SOM_ResolveD(this,WPPower,WPPower,wpQueryPowerConfirmation)
	(this);
}


/* method: wpQueryPowerManagement */
BOOL   wpQueryPowerManagement()
{
   return SOM_ResolveD(this,WPPower,WPPower,wpQueryPowerManagement)
	(this);
}


/* method: wpQueryRefreshRate */
ULONG   wpQueryRefreshRate()
{
   return SOM_ResolveD(this,WPPower,WPPower,wpQueryRefreshRate)
	(this);
}


/* method: wpQueryResumeOnRing */
BOOL   wpQueryResumeOnRing(BOOL* pbEnable)
{
   return SOM_ResolveD(this,WPPower,WPPower,wpQueryResumeOnRing)
	(this,pbEnable);
}


/* method: wpQueryResumeOnTimer */
BOOL   wpQueryResumeOnTimer(BOOL* pbEnable, 
		ULONG* pulYear, 
		ULONG* pulMonth, 
		ULONG* pulDay, 
		ULONG* pulHour, 
		ULONG* pulMinute, 
		ULONG* pulSecond)
{
   return SOM_ResolveD(this,WPPower,WPPower,wpQueryResumeOnTimer)
	(this,pbEnable,pulYear,pulMonth,pulDay,pulHour,pulMinute,pulSecond);
}


/* method: wpQueryTimerBasedRequests */
BOOL   wpQueryTimerBasedRequests(BOOL* pbEnable)
{
   return SOM_ResolveD(this,WPPower,WPPower,wpQueryTimerBasedRequests)
	(this,pbEnable);
}


/* method: wpRefreshNotebookPages */
void   wpRefreshNotebookPages()
{
   SOM_ResolveD(this,WPPower,WPPower,wpRefreshNotebookPages)
	(this);
}


/* method: wpSetAutoRefresh */
void   wpSetAutoRefresh(BOOL fAutoRefresh)
{
   SOM_ResolveD(this,WPPower,WPPower,wpSetAutoRefresh)
	(this,fAutoRefresh);
}


/* method: wpSetBIOSPowerManagementSupport */
BOOL   wpSetBIOSPowerManagementSupport(BOOL bEnable)
{
   return SOM_ResolveD(this,WPPower,WPPower,wpSetBIOSPowerManagementSupport)
	(this,bEnable);
}


/* method: wpSetDefStatusView */
void   wpSetDefStatusView(ULONG ulDefStatus)
{
   SOM_ResolveD(this,WPPower,WPPower,wpSetDefStatusView)
	(this,ulDefStatus);
}


/* method: wpSetOS2PowerManagementSupport */
BOOL   wpSetOS2PowerManagementSupport(BOOL bEnable)
{
   return SOM_ResolveD(this,WPPower,WPPower,wpSetOS2PowerManagementSupport)
	(this,bEnable);
}


/* method: wpSetPowerConfirmation */
void   wpSetPowerConfirmation(BOOL fConfirm)
{
   SOM_ResolveD(this,WPPower,WPPower,wpSetPowerConfirmation)
	(this,fConfirm);
}


/* method: wpSetPowerManagement */
BOOL   wpSetPowerManagement(BOOL fPower)
{
   return SOM_ResolveD(this,WPPower,WPPower,wpSetPowerManagement)
	(this,fPower);
}


/* method: wpSetRefreshRate */
BOOL   wpSetRefreshRate(ULONG ulRefreshRate)
{
   return SOM_ResolveD(this,WPPower,WPPower,wpSetRefreshRate)
	(this,ulRefreshRate);
}


/* method: wpSetResumeOnRing */
BOOL   wpSetResumeOnRing(BOOL bEnable)
{
   return SOM_ResolveD(this,WPPower,WPPower,wpSetResumeOnRing)
	(this,bEnable);
}


/* method: wpSetResumeOnTimer */
BOOL   wpSetResumeOnTimer(BOOL bEnable, 
		ULONG ulYear, 
		ULONG ulMonth, 
		ULONG ulDay, 
		ULONG ulHour, 
		ULONG ulMinute, 
		ULONG ulSecond)
{
   return SOM_ResolveD(this,WPPower,WPPower,wpSetResumeOnTimer)
	(this,bEnable,ulYear,ulMonth,ulDay,ulHour,ulMinute,ulSecond);
}


/* method: wpSetTimerBasedRequests */
BOOL   wpSetTimerBasedRequests(BOOL bEnable)
{
   return SOM_ResolveD(this,WPPower,WPPower,wpSetTimerBasedRequests)
	(this,bEnable);
}


/* method: wpSuspend */
BOOL   wpSuspend(BOOL bConfirm)
{
   return SOM_ResolveD(this,WPPower,WPPower,wpSuspend)
	(this,bConfirm);
}


/*
 * Reintroduce inherited methods
 */

/* method: somGetClass */
M_WPPower*  somGetClass()
{
/*
 *  Return the receiver's class.
 */
   return SOM_ResolveD(this,WPPower,SOMObject,somGetClass)
	(this);
}



};   /* WPPower */



#endif       /* SOM_WPPower_xh */

#ifndef SOM_M_WPPower_xh
#define SOM_M_WPPower_xh

class M_WPPower;

#define M_WPPower_MajorVersion 1
#define M_WPPower_MinorVersion 2

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

/* C++ parent defs */
#ifndef SOM_M_WPAbstract_xh
#include <wpabs.xh>
#endif

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

/*
 * Start of bindings for IDL types
 */


/*
 * End of bindings for IDL types.
 */

/*
 * -- M_WPPower is a metaclass for WPPower. Make sure WPPower is known.
 */
class WPPower;


/* A procedure to create the M_WPPower Class */
SOMEXTERN SOMClass * SOMLINK M_WPPowerNewClass(
		integer4 majorVersion,
		integer4 minorVersion);

/* The API to the M_WPPower class object, and the methods it introduces. */
SOMEXTERN struct M_WPPowerClassDataStructure {
	SOMClass *classObject;
} SOMDLINK M_WPPowerClassData;
#define _M_WPPower M_WPPowerClassData.classObject

/* The API to parentMtabs for M_WPPower, and the instance data it introduces. */
SOMEXTERN struct M_WPPowerCClassDataStructure {
	somMethodTabs parentMtab;
	somDToken              instanceDataToken;
} SOMDLINK M_WPPowerCClassData;

/*
 * -- Typedefs for M_WPPower Method Procedures
 */
SOMEXTERN {

/*
 * -- Typedefs for Reintroduced Wrapper Methods
 */
typedef WPPower*   SOMLINK somTP_M_WPPower_somNew(M_WPPower *somSelf);
typedef somTP_M_WPPower_somNew *somTD_M_WPPower_somNew;
}

#endif /* M_WPPower_API */


/*
 * -- 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))

/*
 * -- The C++ Wrapper Class for M_WPPower
 */
class M_WPPower : public M_WPAbstract
{
public:

// M_WPPower::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 (!_M_WPPower) M_WPPowerNewClass(M_WPPower_MajorVersion,M_WPPower_MinorVersion);
   return (void*)
      SOM_Resolve(_M_WPPower,SOMClass,somNewNoInit)
         ((SOMClass *)((void*)_M_WPPower));
}

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

M_WPPower& operator=(M_WPPower& fromObj)
{
   this->somDefaultAssign(0,(SOMObject*)((void*)&fromObj));
   return *this;
}

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

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

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


/*
 * Reintroduce inherited methods
 */

/* method: somNew */
WPPower*  somNew()
{
   return SOM_ResolveD(this,M_WPPower,SOMClass,somNew)
	(this);
}



};   /* M_WPPower */



#endif       /* SOM_M_WPPower_xh */
