3 //=============================================================================
5 * @file Log_Msg_NT_Event_Log.h
7 * @author Christopher Kohlhoff <chris@kohlhoff.com>
9 //=============================================================================
11 #ifndef ACE_LOG_MSG_NT_EVENT_LOG_H
12 #define ACE_LOG_MSG_NT_EVENT_LOG_H
13 #include /**/ "ace/pre.h"
15 #include /**/ "ace/config-all.h"
17 #if !defined (ACE_LACKS_PRAGMA_ONCE)
19 #endif /* ACE_LACKS_PRAGMA_ONCE */
21 #if defined ACE_HAS_LOG_MSG_NT_EVENT_LOG
23 #include "ace/Log_Msg_Backend.h"
25 ACE_BEGIN_VERSIONED_NAMESPACE_DECL
28 * @class ACE_Log_Msg_NT_Event_Log
30 * @brief Implements an ACE_Log_Msg_Backend that logs to the WinNT system
33 class ACE_Export ACE_Log_Msg_NT_Event_Log
: public ACE_Log_Msg_Backend
37 ACE_Log_Msg_NT_Event_Log () = default;
40 ~ACE_Log_Msg_NT_Event_Log () override
;
42 /// Open a new event log.
44 * Initialize the event logging facility.
45 * @param logger_key The name of the calling program. This name is
46 * used in the Source field of the event log. If
47 * it is 0 (no name), the application name as
48 * returned from ACE_Log_Msg::program_name() is used.
50 int open (const ACE_TCHAR
*logger_key
) override
;
52 /// Reset the backend.
53 int reset () override
;
55 /// Close the backend completely.
56 int close () override
;
58 /// This is called when we want to log a message.
59 ssize_t
log (ACE_Log_Record
&log_record
) override
;
62 HANDLE evlog_handle_
{0};
65 ACE_END_VERSIONED_NAMESPACE_DECL
67 #endif /* ACE_HAS_LOG_MSG_NT_EVENT_LOG */
69 #include /**/ "ace/post.h"
70 #endif /* ACE_LOG_MSG_NT_EVENT_LOG_H */