hxsym_dprintf.h
上传用户:zhongxx05
上传日期:2007-06-06
资源大小:33641k
文件大小:2k
源码类别:

Symbian

开发平台:

C/C++

  1. /*****************************************************************************
  2.  * hxsym_dprintf.h
  3.  * ---------------
  4.  *
  5.  *
  6.  * Target:
  7.  * Symbian OS
  8.  *
  9.  *
  10.  * (c) 1995-2003 RealNetworks, Inc. Patents pending. All rights reserved.
  11.  *
  12.  *****************************************************************************/
  13. #if !defined(HXSYM_DPRINTF_H__)
  14. #define HXSYM_DPRINTF_H__
  15. #if defined(HELIX_FEATURE_DPRINTF)
  16. #if !defined HELIX_CONFIG_NOSTATICS
  17. #error impossible on symbian
  18. #endif
  19. # include "globals/hxglobals.h"
  20. // flags controlling dprint output
  21. enum PrintFlags
  22. {
  23.     // prolog
  24.     PRINT_DATE                  = 0x01, // include date
  25.     PRINT_TIME                  = 0x02, // include time
  26.     PRINT_TIME_INCLUDE_MS       = 0x04, // incude ms when writing timestamp
  27.     PRINT_TID                   = 0x08  // include thread id
  28. };
  29. struct DPrintfData
  30. {
  31.     DPrintfData();
  32.     UINT32      printFlags;
  33.     UINT32      mask;
  34.     UINT32      funcTraceMask;
  35.     CHXString   sinkName;
  36. };
  37. inline DPrintfData::DPrintfData()
  38. : printFlags(PRINT_TIME | PRINT_TIME_INCLUDE_MS | PRINT_TID)
  39. , mask(0)
  40. , funcTraceMask(0)
  41. {}
  42. DPrintfData* dprintfGetData();
  43. UINT32 dprintfGetMask();
  44. // for compatibility with older code (prefer DprintfData)
  45. UINT32& debug_level();
  46. UINT32& debug_func_level();
  47. void dprintf(const char *, ... );
  48. #define DPRINTF(mask,x) if (dprintfGetMask() & (mask)) dprintf x; else
  49. #else // HELIX_FEATURE_DPRINTF
  50. #define DPRINTF(mask,x)
  51. #endif // HELIX_FEATURE_DPRINTF
  52. #endif //HXSYM_DPRINTF_H__