OpenNI 1.5.4
XnLog.h
Go to the documentation of this file.
1 /****************************************************************************
2 * *
3 * OpenNI 1.x Alpha *
4 * Copyright (C) 2011 PrimeSense Ltd. *
5 * *
6 * This file is part of OpenNI. *
7 * *
8 * OpenNI is free software: you can redistribute it and/or modify *
9 * it under the terms of the GNU Lesser General Public License as published *
10 * by the Free Software Foundation, either version 3 of the License, or *
11 * (at your option) any later version. *
12 * *
13 * OpenNI is distributed in the hope that it will be useful, *
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
16 * GNU Lesser General Public License for more details. *
17 * *
18 * You should have received a copy of the GNU Lesser General Public License *
19 * along with OpenNI. If not, see <http://www.gnu.org/licenses/>. *
20 * *
21 ****************************************************************************/
22 #ifndef _XN_LOG_H_
23 #define _XN_LOG_H_
24 
25 //---------------------------------------------------------------------------
26 // Includes
27 //---------------------------------------------------------------------------
28 #include "XnOS.h"
29 #include "XnLogTypes.h"
30 #include "XnDump.h"
31 
32 //---------------------------------------------------------------------------
33 // Exported Function Declaration
34 //---------------------------------------------------------------------------
35 
46 
53 XN_C_API XnStatus XN_C_DECL xnLogInitFromINIFile(const XnChar* csINIFile, const XnChar* csSectionName);
54 
60 XN_C_API XnStatus XN_C_DECL xnLogInitFromXmlFile(const XnChar* strFileName);
61 
66 
67 // @}
68 
81 XN_C_API XnStatus XN_C_DECL xnLogSetMaskMinSeverity(const XnChar* strMask, XnLogSeverity minSeverity);
82 
90 XN_C_API XnLogSeverity XN_C_DECL xnLogGetMaskMinSeverity(const XnChar* strMask);
91 
92 // @}
93 
107 
114 
120 XN_C_API XnStatus XN_C_DECL xnLogSetConsoleOutput(XnBool bConsoleOutput);
121 
127 XN_C_API XnStatus XN_C_DECL xnLogSetFileOutput(XnBool bFileOutput);
128 
129 // @}
130 
141 
147 XN_C_API XnStatus XN_C_DECL xnLogSetLineInfo(XnBool bLineInfo);
148 
154 XN_C_API XnStatus XN_C_DECL xnLogSetOutputFolder(const XnChar* strOutputFolder);
155 
162 XN_C_API XnStatus XN_C_DECL xnLogGetFileName(XnChar* strFileName, XnUInt32 nBufferSize);
163 
164 // @}
165 
177 XN_C_API XnLogger* XN_C_DECL xnLoggerOpen(const XnChar* strMask);
178 
191 XN_C_API void XN_C_DECL xnLoggerWrite(XnLogger* pLogger, XnLogSeverity severity, const XnChar* strFile, XnUInt32 nLine, const XnChar* strFormat, ...);
192 
200 XN_C_API void XN_C_DECL xnLoggerWriteNoEntry(XnLogger* pLogger, XnLogSeverity severity, const XnChar* strFormat, ...);
201 
213 XN_C_API void XN_C_DECL xnLoggerWriteBinaryData(XnLogger* pLogger, XnLogSeverity severity, const XnChar* strFile, XnUInt32 nLine, XnUChar* pBinData, XnUInt32 nDataSize, const XnChar* strFormat, ...);
214 
221 XN_C_API XnBool XN_C_DECL xnLoggerIsEnabled(XnLogger* pLogger, XnLogSeverity severity);
222 
228 XN_C_API void XN_C_DECL _xnLoggerClose(XnLogger* pLogger);
229 
235 #define xnLoggerClose(pLogger) \
236  { \
237  _xnLoggerClose(pLogger); \
238  pLogger = NULL; \
239  }
240 
241 #if XN_PLATFORM_VAARGS_TYPE == XN_PLATFORM_USE_WIN32_VAARGS_STYLE
245  #define xnLoggerWriteHelper(pLogger, severity, csFormat, ...) \
246  if (pLogger != NULL && severity >= pLogger->nMinSeverity) \
247  { \
248  xnLoggerWrite(pLogger, severity, __FILE__, __LINE__, csFormat, __VA_ARGS__); \
249  }
250 
254  #define xnLoggerVerbose(pLogger, csFormat, ...) xnLoggerWriteHelper(pLogger, XN_LOG_VERBOSE, csFormat, __VA_ARGS__)
258  #define xnLoggerInfo(pLogger, csFormat, ...) xnLoggerWriteHelper(pLogger, XN_LOG_INFO, csFormat, __VA_ARGS__)
262  #define xnLoggerWarning(pLogger, csFormat, ...) xnLoggerWriteHelper(pLogger, XN_LOG_WARNING, csFormat, __VA_ARGS__)
266  #define xnLoggerError(pLogger, csFormat, ...) xnLoggerWriteHelper(pLogger, XN_LOG_ERROR, csFormat, __VA_ARGS__)
267 
276  #define XN_RETURN_WITH_LOG(pLogger, nRetVal, severity, csFormat, ...) \
277  { \
278  xnLoggerWriteHelper(pLogger, severity, csFormat, __VA_ARGS__); \
279  return (nRetVal); \
280  }
281 
289  #define XN_RETURN_WITH_WARNING_LOG(pLogger, nRetVal, csFormat, ...) \
290  XN_RETURN_WITH_LOG(pLogger, nRetVal, XN_LOG_WARNING, csFormat, __VA_ARGS__)
291 
299  #define XN_RETURN_WITH_ERROR_LOG(pLogger, nRetVal, csFormat, ...) \
300  XN_RETURN_WITH_LOG(pLogger, nRetVal, XN_LOG_ERROR, csFormat, __VA_ARGS__)
301 
302 #elif XN_PLATFORM_VAARGS_TYPE == XN_PLATFORM_USE_GCC_VAARGS_STYLE
303  #define xnLoggerWriteHelper(pLogger, severity, csFormat, ...) \
304  if (pLogger != NULL && severity >= pLogger->nMinSeverity) \
305  { \
306  xnLoggerWrite(pLogger, severity, __FILE__, __LINE__, csFormat, ##__VA_ARGS__); \
307  }
308 
309  #define xnLoggerVerbose(pLogger, csFormat, ...) xnLoggerWriteHelper(pLogger, XN_LOG_VERBOSE, csFormat,## __VA_ARGS__)
310  #define xnLoggerInfo(pLogger, csFormat, ...) xnLoggerWriteHelper(pLogger, XN_LOG_INFO, csFormat, ##__VA_ARGS__)
311  #define xnLoggerWarning(pLogger, csFormat, ...) xnLoggerWriteHelper(pLogger, XN_LOG_WARNING, csFormat, ##__VA_ARGS__)
312  #define xnLoggerError(pLogger, csFormat, ...) xnLoggerWriteHelper(pLogger, XN_LOG_ERROR, csFormat, ##__VA_ARGS__)
313 
314  /* Writes to the log and returns nRetVal */
315  #define XN_RETURN_WITH_LOG(pLogger, nRetVal, severity, csFormat, ...) \
316  { \
317  xnLoggerWriteHelper(pLogger, severity, csFormat, ##__VA_ARGS__); \
318  return (nRetVal); \
319  }
320 
321  /* Logs a warning and returns nRetVal */
322  #define XN_RETURN_WITH_WARNING_LOG(pLogger, nRetVal, csFormat, ...) \
323  XN_RETURN_WITH_LOG(pLogger, nRetVal, XN_LOG_WARNING, csFormat, ##__VA_ARGS__)
324 
325  /* Logs an error and returns nRetVal */
326  #define XN_RETURN_WITH_ERROR_LOG(pLogger, nRetVal, csFormat, ...) \
327  XN_RETURN_WITH_LOG(pLogger, nRetVal, XN_LOG_ERROR, csFormat, ##__VA_ARGS__)
328 
329 #elif XN_PLATFORM_VAARGS_TYPE == XN_PLATFORM_USE_ARC_VAARGS_STYLE
330  #define xnLoggerWriteHelper(pLogger, severity, csFormat...) \
331  if (pLogger != NULL && severity >= pLogger->nMinSeverity) \
332  { \
333  xnLoggerWrite(pLogger, severity, __FILE__, __LINE__, csFormat); \
334  }
335 
336  #define xnLoggerVerbose(pLogger, csFormat...) xnLoggerWriteHelper(pLogger, XN_LOG_VERBOSE, csFormat)
337  #define xnLoggerInfo(pLogger, csFormat...) xnLoggerWriteHelper(pLogger, XN_LOG_INFO, csFormat)
338  #define xnLoggerWarning(pLogger, csFormat...) xnLoggerWriteHelper(pLogger, XN_LOG_WARNING, csFormat)
339  #define xnLoggerError(pLogger, csFormat...) xnLoggerWriteHelper(pLogger, XN_LOG_ERROR, csFormat)
340 
341  /* Writes to the log and returns nRetVal */
342  #define XN_RETURN_WITH_LOG(pLogger, nRetVal, severity, csFormat...) \
343  { \
344  xnLoggerWriteHelper(pLogger, severity, csFormat); \
345  return (nRetVal); \
346  }
347 
348  /* Logs a warning and returns nRetVal */
349  #define XN_RETURN_WITH_WARNING_LOG(pLogger, nRetVal, csFormat...) \
350  XN_RETURN_WITH_LOG(pLogger, nRetVal, XN_LOG_WARNING, csFormat)
351 
352  /* Logs an error and returns nRetVal */
353  #define XN_RETURN_WITH_ERROR_LOG(pLogger, nRetVal, csFormat...) \
354  XN_RETURN_WITH_LOG(pLogger, nRetVal, XN_LOG_ERROR, csFormat)
355 
356 #elif XN_PLATFORM_VAARGS_TYPE == XN_PLATFORM_USE_NO_VAARGS
357  #define xnLoggerWriteHelper(pLogger, severity, csFormat, arg) \
358  if (pLogger != NULL && severity >= pLogger->nMinSeverity) \
359  { \
360  xnLoggerWrite(pLogger, severity, __FILE__, __LINE__, csFormat, arg); \
361  }
362 
363  #define xnLoggerVerbose(pLogger, csFormat, arg) xnLoggerWriteHelper(pLogger, XN_LOG_VERBOSE, csFormat, arg)
364  #define xnLoggerInfo(pLogger, csFormat, arg) xnLoggerWriteHelper(pLogger, XN_LOG_INFO, csFormat, arg)
365  #define xnLoggerWarning(pLogger, csFormat, arg) xnLoggerWriteHelper(pLogger, XN_LOG_WARNING, csFormat, arg)
366  #define xnLoggerError(pLogger, csFormat, arg) xnLoggerWriteHelper(pLogger, XN_LOG_ERROR, csFormat, arg)
367 
368  /* Writes to the log and returns nRetVal */
369  #define XN_RETURN_WITH_LOG(pLogger, nRetVal, severity, csFormat) \
370  { \
371  xnLoggerWriteHelper(pLogger, severity, csFormat); \
372  return (nRetVal); \
373  }
374 
375  /* Logs a warning and returns nRetVal */
376  #define XN_RETURN_WITH_WARNING_LOG(pLogger, nRetVal, csFormat) \
377  XN_RETURN_WITH_LOG(pLogger, nRetVal, XN_LOG_WARNING, csFormat)
378 
379  /* Logs an error and returns nRetVal */
380  #define XN_RETURN_WITH_ERROR_LOG(pLogger, nRetVal, csFormat) \
381  XN_RETURN_WITH_LOG(pLogger, nRetVal, XN_LOG_ERROR, csFormat)
382 
383 #else
384  #error Xiron Log - Unknown VAARGS type!
385 #endif
386 
387 // @}
388 
406 XN_C_API XnStatus XN_C_DECL xnLogCreateNewFile(const XnChar* strName, XnBool bSessionBased, XnChar* csFullPath, XnUInt32 nPathBufferSize, XN_FILE_HANDLE* phFile);
407 
408 // @}
409 
410 #define XN_MASK_RETVAL_CHECKS "RetValChecks"
411 
412 #if XN_PLATFORM == XN_PLATFORM_ARC
414 #else
416 #endif
417 
419 #define XN_IS_STATUS_OK_LOG_ERROR(what, nRetVal) \
420  if (nRetVal != XN_STATUS_OK) \
421  { \
422  xnLoggerError(XN_LOGGER_RETVAL_CHECKS, "Failed to " what ": %s", xnGetStatusString(nRetVal)); \
423  XN_ASSERT(FALSE); \
424  return (nRetVal); \
425  }
426 
427 
428 #ifndef __XN_NO_BC__
429 
430 XN_C_API XnStatus XN_API_DEPRECATED("Please use xnLogSetMaskMinSeverity() instead") XN_C_DECL xnLogSetMaskState(const XnChar* csMask, XnBool bEnabled);
431 XN_C_API XnStatus XN_API_DEPRECATED("Please use xnLogSetMaskMinSeverity() instead") XN_C_DECL xnLogSetSeverityFilter(XnLogSeverity nMinSeverity);
432 XN_C_API XnBool XN_C_DECL xnLogIsEnabled(const XnChar* csLogMask, XnLogSeverity nSeverity);
433 XN_C_API void XN_C_DECL xnLogWrite(const XnChar* csLogMask, XnLogSeverity nSeverity, const XnChar* csFile, XnUInt32 nLine, const XnChar* csFormat, ...);
434 XN_C_API void XN_C_DECL xnLogWriteNoEntry(const XnChar* csLogMask, XnLogSeverity nSeverity, const XnChar* csFormat, ...);
435 XN_C_API void XN_C_DECL xnLogWriteBinaryData(const XnChar* csLogMask, XnLogSeverity nSeverity, const XnChar* csFile, XnUInt32 nLine, XnUChar* pBinData, XnUInt32 nDataSize, const XnChar* csFormat, ...);
436 XN_C_API XnStatus XN_API_DEPRECATED("Use xnLogCreateNewFile() instead") XN_C_DECL xnLogCreateFile(const XnChar* strFileName, XN_FILE_HANDLE* phFile);
437 XN_C_API XnStatus XN_API_DEPRECATED("Use xnLogCreateNewFile() instead") XN_C_DECL xnLogCreateFileEx(const XnChar* strFileName, XnBool bSessionBased, XN_FILE_HANDLE* phFile);
438 
439 #if XN_PLATFORM_VAARGS_TYPE == XN_PLATFORM_USE_WIN32_VAARGS_STYLE
440  #define xnLogVerbose(csLogMask, csFormat, ...) xnLogWrite(csLogMask, XN_LOG_VERBOSE, __FILE__, __LINE__, csFormat, __VA_ARGS__)
441  #define xnLogInfo(csLogMask, csFormat, ...) xnLogWrite(csLogMask, XN_LOG_INFO, __FILE__, __LINE__, csFormat, __VA_ARGS__)
442  #define xnLogWarning(csLogMask, csFormat, ...) xnLogWrite(csLogMask, XN_LOG_WARNING, __FILE__, __LINE__, csFormat, __VA_ARGS__)
443  #define xnLogError(csLogMask, csFormat, ...) xnLogWrite(csLogMask, XN_LOG_ERROR, __FILE__, __LINE__, csFormat, __VA_ARGS__)
444 
445  /* Writes to the log and returns nRetVal */
446  #define XN_LOG_RETURN(nRetVal, nSeverity, csLogMask, csFormat, ...) \
447  { \
448  xnLogWrite(csLogMask, nSeverity, __FILE__, __LINE__, csFormat, __VA_ARGS__); \
449  return (nRetVal); \
450  }
451 
452  /* Logs a warning and returns nRetVal */
453  #define XN_LOG_WARNING_RETURN(nRetVal, csLogMask, csFormat, ...) \
454  XN_LOG_RETURN(nRetVal, XN_LOG_WARNING, csLogMask, csFormat, __VA_ARGS__)
455 
456  /* Logs a warning and returns nRetVal */
457  #define XN_LOG_ERROR_RETURN(nRetVal, csLogMask, csFormat, ...) \
458  XN_LOG_RETURN(nRetVal, XN_LOG_ERROR, csLogMask, csFormat, __VA_ARGS__)
459 
460 #elif XN_PLATFORM_VAARGS_TYPE == XN_PLATFORM_USE_GCC_VAARGS_STYLE
461  #define xnLogVerbose(csLogMask, csFormat, ...) xnLogWrite(csLogMask, XN_LOG_VERBOSE, __FILE__, __LINE__, csFormat, ##__VA_ARGS__)
462  #define xnLogInfo(csLogMask, csFormat, ...) xnLogWrite(csLogMask, XN_LOG_INFO, __FILE__, __LINE__, csFormat, ##__VA_ARGS__)
463  #define xnLogWarning(csLogMask, csFormat, ...) xnLogWrite(csLogMask, XN_LOG_WARNING, __FILE__, __LINE__, csFormat, ##__VA_ARGS__)
464  #define xnLogError(csLogMask, csFormat, ...) xnLogWrite(csLogMask, XN_LOG_ERROR, __FILE__, __LINE__, csFormat, ##__VA_ARGS__)
465 
466  /* Writes to the log and returns nRetVal */
467  #define XN_LOG_RETURN(nRetVal, nSeverity, csLogMask, csFormat, ...) \
468  { \
469  xnLogWrite(csLogMask, nSeverity, __FILE__, __LINE__, csFormat, ##__VA_ARGS__); \
470  return (nRetVal); \
471  }
472 
473  /* Logs a warning and returns nRetVal */
474  #define XN_LOG_WARNING_RETURN(nRetVal, csLogMask, csFormat, ...) \
475  XN_LOG_RETURN(nRetVal, XN_LOG_WARNING, csLogMask, csFormat, ##__VA_ARGS__)
476 
477  /* Logs a warning and returns nRetVal */
478  #define XN_LOG_ERROR_RETURN(nRetVal, csLogMask, csFormat, ...) \
479  XN_LOG_RETURN(nRetVal, XN_LOG_ERROR, csLogMask, csFormat, ##__VA_ARGS__)
480 
481 #elif XN_PLATFORM_VAARGS_TYPE == XN_PLATFORM_USE_ARC_VAARGS_STYLE
482  #define xnLogVerbose(csLogMask, csFormat...) xnLogWrite(csLogMask, XN_LOG_VERBOSE, __FILE__, __LINE__, csFormat)
483  #define xnLogInfo(csLogMask, csFormat...) xnLogWrite(csLogMask, XN_LOG_INFO, __FILE__, __LINE__, csFormat)
484  #define xnLogWarning(csLogMask, csFormat...) xnLogWrite(csLogMask, XN_LOG_WARNING, __FILE__, __LINE__, csFormat)
485  #define xnLogError(csLogMask, csFormat...) xnLogWrite(csLogMask, XN_LOG_ERROR, __FILE__, __LINE__, csFormat)
486 
487  /* Writes to the log and returns nRetVal */
488  #define XN_LOG_RETURN(nRetVal, nSeverity, csLogMask, csFormat...) \
489  { \
490  xnLogWrite(csLogMask, nSeverity, __FILE__, __LINE__, csFormat); \
491  return (nRetVal); \
492  }
493 
494  /* Logs a warning and returns nRetVal */
495  #define XN_LOG_WARNING_RETURN(nRetVal, csLogMask, csFormat...) \
496  XN_LOG_RETURN(nRetVal, XN_LOG_WARNING, csLogMask, csFormat)
497 
498  /* Logs a warning and returns nRetVal */
499  #define XN_LOG_ERROR_RETURN(nRetVal, csLogMask, csFormat...) \
500  XN_LOG_RETURN(nRetVal, XN_LOG_ERROR, csLogMask, csFormat)
501 
502  /* If nRetVal is not ok, writes to the log and returns nRetVal */
503  #define XN_IS_STATUS_OK_LOG(nRetVal, nSeverity, csLogMask, csFormat...) \
504  if (nRetVal != XN_STATUS_OK) \
505  { \
506  XN_LOG_RETURN(nRetVal, nSeverity, csLogMask, csFormat) \
507  }
508 
509  /* If nRetVal is not ok, logs a warning and returns nRetVal */
510  #define XN_IS_STATUS_OK_WARNING(nRetVal, csLogMask, csFormat...) \
511  XN_IS_STATUS_OK_LOG(nRetVal, XN_LOG_WARNING, csLogMask, csFormat)
512 
513  /* If nRetVal is not ok, logs an error and returns nRetVal */
514  #define XN_IS_STATUS_OK_ERROR(nRetVal, csLogMask, csFormat...) \
515  XN_IS_STATUS_OK_LOG(nRetVal, XN_LOG_ERROR, csLogMask, csFormat)
516 
517 #elif XN_PLATFORM_VAARGS_TYPE == XN_PLATFORM_USE_NO_VAARGS
518  #define xnLogVerbose(csLogMask, csFormat, args) xnLogWrite(csLogMask, XN_LOG_VERBOSE, __FILE__, __LINE__, csFormat, args)
519  #define xnLogInfo(csLogMask, csFormat, args) xnLogWrite(csLogMask, XN_LOG_INFO, __FILE__, __LINE__, csFormat, args)
520  #define xnLogWarning(csLogMask, csFormat, args) xnLogWrite(csLogMask, XN_LOG_WARNING, __FILE__, __LINE__, csFormat, args)
521  #define xnLogError(csLogMask, csFormat, args) xnLogWrite(csLogMask, XN_LOG_ERROR, __FILE__, __LINE__, csFormat, args)
522 
523  /* Writes to the log and returns nRetVal */
524  #define XN_LOG_RETURN(nRetVal, nSeverity csLogMask, csFormat, args) \
525  { \
526  xnLogWrite(csLogMask, nSeverity, __FILE__, __LINE__, csFormat, args); \
527  return (nRetVal); \
528  }
529 
530  /* Logs a warning and returns nRetVal */
531  #define XN_LOG_WARNING_RETURN(nRetVal, csLogMask, csFormat, args) \
532  XN_LOG_RETURN(nRetVal, XN_LOG_WARNING, csLogMask, csFormat, args)
533 
534  /* Logs an error and returns nRetVal */
535  #define XN_LOG_ERROR_RETURN(nRetVal, csLogMask, csFormat, args) \
536  XN_LOG_RETURN(nRetVal, XN_LOG_ERROR, csLogMask, csFormat, args)
537 
538 #else
539  #error Xiron Log - Unknown VAARGS type!
540 #endif
541 
542 #endif // ifndef __XN_NO_BC__
543 
544 #endif //_XN_LOG_H_
545 
XN_C_API void XN_C_DECL xnLogUnregisterLogWriter(XnLogWriter *pWriter)
XN_C_API XnStatus XN_C_DECL xnLogSetConsoleOutput(XnBool bConsoleOutput)
XN_C_API XnStatus XN_C_DECL xnLogInitSystem()
XN_C_API XnStatus XN_C_DECL xnLogSetLineInfo(XnBool bLineInfo)
XN_C_API void XN_C_DECL xnLoggerWrite(XnLogger *pLogger, XnLogSeverity severity, const XnChar *strFile, XnUInt32 nLine, const XnChar *strFormat,...)
XN_C_API void XN_C_DECL xnLoggerWriteBinaryData(XnLogger *pLogger, XnLogSeverity severity, const XnChar *strFile, XnUInt32 nLine, XnUChar *pBinData, XnUInt32 nDataSize, const XnChar *strFormat,...)
XN_C_API XnStatus XN_C_DECL xnLogStartNewFile()
XN_C_API XnStatus XN_C_DECL xnLogGetFileName(XnChar *strFileName, XnUInt32 nBufferSize)
XN_C_API XnStatus XN_C_DECL xnLogCreateNewFile(const XnChar *strName, XnBool bSessionBased, XnChar *csFullPath, XnUInt32 nPathBufferSize, XN_FILE_HANDLE *phFile)
XN_C_API XnStatus XN_C_DECL xnLogClose()
XN_C_API XnStatus XN_C_DECL xnLogSetFileOutput(XnBool bFileOutput)
XN_C_API XnStatus XN_C_DECL xnLogInitFromXmlFile(const XnChar *strFileName)
XN_C_API XnBool XN_C_DECL xnLoggerIsEnabled(XnLogger *pLogger, XnLogSeverity severity)
XN_C_API XnLogger * XN_LOGGER_RETVAL_CHECKS
Definition: XnLog.h:415
XN_C_API XnStatus XN_C_DECL xnLogRegisterLogWriter(XnLogWriter *pWriter)
XN_C_API XnLogger *XN_C_DECL xnLoggerOpen(const XnChar *strMask)
XN_C_API XnStatus XN_C_DECL xnLogInitFromINIFile(const XnChar *csINIFile, const XnChar *csSectionName)
XN_C_API XnStatus XN_C_DECL xnLogSetOutputFolder(const XnChar *strOutputFolder)
XN_C_API XnStatus XN_C_DECL xnLogSetMaskMinSeverity(const XnChar *strMask, XnLogSeverity minSeverity)
XN_C_API XnLogSeverity XN_C_DECL xnLogGetMaskMinSeverity(const XnChar *strMask)
XN_C_API void XN_C_DECL xnLoggerWriteNoEntry(XnLogger *pLogger, XnLogSeverity severity, const XnChar *strFormat,...)
XnLogSeverity
Definition: XnLogTypes.h:43
#define XN_C_API
Definition: XnPlatform.h:126
XnUInt32 XnStatus
Definition: XnStatus.h:34
Definition: XnLogTypes.h:72
Definition: XnLogTypes.h:55