blob: f05274d097bdd278bc10b09d7e68d0fee1b87d0c [file] [log] [blame]
Brian Silverman26e4e522015-12-17 01:56:40 -05001/*----------------------------------------------------------------------------*/
Brian Silverman1a675112016-02-20 20:42:49 -05002/* Copyright (c) FIRST 2011-2016. All Rights Reserved. */
Brian Silverman26e4e522015-12-17 01:56:40 -05003/* Open Source Software - may be modified and shared by FRC teams. The code */
Brian Silverman1a675112016-02-20 20:42:49 -05004/* must be accompanied by the FIRST BSD license file in the root directory of */
5/* the project. */
Brian Silverman26e4e522015-12-17 01:56:40 -05006/*----------------------------------------------------------------------------*/
7
8#ifndef __BUTTON_SCHEDULER_H__
9#define __BUTTON_SCHEDULER_H__
10
11class Trigger;
12class Command;
13
14class ButtonScheduler {
15 public:
16 ButtonScheduler(bool last, Trigger *button, Command *orders);
17 virtual ~ButtonScheduler() = default;
18 virtual void Execute() = 0;
19 void Start();
20
21 protected:
22 bool m_pressedLast;
23 Trigger *m_button;
24 Command *m_command;
25};
26
27#endif