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
MessageHandling Class Reference

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

#include <MessageHandling.hpp>

List of all members.

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::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::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::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.

Copy constructor (deep copy).

Parameters:
rhsRhs object.

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

Destructor.

References outputFile.


Member Function Documentation

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

Provides message text corresponding to given returnValue.

Returns:
String containing message text.

References MessageHandling::ReturnValueList::data, and TERMINAL_LIST_ELEMENT.

Returns error count value.

Returns:
Error count value.

References errorCount.

Returns visibility status for error messages.

Returns:
Visibility status for error messages.

References errorVisibility.

Returns visibility status for info messages.

Returns:
Visibility status for info messages.

References infoVisibility.

Referenced by getSimpleStatus().

FILE * MessageHandling::getOutputFile ( ) const [inline]

Returns pointer to output file.

Returns:
Pointer to output file.

References outputFile.

Referenced by myPrintf().

Returns visibility status for warning messages.

Returns:
Visibility status for warning messages.

References warningVisibility.

Prints a complete list of all messages to output file.

Returns:
SUCCESSFUL_RETURN

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

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

Assignment operator (deep copy).

Parameters:
rhsRhs object.

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

Changes error count.

Returns:
SUCCESSFUL_RETURN
RET_INVALID_ARGUMENT
Parameters:
_errorCountNew error count value.

References errorCount, RET_INVALID_ARGUMENTS, and SUCCESSFUL_RETURN.

Referenced by getSimpleStatus(), and reset().

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().

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().

void MessageHandling::setOutputFile ( FILE *  _outputFile) [inline]

Changes output file for messages.

Parameters:
_outputFileNew output file for messages.

References outputFile.

Referenced by reset().

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().

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().

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().

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().

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

Counts number of errors (for nicer output only).

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

FILE* MessageHandling::outputFile [protected]

Output file for messages.

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


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