//---------------------------------------------------------------------------- // // Copyright (C) Intel Corporation, 2007 - 2008. // // Class: MPSEventLogger.h // // Contents: EventLogger for MPS. // // Notes: //---------------------------------------------------------------------------- #ifndef _MPS_EVENT_LOGGER_H #define _MPS_EVENT_LOGGER_H #include #include "WindowsEventLog.h" #include "MPSMessageFile.h" #define EVENT_LOG_SOURCE_NAME "MPS" #define EVENT_LOG_LOG_NAME "Application" #define EVENT_LOG_CATEGORY_COUNT 7 class MPSEventLogger { friend class MPSEventLoggerWrapper; private: MPSEventLogger(); BaseEventLog *m_logger; ACE_Mutex mutex; public: virtual ~MPSEventLogger(); // Log information event by id and category void LogInfoEvent(unsigned short CategoryID, unsigned long EventID); // Log error event by id and category void LogErrorEvent(unsigned short CategoryID, unsigned long EventID); // Record Events for debugging. void DebugLog(const char *message); // Record warning events void WarningLog(const char * message); // Record error events void ErrorLog(const char * message); // Reset all flags void ResetFlags(); }; #ifdef _SERVICE #define runAsService(X) X; //do { \ // \ //} while(0) #else #define runAsService(X) #endif class MPSEventLoggerWrapper { private: MPSEventLogger m_logger; public: MPSEventLoggerWrapper() : m_logger() {} ~MPSEventLoggerWrapper() {} // Log information event by id and category void LogInfoEvent(unsigned short CategoryID, unsigned long EventID) { runAsService(m_logger.LogInfoEvent(CategoryID, EventID)); } // Log error event by id and category void LogErrorEvent(unsigned short CategoryID, unsigned long EventID) { runAsService(m_logger.LogErrorEvent(CategoryID, EventID)); } // Record Events for debugging. void DebugLog(const char *message) { runAsService(m_logger.DebugLog(message)); } // Record warning events void WarningLog(const char * message) { runAsService(m_logger.WarningLog(message)); } // Record error events void ErrorLog(const char * message) { runAsService(m_logger.ErrorLog(message)); } // Reset all flags void ResetFlags() { runAsService(m_logger.ResetFlags()); } }; #endif // _MPS_EVENT_LOGGER_H