blob: 4a1cd4325776b791e4aba7fe7b0199cefad6d789 [file] [log] [blame]
Brian Silvermanb691f5e2015-08-02 11:37:55 -07001#ifndef Y2015_ACTORS_LIFT_ACTOR_H_
2#define Y2015_ACTORS_LIFT_ACTOR_H_
Austin Schuh69792662015-02-22 21:39:52 -08003
4#include <stdint.h>
5
6#include <memory>
7
8#include "aos/common/actions/actions.h"
9#include "aos/common/actions/actor.h"
Brian Silvermanb691f5e2015-08-02 11:37:55 -070010#include "y2015/actors/lift_action.q.h"
11#include "y2015/actors/fridge_profile_lib.h"
Austin Schuh69792662015-02-22 21:39:52 -080012
Austin Schuh88af0852016-12-04 20:31:32 -080013namespace y2015 {
Austin Schuh69792662015-02-22 21:39:52 -080014namespace actors {
15
Austin Schuh6e242ac2015-03-07 17:08:21 -080016class LiftActor : public FridgeActorBase<LiftActionQueueGroup> {
Austin Schuh69792662015-02-22 21:39:52 -080017 public:
18 explicit LiftActor(LiftActionQueueGroup *queues);
19
20 bool RunAction(const LiftParams &params) override;
21};
22
23typedef aos::common::actions::TypedAction<LiftActionQueueGroup> LiftAction;
24
25// Makes a new LiftActor action.
26::std::unique_ptr<LiftAction> MakeLiftAction(const LiftParams &params);
27
28} // namespace actors
Austin Schuh88af0852016-12-04 20:31:32 -080029} // namespace y2015
Austin Schuh69792662015-02-22 21:39:52 -080030
Brian Silvermanb691f5e2015-08-02 11:37:55 -070031#endif // Y2015_ACTORS_LIFT_ACTOR_H_