Program Listing for File stop.hpp

Return to documentation for file (cosm/controller/operations/stop.hpp)

#pragma once

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

#include "cosm/cosm.hpp"

/*******************************************************************************
 * Namespaces/Decls
 ******************************************************************************/
namespace cosm::fsm {
class supervisor_fsm;
} /* namespace fsm */

namespace cosm::controller {
class base_controller;
}

namespace cosm::controller::operations {

/*******************************************************************************
 * Class Definitions
 ******************************************************************************/
class stop : public rer::client<stop> {
 public:
  stop(void) : ER_CLIENT_INIT("cosm.controller.operations.stop") {}
  ~stop(void) override = default;

  stop(const stop&) = delete;
  stop& operator=(const stop&) = delete;

  void visit(cfsm::supervisor_fsm& fsm);
  void visit(ccontroller::base_controller& controller);
};

} /* namespace cosm::controller::operations */