blob: 3331aa39a9ad49a0ddbab9ab137e6392a76a26d2 [file] [log] [blame]
Brian Silvermanf7f267a2017-02-04 16:16:08 -08001/*----------------------------------------------------------------------------*/
2/* Copyright (c) FIRST 2016-2017. All Rights Reserved. */
3/* Open Source Software - may be modified and shared by FRC teams. The code */
4/* must be accompanied by the FIRST BSD license file in the root directory of */
5/* the project. */
6/*----------------------------------------------------------------------------*/
7
8#pragma once
9
10#include <string>
11
12#include "Commands/Command.h"
13
14namespace frc {
15
16/**
17 * A {@link TimedCommand} will wait for a timeout before finishing.
18 * {@link TimedCommand} is used to execute a command for a given amount of time.
19 */
20class TimedCommand : public Command {
21 public:
22 TimedCommand(const std::string& name, double timeout);
23 explicit TimedCommand(double timeout);
24 virtual ~TimedCommand() = default;
25
26 protected:
27 bool IsFinished() override;
28};
29
30} // namespace frc