00001 00007 #pragma once 00008 #include "status.h" 00009 00010 #define KDCLIENT_REPORT_PERFORMANCE_INFORMATION 00011 #define KDCLIENT_ENABLE_TRACE_ASSIST 00012 00014 class StatusReporter 00015 { 00016 private: 00017 HANDLE m_hMapping; 00018 HANDLE m_hLogPipe; 00019 KdClientStatus *m_pStatus; 00020 00021 KdClientStatus m_UnusedStatus; 00022 00023 private: 00024 void DoLogLine(const TCHAR *pszText); 00025 00026 public: 00028 00032 KdClientStatus *GetStatusPointer() 00033 { 00034 return m_pStatus; 00035 } 00036 00037 public: 00038 StatusReporter(); 00039 ~StatusReporter(); 00040 00041 void LogLineIfEnabled(const TCHAR *pszText) 00042 { 00043 if (m_hLogPipe != INVALID_HANDLE_VALUE) 00044 DoLogLine(pszText); 00045 } 00046 }; 00047 00048 extern StatusReporter *g_pReporter;