#pragma once

#include <iostream>
#include <string>
#include "StateBase.hpp"
#include "StateVariables.hpp"

class AnchorState final : public StateBase
{
  private:
	enum Actions
	{
		firstAction,
		numActions
	};

  public:
	AnchorState(std::string stateid, uint32_t timeout = 0) : StateBase{stateid, timeout}
	{
		defineActionLabels();
	}

  private:
	StateVariables SV;

	void doStateEntry() final;
	void doStateActions() final;
	StateNames checkEvents() final;
	void doStateExit(bool timeout) final;
	void defineActionLabels() final;
};
