blob: 583121b8b443b6ecb622153df01651d65757f597 [file] [log] [blame]
Brian Silverman17f503e2015-08-02 18:17:18 -07001#ifndef Y2014_ACTIONS_DRIVETRAIN_ACTION_H_
2#define Y2014_ACTIONS_DRIVETRAIN_ACTION_H_
3
4#include <memory>
5
Brian Silverman17f503e2015-08-02 18:17:18 -07006#include "aos/common/actions/actor.h"
7#include "aos/common/actions/actions.h"
8
Brian Silvermanac961072015-05-17 01:42:33 -04009#include "y2014/actors/drivetrain_action.q.h"
10
Brian Silverman17f503e2015-08-02 18:17:18 -070011namespace frc971 {
12namespace actors {
13
14class DrivetrainActor
Brian Silvermanac961072015-05-17 01:42:33 -040015 : public ::aos::common::actions::ActorBase<DrivetrainActionQueueGroup> {
Brian Silverman17f503e2015-08-02 18:17:18 -070016 public:
17 explicit DrivetrainActor(DrivetrainActionQueueGroup* s);
18
19 bool RunAction(const actors::DrivetrainActionParams &params) override;
20};
21
Brian Silvermanac961072015-05-17 01:42:33 -040022typedef ::aos::common::actions::TypedAction<DrivetrainActionQueueGroup>
Brian Silverman17f503e2015-08-02 18:17:18 -070023 DrivetrainAction;
24
25// Makes a new DrivetrainActor action.
26::std::unique_ptr<DrivetrainAction> MakeDrivetrainAction(
27 const ::frc971::actors::DrivetrainActionParams& params);
28
29} // namespace actors
30} // namespace frc971
31
32#endif