00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef __XN_OPEN_NI_STATUS_H__
00023 #define __XN_OPEN_NI_STATUS_H__
00024
00025 #include "XnPlatform.h"
00026
00027
00028
00029
00030
00034 typedef XnUInt32 XnStatus;
00035
00037 #define XN_STATUS_OK ((XnStatus)0)
00038
00039
00040
00041
00042
00050 XN_C_API const XnChar* XN_C_DECL xnGetStatusString(const XnStatus Status);
00051
00059 XN_C_API const XnChar* XN_C_DECL xnGetStatusName(const XnStatus Status);
00060
00068 XN_C_API void XN_C_DECL xnPrintError(const XnStatus Status, const XnChar* csUserMessage);
00069
00070
00071
00072
00074 typedef enum XnErrorGroup
00075 {
00076 XN_ERROR_GROUP_NI = 1,
00077 XN_ERROR_GROUP_OS = 2,
00078 XN_ERROR_GROUP_PRIMESENSE = 3,
00079 } XnErrorGroup;
00080
00082 #define XN_STATUS_MAKE(group, code) ((group << 16) | code)
00083
00085 #define XN_STATUS_GROUP(status) (status >> 16)
00086
00088 #define XN_STATUS_CODE(status) (status & 0x0000FFFF)
00089
00091 #define XN_STATUS_MESSAGE_MAP_START_FROM(group, first) \
00092 enum _##group##first##Errors \
00093 { \
00094 group##first##_OK = XN_STATUS_MAKE(group, first),
00095
00096 #define XN_STATUS_MESSAGE_MAP_START(group) \
00097 XN_STATUS_MESSAGE_MAP_START_FROM(group, 0)
00098
00100 #define XN_STATUS_MESSAGE(csName, csMessage) \
00101 csName,
00102
00104 #define XN_STATUS_MESSAGE_MAP_END_FROM(group, first) \
00105 };
00106
00107 #define XN_STATUS_MESSAGE_MAP_END(group) \
00108 XN_STATUS_MESSAGE_MAP_END_FROM(group, 0)
00109
00110 #endif // __XN_OPEN_NITE_STATUS_H__