qpOASES  3.2.1
An Implementation of the Online Active Set Strategy
Classes | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
MessageHandling Class Reference

Handles all kind of error messages, warnings and other information. More...

#include <MessageHandling.hpp>

Classes

struct  ReturnValueList
 Data structure for entries in global message list. More...
 

Public Member Functions

 MessageHandling ()
 
 MessageHandling (FILE *_outputFile)
 
 MessageHandling (VisibilityStatus _errorVisibility, VisibilityStatus _warningVisibility, VisibilityStatus _infoVisibility)
 
 MessageHandling (FILE *_outputFile, VisibilityStatus _errorVisibility, VisibilityStatus _warningVisibility, VisibilityStatus _infoVisibility)
 
 MessageHandling (const MessageHandling &rhs)
 
 ~MessageHandling ()
 
MessageHandlingoperator= (const MessageHandling &rhs)
 
returnValue throwError (returnValue Enumber, const char *additionaltext, const char *functionname, const char *filename, const unsigned long linenumber, VisibilityStatus localVisibilityStatus)
 
returnValue throwWarning (returnValue Wnumber, const char *additionaltext, const char *functionname, const char *filename, const unsigned long linenumber, VisibilityStatus localVisibilityStatus)
 
returnValue throwInfo (returnValue Inumber, const char *additionaltext, const char *functionname, const char *filename, const unsigned long linenumber, VisibilityStatus localVisibilityStatus)
 
returnValue reset ()
 
returnValue listAllMessages ()
 
VisibilityStatus getErrorVisibilityStatus () const
 
VisibilityStatus getWarningVisibilityStatus () const
 
VisibilityStatus getInfoVisibilityStatus () const
 
FILE * getOutputFile () const
 
int_t getErrorCount () const
 
void setErrorVisibilityStatus (VisibilityStatus _errorVisibility)
 
void setWarningVisibilityStatus (VisibilityStatus _warningVisibility)
 
void setInfoVisibilityStatus (VisibilityStatus _infoVisibility)
 
void setOutputFile (FILE *_outputFile)
 
returnValue setErrorCount (int_t _errorCount)
 

Static Public Member Functions

static const char * getErrorCodeMessage (const returnValue _returnValue)
 

Protected Member Functions

returnValue throwMessage (returnValue RETnumber, const char *additionaltext, const char *functionname, const char *filename, const unsigned long linenumber, VisibilityStatus localVisibilityStatus, const char *RETstring)
 

Protected Attributes

VisibilityStatus errorVisibility
 
VisibilityStatus warningVisibility
 
VisibilityStatus infoVisibility
 
FILE * outputFile
 
int_t errorCount
 

Detailed Description

This class handles all kinds of messages (errors, warnings, infos) initiated by qpOASES modules and stores the corresponding global preferences.

Author
Hans Joachim Ferreau (thanks to Leonard Wirsching)
Version
3.2
Date
2007-2017

Constructor & Destructor Documentation

◆ MessageHandling() [1/5]

MessageHandling::MessageHandling ( )

◆ MessageHandling() [2/5]

MessageHandling::MessageHandling ( FILE *  _outputFile)

Constructor which takes the desired output file.

Parameters
_outputFileOutput file.

References errorCount, errorVisibility, infoVisibility, outputFile, VS_HIDDEN, VS_VISIBLE, and warningVisibility.

◆ MessageHandling() [3/5]

MessageHandling::MessageHandling ( VisibilityStatus  _errorVisibility,
VisibilityStatus  _warningVisibility,
VisibilityStatus  _infoVisibility 
)

Constructor which takes the desired visibility states.

Parameters
_errorVisibilityVisibility status for error messages.
_warningVisibilityVisibility status for warning messages.
_infoVisibilityVisibility status for info messages.

References errorCount, errorVisibility, infoVisibility, outputFile, stdFile, and warningVisibility.

◆ MessageHandling() [4/5]

MessageHandling::MessageHandling ( FILE *  _outputFile,
VisibilityStatus  _errorVisibility,
VisibilityStatus  _warningVisibility,
VisibilityStatus  _infoVisibility 
)

Constructor which takes the desired output file and desired visibility states.

Parameters
_outputFileOutput file.
_errorVisibilityVisibility status for error messages.
_warningVisibilityVisibility status for warning messages.
_infoVisibilityVisibility status for info messages.

References errorCount, errorVisibility, infoVisibility, outputFile, and warningVisibility.

◆ MessageHandling() [5/5]

MessageHandling::MessageHandling ( const MessageHandling rhs)

Copy constructor (deep copy).

Parameters
rhsRhs object.

References errorCount, errorVisibility, infoVisibility, outputFile, and warningVisibility.

◆ ~MessageHandling()

MessageHandling::~MessageHandling ( )

