42 lines
893 B
D
42 lines
893 B
D
module command.remoteundostatus.ceilingfanmediumcommand;
|
|
|
|
import command.remoteundostatus.command;
|
|
import command.remoteundostatus.ceilingfan;
|
|
|
|
class CeilingFanMediumCommand : Command
|
|
{
|
|
CeilingFan ceilingFan;
|
|
int prevSpeed;
|
|
|
|
this(CeilingFan ceilingFan)
|
|
{
|
|
this.ceilingFan = ceilingFan;
|
|
}
|
|
|
|
void execute()
|
|
{
|
|
prevSpeed = ceilingFan.getSpeed();
|
|
ceilingFan.medium();
|
|
}
|
|
|
|
void undo()
|
|
{
|
|
switch (prevSpeed)
|
|
{
|
|
case CeilingFan.HIGH:
|
|
ceilingFan.high();
|
|
break;
|
|
case CeilingFan.MEDIUM:
|
|
ceilingFan.medium();
|
|
break;
|
|
case CeilingFan.LOW:
|
|
ceilingFan.low();
|
|
break;
|
|
case CeilingFan.OFF:
|
|
ceilingFan.off();
|
|
break;
|
|
default: break;
|
|
}
|
|
}
|
|
}
|