Leaked source code of windows server 2003
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.

80 lines
2.1 KiB

  1. /*
  2. *
  3. * NOTES:
  4. *
  5. * REVISIONS:
  6. * rct08Dec92 fixed up some things ... finished implementation
  7. * pcy28Dec92: Parent is now an UpdateObj. Not a DeviceController
  8. * ane11Jan93: Added theTimerId
  9. * pcy15Jan93: Added upsstate.h
  10. * pcy28Jan94: Handle run time timer different (now in Shutdowner)
  11. * ajr02Aug94: moved BACKUPS_FIRMWARE_REV definition to backups.h
  12. * djs16Mar95: changed upsstate.h to sysstate.h
  13. */
  14. #ifndef __BACKUPS_H
  15. #define __BACKUPS_H
  16. //
  17. // Defines
  18. //
  19. _CLASSDEF(BackUps)
  20. _CLASSDEF(Sensor)
  21. extern "C" {
  22. #include <time.h>
  23. }
  24. #include "ups.h"
  25. #include "sysstate.h"
  26. class BackUps : public Ups {
  27. protected:
  28. INT theLastTransferCause;
  29. time_t theRunTimeExpiration;
  30. time_t theOnBatteryTimer;
  31. PSensor theBatteryConditionSensor;
  32. PSensor theUtilityLineConditionSensor;
  33. PSensor theTurnOffUpsOnBatterySensor;
  34. virtual VOID HandleLineConditionEvent(PEvent aEvent);
  35. virtual VOID HandleBatteryConditionEvent(PEvent aEvent);
  36. INT isOnLine() { return !IS_STATE(UPS_STATE_ON_BATTERY); };
  37. INT isOnBattery() { return IS_STATE(UPS_STATE_ON_BATTERY); };
  38. INT isBatteryBad() { return IS_STATE(UPS_STATE_BATTERY_BAD); };
  39. INT isLowBattery() { return IS_STATE(UPS_STATE_BATTERY_NEEDED); };
  40. INT isInSmartBoost() { return IS_STATE(UPS_STATE_ON_BOOST); };
  41. INT isInDeepDischarge() { return IS_STATE(UPS_STATE_IN_CALIBRATION); };
  42. INT isInLightsTest() { return IS_STATE(UPS_STATE_IN_LIGHTS_TEST); };
  43. INT isLineFailPending() { return IS_STATE(UPS_STATE_LINE_FAIL_PENDING); };
  44. VOID setLineGood();
  45. VOID setLineBad();
  46. VOID setBatteryGood();
  47. VOID setBatteryBad(PEvent aEvent);
  48. VOID setLineFailPending();
  49. virtual VOID registerForEvents();
  50. public:
  51. BackUps(PUpdateObj aDeviceController, PCommController aCommController);
  52. virtual ~BackUps();
  53. virtual INT IsA() const { return BACKUPS; };
  54. virtual INT Get(INT code, PCHAR value);
  55. virtual INT Set(INT code, const PCHAR value);
  56. virtual INT Update(PEvent event);
  57. };
  58. #define BACKUPS_FIRMWARE_REV "Q"
  59. #endif