Destructor.

References outputFile.

Member Function Documentation

◆ getErrorCodeMessage()

const char * MessageHandling::getErrorCodeMessage ( const returnValue  _returnValue)
static

Provides message text corresponding to given returnValue.

Returns
String containing message text.

References MessageHandling::ReturnValueList::data, stdFile, TERMINAL_LIST_ELEMENT, VS_HIDDEN, and VS_VISIBLE.

◆ getErrorCount()

int_t MessageHandling::getErrorCount ( ) const
inline

Returns error count value.

Returns
Error count value.

References errorCount.

◆ getErrorVisibilityStatus()

BEGIN_NAMESPACE_QPOASES VisibilityStatus MessageHandling::getErrorVisibilityStatus ( ) const
inline

Returns visibility status for error messages.

Returns
Visibility status for error messages.

References errorVisibility.

◆ getInfoVisibilityStatus()

VisibilityStatus MessageHandling::getInfoVisibilityStatus ( ) const
inline

Returns visibility status for info messages.

Returns
Visibility status for info messages.

References infoVisibility.

Referenced by getSimpleStatus().

◆ getOutputFile()

FILE * MessageHandling::getOutputFile ( ) const
inline

Returns pointer to output file.

Returns
Pointer to output file.

References outputFile.

Referenced by myPrintf().

◆ getWarningVisibilityStatus()

VisibilityStatus MessageHandling::getWarningVisibilityStatus ( ) const
inline

Returns visibility status for warning messages.

Returns
Visibility status for warning messages.

References warningVisibility.

◆ listAllMessages()

returnValue MessageHandling::listAllMessages ( )

Prints a complete list of all messages to output file.

Returns
SUCCESSFUL_RETURN

References MAX_STRING_LENGTH, myPrintf(), SUCCESSFUL_RETURN, and TERMINAL_LIST_ELEMENT.

◆ operator=()

MessageHandling & MessageHandling::operator= ( const MessageHandling rhs)

Assignment operator (deep copy).

Parameters
rhsRhs object.

References errorCount, errorVisibility, infoVisibility, outputFile, and warningVisibility.

◆ reset()

returnValue MessageHandling::reset ( )

◆ setErrorCount()

returnValue MessageHandling::setErrorCount ( int_t  _errorCount)
inline

Changes error count.

Returns
SUCCESSFUL_RETURN
RET_INVALID_ARGUMENT
Parameters
_errorCountNew error count value.

References END_NAMESPACE_QPOASES, errorCount, RET_INVALID_ARGUMENTS, and SUCCESSFUL_RETURN.

Referenced by getSimpleStatus(), and reset().

◆ setErrorVisibilityStatus()

void MessageHandling::setErrorVisibilityStatus ( VisibilityStatus  _errorVisibility)
inline

Changes visibility status for error messages.

Parameters
_errorVisibilityNew visibility status for error messages.

References errorVisibility.

Referenced by reset(), and QProblemB::setPrintLevel().

◆ setInfoVisibilityStatus()

void MessageHandling::setInfoVisibilityStatus ( VisibilityStatus  _infoVisibility)
inline

Changes visibility status for info messages.

Parameters
_infoVisibilityNew visibility status for info messages.

References infoVisibility.

Referenced by getSimpleStatus(), reset(), and QProblemB::setPrintLevel().

◆ setOutputFile()

void MessageHandling::setOutputFile ( FILE *  _outputFile)
inline

Changes output file for messages.

Parameters
_outputFileNew output file for messages.

References outputFile.

Referenced by reset().

◆ setWarningVisibilityStatus()

void MessageHandling::setWarningVisibilityStatus ( VisibilityStatus  _warningVisibility)
inline

Changes visibility status for warning messages.

Parameters
_warningVisibilityNew visibility status for warning messages.

References warningVisibility.

Referenced by reset(), and QProblemB::setPrintLevel().

◆ throwError()

returnValue MessageHandling::throwError ( returnValue  Enumber,
const char *  additionaltext,
const char *  functionname,
const char *  filename,
const unsigned long  linenumber,
VisibilityStatus  localVisibilityStatus 
)

Prints an error message(a simplified macro THROWERROR is also provided).
Errors are defined as abnormal events which cause an immediate termination of the current (sub) function. Errors of a sub function should be commented by the calling function by means of a warning message (if this error does not cause an error of the calling function, either)!

Returns
Error number returned by sub function call
Parameters
EnumberError number returned by sub function call.
additionaltextAdditional error text (0, if none).
functionnameName of function which caused the error.
filenameName of file which caused the error.
linenumberNumber of line which caused the error.incompatible binary file
localVisibilityStatusDetermines (locally) if error message can be printed to stdFile. If GLOBAL visibility status of the message is set to VS_HIDDEN, no message is printed, anyway!

References __FILE__, __FUNC__, __LINE__, errorVisibility, RET_ERROR_UNDEFINED, SUCCESSFUL_RETURN, throwMessage(), and VS_VISIBLE.

Referenced by readFromFile(), throwInfo(), throwMessage(), throwWarning(), and writeIntoFile().

◆ throwInfo()

returnValue MessageHandling::throwInfo ( returnValue  Inumber,
const char *  additionaltext,
const char *  functionname,
const char *  filename,
const unsigned long  linenumber,
VisibilityStatus  localVisibilityStatus 
)

Prints a info message (a simplified macro THROWINFO is also provided).

Returns
Info number returned by sub function call
Parameters
InumberInfo number returned by sub function call.
additionaltextAdditional warning text (0, if none).
functionnameName of function which submitted the info.
filenameName of file which submitted the info.
linenumberNumber of line which submitted the info.
localVisibilityStatusDetermines (locally) if info message can be printed to stdFile. If GLOBAL visibility status of the message is set to VS_HIDDEN, no message is printed, anyway!

References __FILE__, __FUNC__, __LINE__, infoVisibility, RET_INFO_UNDEFINED, SUCCESSFUL_RETURN, throwError(), throwMessage(), and VS_VISIBLE.

Referenced by SQProblemSchur::addBound_ensureLI(), QProblem::addBound_ensureLI(), SQProblemSchur::addConstraint_ensureLI(), QProblem::addConstraint_ensureLI(), QProblem::changeActiveSet(), QProblemB::changeActiveSet(), QProblem::performStep(), QProblemB::performStep(), QProblem::solveQP(), and QProblemB::solveQP().

◆ throwMessage()

returnValue MessageHandling::throwMessage ( returnValue  RETnumber,
const char *  additionaltext,
const char *  functionname,
const char *  filename,
const unsigned long  linenumber,
VisibilityStatus  localVisibilityStatus,
const char *  RETstring 
)
protected

Prints a info message to stdFile (auxiliary function).

Returns
Error/warning/info number returned by sub function call
Parameters
RETnumberError/warning/info number returned by sub function call.
additionaltextAdditional warning text (0, if none).
functionnameName of function which caused the error/warning/info.
filenameName of file which caused the error/warning/info.
linenumberNumber of line which caused the error/warning/info.
localVisibilityStatusDetermines (locally) if info message can be printed to stdFile. If GLOBAL visibility status of the message is set to VS_HIDDEN, no message is printed, anyway!
RETstringLeading string of error/warning/info message.

References __FILE__, __FUNC__, __LINE__, errorCount, MAX_STRING_LENGTH, myPrintf(), RET_EWI_UNDEFINED, TERMINAL_LIST_ELEMENT, throwError(), and VS_VISIBLE.

Referenced by throwError(), throwInfo(), and throwWarning().

◆ throwWarning()

returnValue MessageHandling::throwWarning ( returnValue  Wnumber,
const char *  additionaltext,
const char *  functionname,
const char *  filename,
const unsigned long  linenumber,
VisibilityStatus  localVisibilityStatus 
)

Prints a warning message (a simplified macro THROWWARNING is also provided). Warnings are definied as abnormal events which does NOT cause an immediate termination of the current (sub) function.

Returns
Warning number returned by sub function call
Parameters
WnumberWarning number returned by sub function call.
additionaltextAdditional warning text (0, if none).
functionnameName of function which caused the warning.
filenameName of file which caused the warning.
linenumberNumber of line which caused the warning.
localVisibilityStatusDetermines (locally) if warning message can be printed to stdFile. If GLOBAL visibility status of the message is set to VS_HIDDEN, no message is printed, anyway!

References __FILE__, __FUNC__, __LINE__, RET_WARNING_UNDEFINED, SUCCESSFUL_RETURN, throwError(), throwMessage(), VS_VISIBLE, and warningVisibility.

Referenced by QProblem::performStep(), QProblemB::performStep(), QProblem::solveQP(), and QProblemB::solveQP().

Member Data Documentation

◆ errorCount

int_t MessageHandling::errorCount
protected

Counts number of errors (for nicer output only).

Referenced by getErrorCount(), MessageHandling(), operator=(), setErrorCount(), and throwMessage().

◆ errorVisibility

VisibilityStatus MessageHandling::errorVisibility
protected

◆ infoVisibility

VisibilityStatus MessageHandling::infoVisibility
protected

◆ outputFile

FILE* MessageHandling::outputFile
protected

Output file for messages.

Referenced by getOutputFile(), MessageHandling(), operator=(), setOutputFile(), and ~MessageHandling().

◆ warningVisibility

VisibilityStatus MessageHandling::warningVisibility
protected

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