Go to the documentation of this file.00001 #ifndef _windows_check_h
00002 #define _windows_check_h
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 
00023 
00024 
00025 #include "qpid/Exception.h"
00026 #include "qpid/Msg.h"
00027 #include "qpid/sys/StrError.h"
00028 
00029 #define QPID_WINDOWS_ERROR(ERRVAL) qpid::Exception(QPID_MSG(qpid::sys::strError(ERRVAL)))
00030 #define QPID_WINDOWS_CRT_ERROR(ERRNO) qpid::Exception(QPID_MSG(qpid::sys::strError(ERRNO)))
00031 
00033 #define QPID_WINDOWS_CHECK_NULL(RESULT)                        \
00034     if ((RESULT) == NULL) throw QPID_WINDOWS_ERROR((::GetLastError()))
00035 
00036 #define QPID_WINDOWS_CHECK_NOT(RESULT,VAL)                                 \
00037   if ((RESULT) == (VAL)) throw QPID_WINDOWS_ERROR((::GetLastError()))
00038 
00039 #define QPID_WINDOWS_CHECK_ASYNC_START(STATUS)                 \
00040     if (!(STATUS) && ::WSAGetLastError() != ERROR_IO_PENDING)  \
00041         throw QPID_WINDOWS_ERROR((::WSAGetLastError()))
00042 
00043 #define QPID_WINDOWS_CHECK_CRT_NZ(VAL)   \
00044     if ((VAL) == 0) throw QPID_WINDOWS_CRT_ERROR(errno)
00045 
00046 #define QPID_WINSOCK_CHECK(OP)                        \
00047     if ((OP) == SOCKET_ERROR) throw QPID_WINDOWS_ERROR((::WSAGetLastError()))
00048 
00049 #endif