ASCO Aerial Autonomy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Friends | List of all members
ControllerStatus Class Reference

Status of the controller. More...

#include <controller_status.h>

Public Types

enum  Status { Active, Completed, Critical, NotEngaged }
 Types of status available for a controller. More...
 

Public Member Functions

 ControllerStatus (ControllerStatus::Status status=ControllerStatus::NotEngaged, std::string status_description="")
 Constructor with default status as not engaged and short message describing the status. More...
 
std::string getHtmlStatusString ()
 Get a Html text describing the controller status. More...
 
void setStatus (ControllerStatus::Status status, std::string status_description="")
 Set the internal status of controller status. More...
 
 operator bool () const
 Allows for explicit conversion of the class to a boolean variable This is pretty useful to check controller status implies controller convergence or not. For example: if(controller_status) { do something} can be used to perform actions if controller has converged. More...
 

Friends

bool operator== (const ControllerStatus &controller_status, const Status &status_enum)
 An overload for comparing against an enum. More...
 
bool operator== (const ControllerStatus &lhs_controller_status, const ControllerStatus &rhs_controller_status)
 An overload function to compare two controller status classes. More...
 
bool operator!= (const ControllerStatus &lhs_controller_status, const ControllerStatus &rhs_controller_status)
 An overload function to compare two controller status classes. More...
 
ControllerStatusoperator<< (ControllerStatus &cs, const double &data)
 Add data to controller status. More...
 
ControllerStatusoperator<< (ControllerStatus &cs, const std::string &data)
 Add header for debug info. More...
 

Detailed Description

Status of the controller.

Member Enumeration Documentation

Types of status available for a controller.

Enumerator
Active 

Controller active.

Completed 

Controller completed.

Critical 

Controller is critical and unable to continue.

NotEngaged 

This status is used when no controller is engaged.

Constructor & Destructor Documentation

ControllerStatus::ControllerStatus ( ControllerStatus::Status  status = ControllerStatus::NotEngaged,
std::string  status_description = "" 
)

Constructor with default status as not engaged and short message describing the status.

Parameters
statusType of status
status_descriptionshort message describing the status

Member Function Documentation

std::string ControllerStatus::getHtmlStatusString ( )

Get a Html text describing the controller status.

Returns
html string containing controller status and description
ControllerStatus::operator bool ( ) const
inlineexplicit

Allows for explicit conversion of the class to a boolean variable This is pretty useful to check controller status implies controller convergence or not. For example: if(controller_status) { do something} can be used to perform actions if controller has converged.

Returns
true if controller status is completed. False otherwise
void ControllerStatus::setStatus ( ControllerStatus::Status  status,
std::string  status_description = "" 
)
inline

Set the internal status of controller status.

Parameters
statusEnum describing the current controller status
status_descriptionDescription about the status

Friends And Related Function Documentation

bool operator!= ( const ControllerStatus lhs_controller_status,
const ControllerStatus rhs_controller_status 
)
friend

An overload function to compare two controller status classes.

Parameters
lhs_controller_statusfirst controller status
rhs_controller_statussecond controller status
Returns
true if both controller status do not have the same status enum stored
ControllerStatus& operator<< ( ControllerStatus cs,
const double &  data 
)
friend

Add data to controller status.

Parameters
csControllerStatus instance
datadata to be input to controller status
Returns
ControllerStatus instance
ControllerStatus& operator<< ( ControllerStatus cs,
const std::string &  data 
)
friend

Add header for debug info.

Parameters
csController status instance
dataheader name
Returns
ControllerStatus instance
bool operator== ( const ControllerStatus controller_status,
const Status status_enum 
)
friend

An overload for comparing against an enum.

Parameters
controller_statusThe LHS which is a controller status
status_enumThe RHS which is an enum
Returns
true if the controller status has the same enum as RHS
bool operator== ( const ControllerStatus lhs_controller_status,
const ControllerStatus rhs_controller_status 
)
friend

An overload function to compare two controller status classes.

Parameters
lhs_controller_statusfirst controller status
rhs_controller_statussecond controller status
Returns
true if both controller status have the same status enum stored

The documentation for this class was generated from the following files: