123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- //{
- //(
- // This class is used to format error messages and track the last error generated.
- //
- // Most of the cmHandle_t based classes use cmErr_t to format error messages with a
- // title, maintain the last result code which indicated an error, and to hold
- // a cmRpt_t object to manage application supplied text printing callbacks.
- //
- //)
- //
-
- #ifndef cmErr_h
- #define cmErr_h
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
- //(
-
- typedef struct
- {
- cmRpt_t* rpt; //< Pointer to a cmRpt_t object which is used to direct error messages to an application supplied console.
- const cmChar_t* label; //< This field contains a pointer to a text label used to form the error message title.
- cmRC_t rc; //< This is the last result code passed via one of the cmErrXXXMsg() functions.
- cmRC_t warnRC; //< Last warning RC
- } cmErr_t;
-
- // Setup a cmErr_t record.
- //
- // Note that rpt and staticLabelStr must point to client supplied objects
- // whose lifetime is at least that of this cmErr_t object.
- void cmErrSetup( cmErr_t* err, cmRpt_t* rpt, const cmChar_t* staticLabelStr );
-
- // Duplicate a cmErr_t record.
- void cmErrClone( cmErr_t* dstErr, const cmErr_t* srcErr );
-
- // Error Reporting functions:
- // Functions to signal an error. The rc argument is generally specific to the
- // client class using the error. See the kXXXRC enumerations in the handle based
- // classes for examples of result codes.
- cmRC_t cmErrMsg( cmErr_t* err, cmRC_t rc, const cmChar_t* fmt, ... );
- cmRC_t cmErrVMsg(cmErr_t* err, cmRC_t rc, const cmChar_t* fmt, va_list vl );
-
-
- // Report Errors which contain accompanying system error codes.
- // Use these functions when a system error (e.g. Unix errno) gives additional information
- // about the source of the error.
- cmRC_t cmErrSysMsg( cmErr_t* err, cmRC_t rc, cmSysErrCode_t sysErrCode, const cmChar_t* fmt, ... );
- cmRC_t cmErrVSysMsg(cmErr_t* err, cmRC_t rc, cmSysErrCode_t sysErrCode, const cmChar_t* fmt, va_list vl );
-
- // Warning Reporting functions:
- // Errors generally result in a task aborting. Warnings are informative but the task is
- // expected to continue.
- // Functions to signal a warning. The rc argument is generally specific to the
- // client class using the error. See the kXXXRC enumerations in the handle based
- // classes for examples of result codes.
- cmRC_t cmErrWarnMsg( cmErr_t* err, cmRC_t rc, const cmChar_t* fmt, ... );
- cmRC_t cmErrWarnVMsg(cmErr_t* err, cmRC_t rc, const cmChar_t* fmt, va_list vl );
-
-
- // Report warnings which contain accompanying system error codes.
- // Use these functions when a system error (e.g. Unix errno) gives additional information
- // about the source of the error.
- cmRC_t cmErrWarnSysMsg( cmErr_t* err, cmRC_t rc, cmSysErrCode_t sysErrCode, const cmChar_t* fmt, ... );
- cmRC_t cmErrWarnVSysMsg(cmErr_t* err, cmRC_t rc, cmSysErrCode_t sysErrCode, const cmChar_t* fmt, va_list vl );
-
- // Return the last recorded RC.
- cmRC_t cmErrLastRC( cmErr_t* err );
-
- // Return the last recorded RC and set it to a new value.
- cmRC_t cmErrSetRC( cmErr_t* err, cmRC_t rc );
-
- // Return the last recorded RC and set it to cmOkRC.
- cmRC_t cmErrClearRC( cmErr_t* err );
-
- //)
- //}
-
- #ifdef __cplusplus
- }
- #endif
-
- #endif
|