Program Listing for File robot_malfunction.hpp
↰ Return to documentation for file (cosm/argos/operations/robot_malfunction.hpp
)
#pragma once
/*******************************************************************************
* Includes
******************************************************************************/
#include "rcppsw/er/client.hpp"
#include "rcppsw/types/type_uuid.hpp"
#include "rcppsw/types/timestep.hpp"
#include "rcppsw/patterns/visitor/visitor.hpp"
#include "cosm/cosm.hpp"
/*******************************************************************************
* Namespaces
******************************************************************************/
namespace cosm::fsm {
class supervisor_fsm;
} /* namespace fsm */
namespace cosm::pal::argos::controller {
class adaptor2D;
class adaptorQ3D;
} /* namespace cosm::pal */
namespace cosm::argos::operations {
/*******************************************************************************
* Class Definitions
******************************************************************************/
class robot_malfunction : public rer::client<robot_malfunction> {
public:
robot_malfunction(void) :
ER_CLIENT_INIT("cosm.pal.argos.operations.robot_malfunction") {}
~robot_malfunction(void) override = default;
robot_malfunction(const robot_malfunction&) = delete;
robot_malfunction& operator=(const robot_malfunction&) = delete;
void visit(cfsm::supervisor_fsm& fsm);
void visit(cpargos::controller::adaptor2D& controller);
void visit(cpargos::controller::adaptorQ3D& controller);
};
} /* namespace cosm::argos::operations */