windows-nt/Source/XPSP1/NT/ds/netapi/svcdlls/upssvc/apcsmart/pollparm.h

1086 lines
33 KiB
C
Raw Normal View History

2020-09-26 03:20:57 -05:00
/*
* pcy29Nov92: Changed object.h to apcobj.h
* jod28Jan93: Added new Pollparams to support the Q command
* ane03Feb93: Added destructors
* jod05Apr93: Added changes for Deep Discharge
* jod14May93: Added Matrix changes.
* pcy14May93: Removed SIMPLE_SET, it's in types.h
* cad10Jun93: Added mups parms
* cad28Sep93: Made sure destructor(s) virtual
* cad07Oct93: Plugging Memory Leaks
* pcy08Apr94: Trim size, use static iterators, dead code removal
* jps28aug94: shorted EepromAllowedValues and BattCalibrationCond for os2 1.3,
* was causing link problems due to compiler truncation
* djs22Feb96: added smart trim and increment poll params
* djs07May96: Added Dark Star parameters
* tjg03Dec97: Added CurrentLoadCapabilityPollParam and fixed bitmasks for
* INPUT_BREAKER_TRIPPED, SYSTEM_FAN_FAILED and RIM_IN_CONTROL
* mholly12May1999: add TurnOffSmartModePollParam support
*/
#ifndef __POLLPARAM_H
#define __POLLPARAM_H
#include "_defs.h"
_CLASSDEF(List)
#include "apcobj.h"
#include "message.h"
#include "err.h"
#define NO_POLL 0
#define POLL 1
#define UPS_STATE_SET 3
#define REPLACEBATTERYMASK 128
#define LOWBATTERYMASK 64
#define OVERLOADMASK 32
#define ONBATTERYMASK 16
#define ONLINEMASK 8
#define SMARTBOOSTMASK 4
#define SMARTTRIMMASK 2
#define BATTERYCALIBRATIONMASK 1
#define ARMEDRECPSTANDBYMASK 128
#define RECEPTIVESTANDBYMASK 64
#define SWITCHEDBYPASSMASK 32
#define RETURNINGFROMBYPASSMASK 16
#define COMPSELECTBYPASSMASK 8
#define ENTERINGBYPASSMASK 4
#define UNDEFINEDMASK 2
#define WAKEUPMASK 1
#define OVERTEMPMASK 128
#define BYPASSRELAYMASK 64
#define BATTERYCHARGERMASK 32
#define BYPASSDCIMBALANCEMASK 16
#define BYPASSOUTPUTLIMITSMASK 8
#define BYPASSPOWERSUPPLYMASK 4
#define BOTTOMFANFAILUREMASK 2
#define TOPFANFAILUREMASK 1
#define VARIABLE_LENGTH_RESPONSE 0
// Abnormal condition masks
const int FAILED_UPS_MASK = 1;
const int IM_FAILED_MASK = 2;
const int RIM_FAILED_MASK = 4;
const int REDUNDANCY_FAILED_MASK = 64;
const int BYPASS_STUCK_IN_BYPASS_MASK = 256;
const int BYPASS_STUCK_IN_ONLINE_MASK = 512;
const int BYPASS_STUCK_MASK = BYPASS_STUCK_IN_BYPASS_MASK + BYPASS_STUCK_IN_ONLINE_MASK;
const int INPUT_BREAKER_TRIPPED_MASK = 8192;
const int SYSTEM_FAN_FAILED_MASK = 16384;
const int RIM_IN_CONTROL_MASK = 32768;
_CLASSDEF(PollParam)
class PollParam : public Obj {
protected:
PCHAR Command;
INT RequestTime;
Type SetType;
INT ID;
INT Pollable;
public:
PollParam(INT id, CHAR* query, INT time, INT poll, Type type=(Type)NULL);
virtual ~PollParam();
virtual INT ProcessValue(PMessage value, List* events=(List*)NULL) = 0;
PCHAR Query();
INT GetTime() {return RequestTime;}
INT GetID() {return ID;}
Type GetSetType() {return SetType;}
INT isPollable() {return Pollable;}
VOID SetSetType(Type type) {SetType = type;}
INT Equal( RObj item) const;
virtual INT IsA() const {return POLLPARAM;}
virtual INT IsPollSet() {return ErrNO_ERROR;};
};
class SimplePollParam : public PollParam {
public:
SimplePollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
PollParam(id,query,time,poll,type) {};
INT ProcessValue(PMessage , List* ) {return 0;} // This function is empty
};
class SmartPollParam : public PollParam {
protected:
USHORT theCurrentState;
INT theResponseLength;
INT ResponseLength();
public:
SmartPollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL, INT aResponseLength = 0) :
PollParam(id,query,time,poll,type),
theCurrentState(0), theResponseLength(aResponseLength) {};
INT ProcessValue(PMessage, PList);
INT NullTest(CHAR* value);
};
class SmartModePollParam : public SmartPollParam
{
public:
SmartModePollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
SmartPollParam(id,query, time, poll, type, 2) {}
INT ProcessValue(PMessage value, List* events);
};
class TurnOffSmartModePollParam : public SmartPollParam
{
public:
TurnOffSmartModePollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
SmartPollParam(id,query, time, poll, type, 3) {};
INT ProcessValue(PMessage value, List* events);
};
class LightsTestPollParam : public SmartPollParam
{
public:
LightsTestPollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
SmartPollParam(id,query, time, poll, type, 2) {}
INT ProcessValue(PMessage value, List* events);
};
class TurnOffAfterDelayPollParam : public SmartPollParam
{
public:
TurnOffAfterDelayPollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
SmartPollParam(id,query, time, poll, type, 2) {}
INT ProcessValue(PMessage value, List* events);
};
class ShutdownPollParam : public SmartPollParam
{
public:
ShutdownPollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
SmartPollParam(id,query, time, poll, type, 2) {}
INT ProcessValue(PMessage value, List* events);
};
class SimulatePowerFailurePollParam : public SmartPollParam
{
public:
SimulatePowerFailurePollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
SmartPollParam(id,query, time, poll, type, 2) {}
INT ProcessValue(PMessage value, List* events);
};
class BatteryTestPollParam : public SmartPollParam
{
public:
BatteryTestPollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
SmartPollParam(id,query, time, poll, type, 2) {}
INT ProcessValue(PMessage value, List* events);
};
class TurnOffUpsPollParam : public SmartPollParam
{
public:
TurnOffUpsPollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
SmartPollParam(id,query, time, poll, type, 2) {}
INT ProcessValue(PMessage value, List* events);
};
class ShutdownWakeupPollParam : public SmartPollParam
{
public:
ShutdownWakeupPollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
SmartPollParam(id,query, time, poll, type, 2) {}
INT ProcessValue(PMessage value, List* events);
};
class BatteryCalibrationPollParam : public SmartPollParam
{
public:
BatteryCalibrationPollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
SmartPollParam(id,query, time, poll, type, 2) {}
INT ProcessValue(PMessage value, List* events);
};
class BatteryTestResultsPollParam : public SmartPollParam
{
public:
BatteryTestResultsPollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
SmartPollParam(id,query, time, poll, type, 2) {}
INT ProcessValue(PMessage value, List* events);
};
class TransferCausePollParam : public SmartPollParam
{
public:
TransferCausePollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
SmartPollParam(id,query, time, poll, type, 1) {}
INT ProcessValue(PMessage value, List* events);
};
class FirmwareVersionPollParam : public SmartPollParam
{
public:
FirmwareVersionPollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
SmartPollParam(id,query, time, poll, type, VARIABLE_LENGTH_RESPONSE) {}
};
class RunTimeAfterLowBatteryPollParam : public SmartPollParam
{
public:
RunTimeAfterLowBatteryPollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
SmartPollParam(id,query, time, poll, type, 2) {}
};
class FrontPanelPasswordPollParam : public SmartPollParam
{
public:
FrontPanelPasswordPollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
SmartPollParam(id,query, time, poll, type, 4) {}
};
class BatteryTypePollParam : public SmartPollParam
{
public:
BatteryTypePollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
SmartPollParam(id,query, time, poll, type, 3) {}
};
class LineConditionPollParam : public SmartPollParam
{
public:
LineConditionPollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
SmartPollParam(id,query, time, poll, type) {}
INT ProcessValue(PMessage value, List* events);
};
class BatteryCapacityPollParam : public SmartPollParam
{
public:
BatteryCapacityPollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
SmartPollParam(id,query, time, poll, type, 5) {}
INT ProcessValue(PMessage value, List* events);
};
class TripRegisterPollParam : public SmartPollParam
{
protected:
static USHORT thePollSet;
public:
TripRegisterPollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
SmartPollParam(id,query, time, poll, type, 2)
{ theCurrentState = 0;}
virtual ~TripRegisterPollParam() { thePollSet = FALSE; }
INT ProcessValue(PMessage value, List* events);
virtual INT IsPollSet();
};
class Trip1RegisterPollParam : public SmartPollParam
{
protected:
static USHORT thePollSet;
public:
Trip1RegisterPollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
SmartPollParam(id,query, time, poll, type, 2)
{ theCurrentState = 0;}
virtual ~Trip1RegisterPollParam() { thePollSet = FALSE; }
INT ProcessValue(PMessage value, List* events);
virtual INT IsPollSet();
};
class StateRegisterPollParam : public SmartPollParam
{
protected:
static USHORT thePollSet;
public:
StateRegisterPollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
SmartPollParam(id,query, time, poll, type, 2)
{ theCurrentState = 0;}
virtual ~StateRegisterPollParam() { thePollSet = FALSE; }
INT ProcessValue(PMessage value, List* events);
virtual INT IsPollSet();
};
class DipSwitchPollParam : public SmartPollParam
{
public:
DipSwitchPollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
SmartPollParam(id,query, time, poll, type, 2) {}
INT ProcessValue(PMessage value, List* events);
};
class RuntimeRemainingPollParam : public SmartPollParam
{
public:
RuntimeRemainingPollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
SmartPollParam(id,query, time, poll, type, 5) {}
INT ProcessValue(PMessage value, List* events);
};
class CopyrightPollParam : public SmartPollParam
{
public:
CopyrightPollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
SmartPollParam(id,query, time, poll, type, 8) {}
INT ProcessValue(PMessage value, List* events);
};
class BatteryVoltagePollParam : public SmartPollParam
{
public:
BatteryVoltagePollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
SmartPollParam(id,query, time, poll, type, 5) {}
INT ProcessValue(PMessage value, List* events);
};
class InternalTempPollParam : public SmartPollParam
{
public:
InternalTempPollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
SmartPollParam(id,query, time, poll, type, 5) {}
INT ProcessValue(PMessage value, List* events);
};
class OutputFreqPollParam : public SmartPollParam
{
public:
OutputFreqPollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
SmartPollParam(id,query, time, poll, type, 5) {}
INT ProcessValue(PMessage value, List* events);
};
class LineVoltagePollParam : public SmartPollParam
{
public:
LineVoltagePollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
SmartPollParam(id,query, time, poll, type, 5) {}
INT ProcessValue(PMessage value, List* events);
};
class MaxVoltagePollParam : public SmartPollParam
{
public:
MaxVoltagePollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
SmartPollParam(id,query, time, poll, type, 5) {}
INT ProcessValue(PMessage value, List* events);
};
class MinVoltagePollParam : public SmartPollParam
{
public:
MinVoltagePollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
SmartPollParam(id,query, time, poll, type, 5) {}
INT ProcessValue(PMessage value, List* events);
};
class OutputVoltagePollParam : public SmartPollParam
{
public:
OutputVoltagePollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
SmartPollParam(id,query, time, poll, type, 5) {}
INT ProcessValue(PMessage value, List* events);
};
class LoadPowerPollParam : public SmartPollParam
{
public:
LoadPowerPollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
SmartPollParam(id,query, time, poll, type, 5) {}
INT ProcessValue(PMessage value, List* events);
};
#if (C_OS & C_OS2)
class EepromAllowedValsPollParam : public SmartPollParam
#else
class EepromAllowedValuesPollParam : public SmartPollParam
#endif
{
public:
#if (C_OS & C_OS2)
EepromAllowedValsPollParam(INT id, CHAR* query, INT time, INT poll,
#else
EepromAllowedValuesPollParam(INT id, CHAR* query, INT time, INT poll,
#endif
Type type=(Type)NULL) :
SmartPollParam(id,query, time, poll, type) {}
INT ProcessValue(PMessage value, List* events);
};
class DecrementPollParam : public SmartPollParam
{
public:
DecrementPollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
SmartPollParam(id,query, time, poll, type) {}
INT ProcessValue(PMessage value, List* events);
};
class IncrementPollParam : public SmartPollParam
{
public:
IncrementPollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
SmartPollParam(id,query, time, poll, type) {}
INT ProcessValue(PMessage value, List* events);
};
class DataDecrementPollParam : public SmartPollParam
{
public:
DataDecrementPollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
SmartPollParam(id,query, time, poll, type, 2) {}
};
class AutoSelfTestPollParam : public SmartPollParam
{
public:
AutoSelfTestPollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
SmartPollParam(id,query, time, poll, type, 3) {}
};
class UpsIdPollParam : public SmartPollParam
{
public:
UpsIdPollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
SmartPollParam(id,query, time, poll, type, 8) {}
INT ProcessValue(PMessage value, PList events);
};
class SerialNumberPollParam : public SmartPollParam
{
public:
SerialNumberPollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
SmartPollParam(id,query, time, poll, type, VARIABLE_LENGTH_RESPONSE) {}
};
class ManufactureDatePollParam : public SmartPollParam
{
public:
ManufactureDatePollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
SmartPollParam(id,query, time, poll, type, 8) {}
};
class UpsModelPollParam : public SmartPollParam
{
public:
UpsModelPollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
SmartPollParam(id,query, time, poll, type,
VARIABLE_LENGTH_RESPONSE) {}
};
class UpsNewFirmwareRev : public SmartPollParam
{
public:
UpsNewFirmwareRev(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
SmartPollParam(id,query, time, poll, type,
VARIABLE_LENGTH_RESPONSE) {}
};
class BatteryReplaceDatePollParam : public SmartPollParam
{
public:
BatteryReplaceDatePollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
SmartPollParam(id,query, time, poll, type, 8) {}
INT ProcessValue(PMessage value, PList events);
};
class HighTransferPollParam : public SmartPollParam
{
public:
HighTransferPollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
SmartPollParam(id,query, time, poll, type, 3) {}
};
class LowTransferPollParam : public SmartPollParam
{
public:
LowTransferPollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
SmartPollParam(id,query, time, poll, type, 3) {}
};
class MinCapacityPollParam : public SmartPollParam
{
public:
MinCapacityPollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
SmartPollParam(id,query, time, poll, type, 2) {}
};
class RatedOutputVoltagePollParam : public SmartPollParam
{
public:
RatedOutputVoltagePollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
SmartPollParam(id,query, time, poll, type, 3) {}
};
class SensitivityPollParam : public SmartPollParam
{
public:
SensitivityPollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
SmartPollParam(id,query, time, poll, type, 1) {}
};
class LowBattDurationPollParam : public SmartPollParam
{
public:
LowBattDurationPollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
SmartPollParam(id,query, time, poll, type, 2) {}
};
class AlarmDelayPollParam : public SmartPollParam
{
public:
AlarmDelayPollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
SmartPollParam(id,query, time, poll, type, 1) {}
};
class ShutdownDelayPollParam : public SmartPollParam
{
public:
ShutdownDelayPollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
SmartPollParam(id,query, time, poll, type, 3) {}
};
class TurnBackOnDelayPollParam : public SmartPollParam
{
public:
TurnBackOnDelayPollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
SmartPollParam(id,query, time, poll, type, 3) {}
};
class EarlyTurnOffPollParam : public SmartPollParam
{
public:
EarlyTurnOffPollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
SmartPollParam(id,query, time, poll, type, 2) {}
};
class UPSStatePollParam : public SmartPollParam
{
protected:
static USHORT thePollSet;
public:
UPSStatePollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
SmartPollParam(id,query, time, poll, type, 2)
{ theCurrentState = ONLINEMASK;}
virtual ~UPSStatePollParam() { thePollSet = FALSE; }
INT ProcessValue(PMessage value, List* events);
virtual INT IsPollSet();
};
class UtilLineCondPollParam : public UPSStatePollParam
{
public:
UtilLineCondPollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
UPSStatePollParam(id,query, time, poll, type)
{ theCurrentState = ONLINEMASK; }
INT ProcessValue(PMessage value, List* events);
};
class ReplaceBattCondPollParam : public UPSStatePollParam
{
public:
ReplaceBattCondPollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
UPSStatePollParam(id,query, time, poll, type)
{ theCurrentState = REPLACEBATTERYMASK; }
INT ProcessValue(PMessage value, List* events);
};
class BatteryCondPollParam : public UPSStatePollParam
{
public:
BatteryCondPollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
UPSStatePollParam(id,query, time, poll, type)
{ theCurrentState = ONBATTERYMASK; }
INT ProcessValue(PMessage value, List* events);
};
class OverLoadCondPollParam : public UPSStatePollParam
{
public:
OverLoadCondPollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
UPSStatePollParam(id,query, time, poll, type)
{ theCurrentState = OVERLOADMASK; }
INT ProcessValue(PMessage value, List* events);
};
class SmartBoostCondPollParam : public UPSStatePollParam
{
public:
SmartBoostCondPollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
UPSStatePollParam(id,query, time, poll, type)
{ theCurrentState = SMARTBOOSTMASK; }
INT ProcessValue(PMessage value, List* events);
};
class SmartTrimCondPollParam : public UPSStatePollParam
{
public:
SmartTrimCondPollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
UPSStatePollParam(id,query, time, poll, type)
{ theCurrentState = SMARTTRIMMASK; }
INT ProcessValue(PMessage value, List* events);
};
#if (C_OS & C_OS2)
class BattCalibrateCondPollParam : public UPSStatePollParam
#else
class BattCalibrationCondPollParam : public UPSStatePollParam
#endif
{
public:
#if (C_OS & C_OS2)
BattCalibrateCondPollParam(INT id, CHAR* query, INT time, INT poll,
#else
BattCalibrationCondPollParam(INT id, CHAR* query, INT time, INT poll,
#endif
Type type=(Type)NULL) :
UPSStatePollParam(id,query, time, poll, type)
{ theCurrentState = BATTERYCALIBRATIONMASK; }
INT ProcessValue(PMessage value, List* events);
};
class AbnormalCondPollParam : public SmartPollParam
{
protected:
static USHORT thePollSet;
public:
AbnormalCondPollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
SmartPollParam(id,query, time, poll, type, 2)
{ theCurrentState = FAILED_UPS_MASK;}
virtual ~AbnormalCondPollParam() { thePollSet = FALSE; }
INT ProcessValue(PMessage value, List* events);
virtual INT IsPollSet();
};
class UPSModuleStatusPollParam : public AbnormalCondPollParam {
public:
UPSModuleStatusPollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
AbnormalCondPollParam(id,query, time, poll, type)
{ theCurrentState = FAILED_UPS_MASK; }
INT ProcessValue(PMessage value, List* events);
};
class IMStatusPollParam : public AbnormalCondPollParam {
public:
IMStatusPollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
AbnormalCondPollParam(id,query, time, poll, type)
{ theCurrentState = IM_FAILED_MASK; }
INT ProcessValue(PMessage value, List* events);
};
class IMInstallationStatusPollParam : public AbnormalCondPollParam {
public:
IMInstallationStatusPollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
AbnormalCondPollParam(id,query, time, poll, type)
{ theCurrentState = IM_FAILED_MASK; }
INT ProcessValue(PMessage value, List* events);
};
class RIMStatusPollParam : public AbnormalCondPollParam {
public:
RIMStatusPollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
AbnormalCondPollParam(id,query, time, poll, type)
{ theCurrentState = RIM_FAILED_MASK; }
INT ProcessValue(PMessage value, List* events);
};
class RedundancyConditionPollParam : public AbnormalCondPollParam {
public:
RedundancyConditionPollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
AbnormalCondPollParam(id,query, time, poll, type)
{ theCurrentState = REDUNDANCY_FAILED_MASK; }
INT ProcessValue(PMessage value, List* events);
};
class BypassContactorStatusPollParam : public AbnormalCondPollParam {
public:
BypassContactorStatusPollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
AbnormalCondPollParam(id,query, time, poll, type)
{ theCurrentState = BYPASS_STUCK_MASK; }
INT ProcessValue(PMessage value, List* events);
};
class InputBreakerTrippedStatusPollParam : public AbnormalCondPollParam {
public:
InputBreakerTrippedStatusPollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
AbnormalCondPollParam(id,query, time, poll, type)
{ theCurrentState = INPUT_BREAKER_TRIPPED_MASK; }
INT ProcessValue(PMessage value, List* events);
};
class SystemFanStatusPollParam : public AbnormalCondPollParam {
public:
SystemFanStatusPollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
AbnormalCondPollParam(id,query, time, poll, type)
{ theCurrentState = SYSTEM_FAN_FAILED_MASK; }
INT ProcessValue(PMessage value, List* events);
};
class ModuleCountsStatusPollParam : public SmartPollParam
{
protected:
static USHORT thePollSet;
public:
ModuleCountsStatusPollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
SmartPollParam(id,query, time, poll, type, 2)
{ theCurrentState = 0;}
virtual ~ModuleCountsStatusPollParam() { thePollSet = FALSE; }
INT ProcessValue(PMessage value, List* events);
virtual INT IsPollSet();
};
class NumberInstalledInvertersPollParam : public ModuleCountsStatusPollParam {
public:
NumberInstalledInvertersPollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
ModuleCountsStatusPollParam (id,query, time, poll, type)
{ theCurrentState = 0; }
INT ProcessValue(PMessage value, List* events);
};
class NumberBadInvertersPollParam : public ModuleCountsStatusPollParam {
public:
NumberBadInvertersPollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
ModuleCountsStatusPollParam (id,query, time, poll, type)
{ theCurrentState = 0; }
INT ProcessValue(PMessage value, List* events);
};
class RedundancyLevelPollParam : public ModuleCountsStatusPollParam {
public:
RedundancyLevelPollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
ModuleCountsStatusPollParam (id,query, time, poll, type)
{ theCurrentState = 0; }
INT ProcessValue(PMessage value, List* events);
};
class MinimumRedundancyPollParam : public ModuleCountsStatusPollParam {
public:
MinimumRedundancyPollParam (INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
ModuleCountsStatusPollParam (id,query, time, poll, type)
{ theCurrentState = 0; }
INT ProcessValue(PMessage value, List* events);
};
class CurrentLoadCapabilityPollParam : public ModuleCountsStatusPollParam {
public:
CurrentLoadCapabilityPollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
ModuleCountsStatusPollParam(id,query, time, poll, type)
{ theCurrentState = 0; }
INT ProcessValue(PMessage value, List* events);
};
class MaximumLoadCapabilityPollParam : public ModuleCountsStatusPollParam {
public:
MaximumLoadCapabilityPollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
ModuleCountsStatusPollParam(id,query, time, poll, type)
{ theCurrentState = 0; }
INT ProcessValue(PMessage value, List* events);
};
class RIMInstallationStatusPollParam : public ModuleCountsStatusPollParam {
public:
RIMInstallationStatusPollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
ModuleCountsStatusPollParam (id,query, time, poll, type)
{ theCurrentState = 0; }
INT ProcessValue(PMessage value, List* events);
};
class InputVoltageFrequencyPollParam : public SmartPollParam
{
protected:
static USHORT thePollSet;
public:
InputVoltageFrequencyPollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
SmartPollParam(id,query, time, poll, type, 2)
{ theCurrentState = 0;}
virtual ~InputVoltageFrequencyPollParam() { thePollSet = FALSE; }
INT ProcessValue(PMessage value, List* events);
virtual INT IsPollSet();
};
class PhaseAInputVoltagePollParam : public InputVoltageFrequencyPollParam{
public:
PhaseAInputVoltagePollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
InputVoltageFrequencyPollParam(id,query, time, poll, type)
{ theCurrentState = 0; }
INT ProcessValue(PMessage value, List* events);
};
class PhaseBInputVoltagePollParam : public InputVoltageFrequencyPollParam{
public:
PhaseBInputVoltagePollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
InputVoltageFrequencyPollParam(id,query, time, poll, type)
{ theCurrentState = 0; }
INT ProcessValue(PMessage value, List* events);
};
class PhaseCInputVoltagePollParam : public InputVoltageFrequencyPollParam{
public:
PhaseCInputVoltagePollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
InputVoltageFrequencyPollParam(id,query, time, poll, type)
{ theCurrentState = 0; }
INT ProcessValue(PMessage value, List* events);
};
class InputFrequencyPollParam : public InputVoltageFrequencyPollParam{
public:
InputFrequencyPollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
InputVoltageFrequencyPollParam(id,query, time, poll, type)
{ theCurrentState = 0; }
INT ProcessValue(PMessage value, List* events);
};
class NumberOfInputPhasesPollParam : public InputVoltageFrequencyPollParam{
public:
NumberOfInputPhasesPollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
InputVoltageFrequencyPollParam (id,query, time, poll, type)
{ theCurrentState = 0; }
INT ProcessValue(PMessage value, List* events);
};
class OutputVoltageCurrentsPollParam : public SmartPollParam
{
protected:
static USHORT thePollSet;
public:
OutputVoltageCurrentsPollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
SmartPollParam(id,query, time, poll, type, 2)
{ theCurrentState = 0;}
virtual ~OutputVoltageCurrentsPollParam() { thePollSet = FALSE; }
INT ProcessValue(PMessage value, List* events);
virtual INT IsPollSet();
};
class PhaseAOutputVoltagePollParam : public OutputVoltageCurrentsPollParam {
public:
PhaseAOutputVoltagePollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
OutputVoltageCurrentsPollParam (id,query, time, poll, type)
{ theCurrentState = 0; }
INT ProcessValue(PMessage value, List* events);
};
class PhaseBOutputVoltagePollParam : public OutputVoltageCurrentsPollParam{
public:
PhaseBOutputVoltagePollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
OutputVoltageCurrentsPollParam(id,query, time, poll, type)
{ theCurrentState = 0; }
INT ProcessValue(PMessage value, List* events);
};
class PhaseCOutputVoltagePollParam : public OutputVoltageCurrentsPollParam {
public:
PhaseCOutputVoltagePollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
OutputVoltageCurrentsPollParam(id,query, time, poll, type)
{ theCurrentState = 0; }
INT ProcessValue(PMessage value, List* events);
};
class NumberOfOutputPhasesPollParam : public OutputVoltageCurrentsPollParam {
public:
NumberOfOutputPhasesPollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
OutputVoltageCurrentsPollParam(id,query, time, poll, type)
{ theCurrentState = 0; }
INT ProcessValue(PMessage value, List* events);
};
class NumberBatteryPacksPollParam : public SmartPollParam
{
public:
NumberBatteryPacksPollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
SmartPollParam(id,query, time, poll, type, 3) {}
};
class NumberBadBatteryPacksPollParam : public SmartPollParam
{
public:
NumberBadBatteryPacksPollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
SmartPollParam(id,query, time, poll, type, 3) {}
};
class FanFailurePollParam : public Trip1RegisterPollParam
{
public:
FanFailurePollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
Trip1RegisterPollParam(id,query, time, poll, type) {}
INT ProcessValue(PMessage value, List* events);
};
class BypassPowerSupplyPollParam : public Trip1RegisterPollParam
{
public:
BypassPowerSupplyPollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
Trip1RegisterPollParam(id,query, time, poll, type) {}
INT ProcessValue(PMessage value, List* events);
};
class BypassModePollParam : public TripRegisterPollParam
{
public:
BypassModePollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
TripRegisterPollParam(id,query, time, poll, type) {}
INT ProcessValue(PMessage value, List* events);
};
class MUpsTempPollParam : public SmartPollParam
{
public:
MUpsTempPollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
SmartPollParam(id,query, time, poll, type, 5) {}
INT ProcessValue(PMessage value, List* events);
};
class MUpsHumidityPollParam: public SmartPollParam
{
public:
MUpsHumidityPollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
SmartPollParam(id,query, time, poll, type, 5) {}
INT ProcessValue(PMessage value, List* events);
};
class MUpsContactPosPollParam: public SmartPollParam
{
public:
MUpsContactPosPollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
SmartPollParam(id,query, time, poll, type, 2) {}
INT ProcessValue(PMessage value, List* events);
};
class MUpsFirmwareRevPollParam: public SmartPollParam
{
public:
MUpsFirmwareRevPollParam(INT id, CHAR* query, INT time, INT poll,
Type type=(Type)NULL) :
SmartPollParam(id,query, time, poll, type, 3) {}
INT ProcessValue(PMessage value, List* events);
};
#endif