Phoenix
Object-oriented orthogonally persistent operating system
Classes | Defines
RetCode.h File Reference

Definition of the class used as return value to indicate successful or failed call. More...

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  RetCode
 Class used as return value to indicate successful or failed call. More...

Defines

#define RC(__code)
 Macro for constructing return code object.
#define OK(__rc)
 Check if the return code is successful.
#define NOK(__rc)
 Check if the return code indicates failure.

Detailed Description

Definition of the class used as return value to indicate successful or failed call.


Define Documentation

#define NOK (   __rc)
Value:
({ \
    RetCode __Xrc = __rc; \
    if ((__Xrc).IsFailed()) { \
        TRACE("Failed return code received in '%s' at %s:%d: %s", \
              __func__, __FILE__, __LINE__, (__Xrc).GetName()); \
    } \
    (__Xrc).IsFailed(); \
})

Check if the return code indicates failure.

#define OK (   __rc)
Value:
({ \
    RetCode __Xrc = __rc; \
    if ((__Xrc).IsFailed()) { \
        TRACE("Failed return code received in '%s' at %s:%d: %s", \
              __func__, __FILE__, __LINE__, (__Xrc).GetName()); \
    } \
    (__Xrc).IsOk(); \
})

Check if the return code is successful.

#define RC (   __code)
Value:
({ \
    if (RetCode::__code != RetCode::SUCCESS) { \
        TRACE("Function '%s' at %s:%d failed: %s", \
              __func__, __FILE__, __LINE__, __STR(__code)); \
    } \
    RetCode::__code; \
})

Macro for constructing return code object.

This should be used instead of of direct calls to RetCode class constructor in order to have additional troubleshooting functionality in debug builds.

Parameters:
__codeReturn code - unqualified name of RetCode::Code enum member.
Returns:
RetCode class object.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines