Program Listing for File state.hpp

Return to documentation for file (rcppsw/patterns/fsm/state.hpp)

#pragma once

/*******************************************************************************
 * Includes
 ******************************************************************************/
#include "rcppsw/rcppsw.hpp"

/*******************************************************************************
 * Namespaces/Decls
 ******************************************************************************/
namespace rcppsw::patterns::fsm {

class base_fsm;
class event_data;

/*******************************************************************************
 * Class Definitions
 ******************************************************************************/
class state {
 public:
  state(void) = default;
  state(const state&) = default;
  virtual ~state(void) = default;

  virtual int invoke_state_action(base_fsm* sm,
                                  event_data* data) const = 0;
};

} /* namespace rcppsw::patterns::fsm */