blob: 8e6a535c8caaaae7261e28056e64e58c55cc8e83 [file] [log] [blame]
/*
* Copyright (c) 2017, Intel Corporation
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
* to deal in the Software without restriction, including without limitation
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
* and/or sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included
* in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
* OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
* OTHER DEALINGS IN THE SOFTWARE.
*/
#ifndef CMRTLIB_AGNOSTIC_SHARE_CMDEBUG_H_
#define CMRTLIB_AGNOSTIC_SHARE_CMDEBUG_H_
#include <cstdio>
#include "cm_def_os.h"
inline void CmPrintMessage( const char *str, ... )
{
#ifdef _DEBUG
//iSTD::PrintMessage( str );
#endif
}
inline void CmAssertMessage(const char *message) {
printf("%s\n", message);
CmAssert(0);
return;
}
#ifdef _DEBUG
#define CmDebugMessage(arg) CmPrintMessage arg
#else
#define CmDebugMessage(arg)
#endif // _DEBUG
#define CmReleaseMessage(arg) CmPrintMessage arg
//*-----------------------------------------------------------------------------
//| Macro checks the COM Results
//*-----------------------------------------------------------------------------
#ifndef CHK_RET
#define CHK_RET(stmt) \
{ \
result = (stmt); \
if (result != CM_SUCCESS) \
{ \
CmPrintMessage("%s: hr check failed\n", __FUNCTION__); \
CmAssert(0); \
goto finish; \
} \
}
#endif // CHK_HR
#ifndef CHK_NULL
#define CHK_NULL(p) \
{ \
if ( (p) == nullptr) \
{ \
CmPrintMessage("%s: nullptr check failed\n", __FUNCTION__); \
CmAssert(0); \
result = CM_NULL_POINTER; \
goto finish; \
} \
}
#endif
#ifndef CHK_NULL_RETURN
#define CHK_NULL_RETURN(p) \
{ \
if ( (p) == nullptr) \
{ \
CmPrintMessage("%s: nullptr check failed\n", __FUNCTION__); \
CmAssert(0); \
return CM_NULL_POINTER; \
} \
}
#endif
#ifndef CHK_FAILURE_RETURN
#define CHK_FAILURE_RETURN(ret) \
{ \
if ( (ret) != CM_SUCCESS) \
{ \
CmPrintMessage("%s:%d: return check failed\n", __FUNCTION__, __LINE__); \
return ret; \
} \
}
#endif
#endif // #ifndef CMRTLIB_AGNOSTIC_SHARE_CMDEBUG_H_