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