#ifndef MISSION_SYSTEM_DUALLANEPOWERSTATEMACHINE_H_
#define MISSION_SYSTEM_DUALLANEPOWERSTATEMACHINE_H_

#include <devices/powerSwitcherList.h>
#include <fsfw/modes/HasModesIF.h>
#include <mission/system/PowerStateMachineBase.h>

#include "definitions.h"

class AssemblyBase;
class PowerSwitchIF;

class DualLanePowerStateMachine : public PowerStateMachineBase {
 public:
  DualLanePowerStateMachine(power::Switch_t switchA, power::Switch_t switchB,
                            PowerSwitchIF* pwrSwitcher, dur_millis_t checkTimeout = 5000);
  power::OpCodes fsm() override;

  const power::Switch_t SWITCH_A;
  const power::Switch_t SWITCH_B;

 private:
};

#endif /* MISSION_SYSTEM_DUALLANEPOWERSTATEMACHINE_H_ */