qpOASES  3.2.1
An Implementation of the Online Active Set Strategy
MessageHandling.hpp
Go to the documentation of this file.
1 /*
2  * This file is part of qpOASES.
3  *
4  * qpOASES -- An Implementation of the Online Active Set Strategy.
5  * Copyright (C) 2007-2017 by Hans Joachim Ferreau, Andreas Potschka,
6  * Christian Kirches et al. All rights reserved.
7  *
8  * qpOASES is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU Lesser General Public
10  * License as published by the Free Software Foundation; either
11  * version 2.1 of the License, or (at your option) any later version.
12  *
13  * qpOASES is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
16  * See the GNU Lesser General Public License for more details.
17  *
18  * You should have received a copy of the GNU Lesser General Public
19  * License along with qpOASES; if not, write to the Free Software
20  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21  *
22  */
23 
24 
35 #ifndef QPOASES_MESSAGEHANDLING_HPP
36 #define QPOASES_MESSAGEHANDLING_HPP
37 
38 
39 #include <stdio.h>
40 #include <string.h>
41 
42 #ifdef __DEBUG__
43 #include <assert.h>
44 #endif
45 
46 #include <qpOASES/Constants.hpp>
47 
48 
50 
51 
53 extern FILE* stdFile;
54 
55 
65 {
67 /* miscellaneous */
80 /* Indexlist */
87 /* SubjectTo / Bounds / Constraints */
99 /* QProblem */
196 /* SQProblem */
199 /* Utils */
204 /* Options */
206 /* SolutionAnalysis */
208 /* Benchmark */
215 /* Sparse matrices */
218 /* Dropping of infeasible constraints */
220 /* Schur complement computations */
225 /* Simple exitflags */
231 };
232 
233 
245 {
246  /*
247  * INTERNAL DATA STRUCTURES
248  */
249  public:
257  typedef struct {
259  const char* data;
262  } ReturnValueList;
263 
264 
265  /*
266  * PUBLIC MEMBER FUNCTIONS
267  */
268  public:
270  MessageHandling( );
271 
273  MessageHandling( FILE* _outputFile
274  );
275 
277  MessageHandling( VisibilityStatus _errorVisibility,
278  VisibilityStatus _warningVisibility,
279  VisibilityStatus _infoVisibility
280  );
281 
283  MessageHandling( FILE* _outputFile,
284  VisibilityStatus _errorVisibility,
285  VisibilityStatus _warningVisibility,
286  VisibilityStatus _infoVisibility
287  );
288 
290  MessageHandling( const MessageHandling& rhs
291  );
292 
294  ~MessageHandling( );
295 
298  );
299 
300 
308  const char* additionaltext,
309  const char* functionname,
310  const char* filename,
311  const unsigned long linenumber,
312  VisibilityStatus localVisibilityStatus
315  );
316 
322  const char* additionaltext,
323  const char* functionname,
324  const char* filename,
325  const unsigned long linenumber,
326  VisibilityStatus localVisibilityStatus
329  );
330 
335  const char* additionaltext,
336  const char* functionname,
337  const char* filename,
338  const unsigned long linenumber,
339  VisibilityStatus localVisibilityStatus
342  );
343 
344 
347  returnValue reset( );
348 
349 
353 
354 
358 
362 
366 
369  inline FILE* getOutputFile( ) const;
370 
373  inline int_t getErrorCount( ) const;
374 
375 
377  inline void setErrorVisibilityStatus( VisibilityStatus _errorVisibility
378  );
379 
381  inline void setWarningVisibilityStatus( VisibilityStatus _warningVisibility
382  );
383 
385  inline void setInfoVisibilityStatus( VisibilityStatus _infoVisibility
386  );
387 
389  inline void setOutputFile( FILE* _outputFile
390  );
391 
395  inline returnValue setErrorCount( int_t _errorCount
396  );
397 
400  static const char* getErrorCodeMessage( const returnValue _returnValue
401  );
402 
403 
404  /*
405  * PROTECTED MEMBER FUNCTIONS
406  */
407  protected:
412  returnValue RETnumber,
413  const char* additionaltext,
414  const char* functionname,
415  const char* filename,
416  const unsigned long linenumber,
417  VisibilityStatus localVisibilityStatus,
420  const char* RETstring
421  );
422 
423 
424  /*
425  * PROTECTED MEMBER VARIABLES
426  */
427  protected:
432  FILE* outputFile;
435 };
436 
437 
438 #ifndef __FILE__
439 
440  #define __FILE__ 0
441 #endif
442 
443 #ifndef __LINE__
444 
445  #define __LINE__ 0
446 #endif
447 
449 /*#define __FUNC__ 0*/
450 #define __FUNC__ ("(no function name provided)")
451 /*#define __FUNC__ __func__*/
452 /*#define __FUNC__ __FUNCTION__*/
453 
454 
456 #define THROWERROR(retval) ( getGlobalMessageHandler( )->throwError((retval),0,__FUNC__,__FILE__,__LINE__,VS_VISIBLE) )
457 
459 #define THROWWARNING(retval) ( getGlobalMessageHandler( )->throwWarning((retval),0,__FUNC__,__FILE__,__LINE__,VS_VISIBLE) )
460 
462 #define THROWINFO(retval) ( getGlobalMessageHandler( )->throwInfo((retval),0,__FUNC__,__FILE__,__LINE__,VS_VISIBLE) )
463 
464 
469 
470 
472 
474 
475 #endif /* QPOASES_MESSAGEHANDLING_HPP */
476 
477 
478 /*
479  * end of file
480  */
Definition: MessageHandling.hpp:100
Definition: MessageHandling.hpp:149
Definition: MessageHandling.hpp:197
#define BEGIN_NAMESPACE_QPOASES
Definition: Types.hpp:107
VisibilityStatus infoVisibility
Definition: MessageHandling.hpp:430
Definition: MessageHandling.hpp:123
Definition: MessageHandling.hpp:148
Definition: MessageHandling.hpp:155
Definition: MessageHandling.hpp:228
#define END_NAMESPACE_QPOASES
Definition: Types.hpp:110
Definition: MessageHandling.hpp:153
Definition: MessageHandling.hpp:211
Definition: MessageHandling.hpp:189
Definition: MessageHandling.hpp:129
Definition: MessageHandling.hpp:111
Definition: MessageHandling.hpp:95
Definition: MessageHandling.hpp:205
Definition: MessageHandling.hpp:221
Definition: MessageHandling.hpp:75
Definition: MessageHandling.hpp:170
Definition: MessageHandling.hpp:177
Definition: MessageHandling.hpp:82
Definition: MessageHandling.hpp:157
Definition: MessageHandling.hpp:142
Definition: MessageHandling.hpp:122
int_t errorCount
Definition: MessageHandling.hpp:434
Definition: MessageHandling.hpp:169
~MessageHandling()
Definition: MessageHandling.cpp:316
int int_t
Definition: Types.hpp:180
Definition: MessageHandling.hpp:214
returnValue throwError(returnValue Enumber, const char *additionaltext, const char *functionname, const char *filename, const unsigned long linenumber, VisibilityStatus localVisibilityStatus)
Definition: MessageHandling.cpp:347
Definition: MessageHandling.hpp:131
Definition: MessageHandling.hpp:179
Definition: MessageHandling.hpp:126
Definition: MessageHandling.hpp:152
Definition: MessageHandling.hpp:113
Definition: MessageHandling.hpp:181
returnValue throwInfo(returnValue Inumber, const char *additionaltext, const char *functionname, const char *filename, const unsigned long linenumber, VisibilityStatus localVisibilityStatus)
Definition: MessageHandling.cpp:393
Definition: MessageHandling.hpp:168
Definition: MessageHandling.hpp:88
Data structure for entries in global message list.
Definition: MessageHandling.hpp:257
returnValue reset()
Definition: MessageHandling.cpp:416
Definition: MessageHandling.hpp:185
Definition: MessageHandling.hpp:117
Definition: MessageHandling.hpp:201
Definition: MessageHandling.hpp:159
Definition: MessageHandling.hpp:128
Definition: MessageHandling.hpp:108
Definition: MessageHandling.hpp:165
Definition: MessageHandling.hpp:105
Definition: MessageHandling.hpp:110
Definition: MessageHandling.hpp:141
Definition: MessageHandling.hpp:151
Definition: MessageHandling.hpp:219
returnValue throwWarning(returnValue Wnumber, const char *additionaltext, const char *functionname, const char *filename, const unsigned long linenumber, VisibilityStatus localVisibilityStatus)
Definition: MessageHandling.cpp:370
Definition: MessageHandling.hpp:227
Definition: MessageHandling.hpp:184
Definition: MessageHandling.hpp:101
Definition: MessageHandling.hpp:207
static const char * getErrorCodeMessage(const returnValue _returnValue)
Definition: MessageHandling.cpp:570
Definition: MessageHandling.hpp:230
Definition: MessageHandling.hpp:192
Definition: MessageHandling.hpp:98
Definition: MessageHandling.hpp:132
VisibilityStatus warningVisibility
Definition: MessageHandling.hpp:429
Definition: MessageHandling.hpp:90
MessageHandling & operator=(const MessageHandling &rhs)
Definition: MessageHandling.cpp:328
Definition: MessageHandling.hpp:107
returnValue setErrorCount(int_t _errorCount)
Definition: MessageHandling.ipp:127
Definition: MessageHandling.hpp:195
Definition: MessageHandling.hpp:191
Definition: MessageHandling.hpp:161
Definition: MessageHandling.hpp:136
Definition: MessageHandling.hpp:174
Definition: MessageHandling.hpp:94
Definition: MessageHandling.hpp:172
Definition: MessageHandling.hpp:71
Definition: MessageHandling.hpp:163
Definition: MessageHandling.hpp:134
Definition: MessageHandling.hpp:147
Definition: MessageHandling.hpp:217
Definition: MessageHandling.hpp:77
Definition: MessageHandling.hpp:137
MessageHandling * getGlobalMessageHandler()
Definition: MessageHandling.cpp:615
Definition: MessageHandling.hpp:73
Definition: MessageHandling.hpp:119
Definition: MessageHandling.hpp:81
VisibilityStatus globalVisibilityStatus
Definition: MessageHandling.hpp:260
Definition: MessageHandling.hpp:183
Definition: MessageHandling.hpp:72
FILE * getOutputFile() const
Definition: MessageHandling.ipp:73
Definition: MessageHandling.hpp:209
Definition: MessageHandling.hpp:140
Definition: MessageHandling.hpp:167
Definition: MessageHandling.hpp:127
Definition: MessageHandling.hpp:68
Definition: MessageHandling.hpp:120
Definition: MessageHandling.hpp:194
Definition: MessageHandling.hpp:229
Definition: MessageHandling.hpp:226
Definition: MessageHandling.hpp:79
void setInfoVisibilityStatus(VisibilityStatus _infoVisibility)
Definition: MessageHandling.ipp:109
Definition: MessageHandling.hpp:175
Definition: MessageHandling.hpp:216
Definition: MessageHandling.hpp:224
Handles all kind of error messages, warnings and other information.
Definition: MessageHandling.hpp:244
void setOutputFile(FILE *_outputFile)
Definition: MessageHandling.ipp:118
returnValue listAllMessages()
Definition: MessageHandling.cpp:432
Definition: MessageHandling.hpp:104
Definition: MessageHandling.hpp:66
Definition: MessageHandling.hpp:115
Definition: MessageHandling.hpp:124
Definition: MessageHandling.hpp:91
Definition: MessageHandling.hpp:133
Definition: MessageHandling.hpp:89
returnValue
Defines all symbols for global return values.
Definition: MessageHandling.hpp:64
const char * data
Definition: MessageHandling.hpp:259
Definition: MessageHandling.hpp:135
BEGIN_NAMESPACE_QPOASES FILE * stdFile
Definition: MessageHandling.cpp:49
Definition: MessageHandling.hpp:102
Definition: MessageHandling.hpp:145
Definition: MessageHandling.hpp:188
Definition: MessageHandling.hpp:78
Definition: MessageHandling.hpp:109
Definition: MessageHandling.hpp:182
Definition: MessageHandling.hpp:139
Definition: MessageHandling.hpp:92
VisibilityStatus errorVisibility
Definition: MessageHandling.hpp:428
Definition: MessageHandling.hpp:160
Definition: MessageHandling.hpp:112
Definition: MessageHandling.hpp:190
Definition: MessageHandling.hpp:84
Definition: MessageHandling.hpp:138
VisibilityStatus getInfoVisibilityStatus() const
Definition: MessageHandling.ipp:64
Definition: MessageHandling.hpp:114
Definition: MessageHandling.hpp:222
Definition: MessageHandling.hpp:171
MessageHandling()
Definition: MessageHandling.cpp:241
Definition: MessageHandling.hpp:144
Definition: MessageHandling.hpp:93
Definition: MessageHandling.hpp:198
Definition: MessageHandling.hpp:186
Definition: MessageHandling.hpp:106
Definition: MessageHandling.hpp:76
void setErrorVisibilityStatus(VisibilityStatus _errorVisibility)
Definition: MessageHandling.ipp:91
VisibilityStatus getErrorVisibilityStatus() const
Definition: MessageHandling.ipp:46
Definition: MessageHandling.hpp:212
Definition: MessageHandling.hpp:97
Definition: MessageHandling.hpp:125
Definition: MessageHandling.hpp:121
Definition: MessageHandling.hpp:203
Definition: MessageHandling.hpp:74
Definition: MessageHandling.hpp:86
Definition: MessageHandling.hpp:210
Definition: MessageHandling.hpp:158
Definition: MessageHandling.hpp:178
Definition: MessageHandling.hpp:116
returnValue throwMessage(returnValue RETnumber, const char *additionaltext, const char *functionname, const char *filename, const unsigned long linenumber, VisibilityStatus localVisibilityStatus, const char *RETstring)
Definition: MessageHandling.cpp:461
Definition: MessageHandling.hpp:173
returnValue key
Definition: MessageHandling.hpp:258
Definition: MessageHandling.hpp:103
Definition: MessageHandling.hpp:202
Definition: MessageHandling.hpp:143
Definition: MessageHandling.hpp:150
VisibilityStatus getWarningVisibilityStatus() const
Definition: MessageHandling.ipp:55
Definition: MessageHandling.hpp:154
Definition: MessageHandling.hpp:180
void setWarningVisibilityStatus(VisibilityStatus _warningVisibility)
Definition: MessageHandling.ipp:100
Definition: MessageHandling.hpp:70
Definition: MessageHandling.hpp:130
Definition: MessageHandling.hpp:83
VisibilityStatus
Definition: Types.hpp:224
Definition: MessageHandling.hpp:223
Definition: MessageHandling.hpp:96
Definition: MessageHandling.hpp:176
Definition: MessageHandling.hpp:213
FILE * outputFile
Definition: MessageHandling.hpp:432
Definition: MessageHandling.hpp:85
Definition: MessageHandling.hpp:166
Definition: MessageHandling.hpp:69
Definition: MessageHandling.hpp:193
Definition: MessageHandling.hpp:146
Definition: MessageHandling.hpp:156
Definition: MessageHandling.hpp:118
Definition: MessageHandling.hpp:162
Definition: MessageHandling.hpp:187
Definition: MessageHandling.hpp:200
int_t getErrorCount() const
Definition: MessageHandling.ipp:82
Definition: MessageHandling.hpp:164