monitor: Create PowerOffAction class hierarchy
The PowerOffAction base class and its derived classes will be used to
power off a system due to fan failures.
There are 3 types of power offs:
1. HardPowerOff - Do a hard power off after a delay
2. SoftPowerOff - Do a soft power off after a delay
3. EpowPowerOff - This isn't fully defined yet, but it will involve
powering off after setting an early power off warning
somehow and then waiting through 2 delays.
The code that makes the D-Bus calls to do the power offs is in a
standalone class so that it can be be mocked in testcases.
This code also makes use of the Logger class for logging, so this commit
brings that in as a singleton.
Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: I83118963df4ec0b4f89619572f6935329eec3adb
7 files changed