/* * 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 #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_