blob: b882585318b4ffb8f39a7a94cdbee73a78860758 [file] [log] [blame]
#ifndef Y2016_ACTORS_SUPERSTRUCTURE_ACTOR_H_
#define Y2016_ACTORS_SUPERSTRUCTURE_ACTOR_H_
#include <memory>
#include "aos/common/actions/actor.h"
#include "aos/common/actions/actions.h"
#include "y2016/actors/superstructure_action.q.h"
namespace y2016 {
namespace actors {
class SuperstructureActor
: public ::aos::common::actions::ActorBase<SuperstructureActionQueueGroup> {
public:
explicit SuperstructureActor(SuperstructureActionQueueGroup* s);
bool RunAction(const actors::SuperstructureActionParams& params) override;
};
using SuperstructureAction =
::aos::common::actions::TypedAction<SuperstructureActionQueueGroup>;
// Makes a new SuperstructureActor action.
::std::unique_ptr<SuperstructureAction> MakeSuperstructureAction(
const ::y2016::actors::SuperstructureActionParams& params);
} // namespace actors
} // namespace y2016
#endif // Y2016_ACTORS_SUPERSTRUCTURE_ACTOR_H_