Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/* Copyright 1999 American Power Conversion, All Rights Reserverd
* * Description: * The ApcMiniDriver class provides an interface that is * compatible with the MiniDriver interface for the Windows2000 * UPS service. * The ApcMiniDriver makes use of a modified * PowerChute plus UPS service. This modified service has had * all of the networking, data logging, and flex manager code * removed. All that is left is the modeling and monitoring of * the connected UPS system. It is assumed that a "smart" * signalling UPS is connected. * The ApcMiniDriver class is also responsible for filling in * the advanced registry settings, battery replacement condition, * serial #, firmware rev, etc... * * Revision History: * mholly 14Apr1999 Created * mholly 12May1999 no longer taking aCommPort in UPSInit * */
#ifndef _INC_APCMINIDRVR_H_
#define _INC_APCMINIDRVR_H_
#include "update.h"
class NTServerApplication;
class ApcMiniDriver : public UpdateObj { public: ApcMiniDriver(); ~ApcMiniDriver();
INT Update(PEvent anEvent) ; DWORD UPSInit(); void UPSStop(); void UPSWaitForStateChange(DWORD aState, DWORD anInterval); DWORD UPSGetState(); void UPSCancelWait(); void UPSTurnOff(DWORD aTurnOffDelay);
protected: INT initalizeAdvancedUpsData(); INT initalizeUpsApplication(); void cleanupUpsApplication(); void setLowBatteryDuration();
INT onUtilityLineCondition(PEvent anEvent); INT onBatteryReplacementCondition(PEvent anEvent); INT onBatteryCondition(PEvent anEvent); INT onCommunicationState(PEvent anEvent); INT onTimerPulse(PEvent anEvent);
private: NTServerApplication * theUpsApp;
DWORD theState; HANDLE theStateChangedEvent; DWORD theReplaceBatteryState; ULONG theRunTimeTimer; DWORD theOnBatteryRuntime; DWORD theBatteryCapacity; };
#endif
|