//  Module Header
//
//  Module Name: WPPOWER
//
//  OS/2 Presentation Manager Workplace class definitions
//
//  Copyright (c) International Business Machines Corporation 1991, 1992
//
#ifndef wppower_idl
#define wppower_idl
#include "wpabs.idl"
#include <somcls.idl>
interface M_WPPower;
interface WPPower : WPAbstract
{
#ifdef _PPC_                                           // @135511
  ULONG wpAddPowerPage2(in HWND hwndNotebook);
  ULONG wpQueryMachineStateSettings(in ULONG ulEvent);
  BOOL wpSetMachineStateSettings(in ULONG ulEvent, in ULONG ulState);
  BOOL wpQueryDischarge();
  BOOL wpSetDischarge(in BOOL bDischarge);
  BOOL wpChangePPCPowerState(in ULONG ulParm1,
                             in ULONG ulParm2);
#endif                                                       // @135511
  ULONG wpAddPowerPage(in HWND hwndNotebook);
  ULONG wpAddPowerViewPage(in HWND hwndNotebook);
#ifndef _PPC_
  BOOL wpChangePowerState(in ULONG ulParm1,
                          in ULONG ulParm2);
#endif
  BOOL wpQueryAutoRefresh();
  ULONG wpQueryDefStatusView();
  BOOL wpQueryPowerConfirmation();
  BOOL wpQueryPowerManagement();
  ULONG wpQueryRefreshRate();
  VOID  wpSetAutoRefresh(in BOOL fAutoRefresh);
  VOID wpSetDefStatusView(in ULONG ulDefStatus);
  VOID wpSetPowerConfirmation(in BOOL fConfirm);
  BOOL wpSetPowerManagement(in BOOL fPower);
  BOOL wpSetRefreshRate(in ULONG ulRefreshRate);
#ifdef __SOMIDL__
  implementation {
    releaseorder: wpChangePowerState,wpSetPowerManagement,wpQueryPowerManagement,
                  wpSetPowerConfirmation,wpQueryPowerConfirmation,
                  wpAddPowerPage,wpAddPowerViewPage,wpSetAutoRefresh,
                  wpQueryAutoRefresh,wpQueryRefreshRate,wpSetRefreshRate,
                  wpQueryEventSemaphore,wpSetEventSemaphore,wpQueryDefStatusView,
                  wpSetDefStatusView
#ifdef _PPC_                                                          // @135511
                  ,wpAddPowerPage2,wpQueryMachineStateSettings,
                  wpSetMachineStateSettings,wpQueryDischarge,wpSetDischarge,
                  wpChangePPCPowerState
#endif                                                                // @135511
                  ;
    externalstem = WPPower;
    local;
    externalprefix = pwr_;
    majorversion = 1;
    minorversion = 2;
    filestem = wppower;
    metaclass = M_WPPower;
    callstyle = oidl;
    dllname = "wpconfig.dll";
    passthru C_h =
"    #define OPEN_STATUS  131"
"    #define OPEN_BATTERY 132"
#ifdef _PPC_                                             // @135511
"    #define QWL_POWERPAGE2 QWL_USER+sizeof(ULONG)"
#endif                                                   // @135511
"";
    wpOpen: override;
    wpFilterPopupMenu: override;
    wpAddSettingsPages: override;
    wpModifyPopupMenu: override;
    wpMenuItemSelected: override;
    wpInitData: override;
    wpSaveState: override;
    wpRestoreState: override;
    wpMenuItemHelpSelected: override;
    wpAddObjectWindowPage: override;
    somDefaultInit: override;                 somDestruct:    override;               };
#endif /* __SOMIDL__ */
};
interface M_WPPower : M_WPAbstract
{
#ifdef __SOMIDL__
  implementation {
    externalstem = WPPower;
    local;
    externalprefix = pwrM_;
    majorversion = 1;
    minorversion = 2;
    filestem = wppower;
    callstyle = oidl;
    dllname = "wpconfig.dll";
    wpclsQueryDefaultView: override;
    wpclsQueryDefaultHelp: override;
    wpclsQueryIconData: override;
    wpclsQueryStyle: override;
    wpclsQueryTitle: override;
  };
#endif /* __SOMIDL__ */
};
#endif  /* wppower_idl */
