NTEventLogAppender.hh
Go to the documentation of this file.
00001 /*
00002  * NTEventLogAppender.hh
00003  *
00004  * See the COPYING file for the terms of usage and distribution.
00005  */
00006 
00007 #ifndef _LOG4CPP_NTEVENTLOGAPPENDER_HH
00008 #define _LOG4CPP_NTEVENTLOGAPPENDER_HH
00009 
00010 #ifdef _WIN32 // only available on Win32
00011 
00012 // deal with ERROR #define
00013 // N.B. This #includes windows.h with NOGDI and WIN32_LEAN_AND_MEAN #defined.
00014 //      If this is not what the user wants, #include windows.h before this file.
00015 #ifndef _WINDOWS_
00016 #  ifndef NOGDI
00017 #    define NOGDI  // this will circumvent the ERROR #define in windows.h
00018 #    define LOG4CPP_UNDEFINE_NOGDI
00019 #  endif
00020 
00021 #  ifndef WIN32_LEAN_AND_MEAN
00022 #    define WIN32_LEAN_AND_MEAN
00023 #    define LOG4CPP_UNDEFINE_WIN32_LEAN_AND_MEAN
00024 #  endif
00025 
00026 #  include <windows.h>
00027 
00028 #  ifdef LOG4CPP_UNDEFINE_NOGDI
00029 #    undef NOGDI
00030 #  endif
00031 
00032 #  ifdef LOG4CPP_UNDEFINE_WIN32_LEAN_AND_MEAN
00033 #    undef WIN32_LEAN_AND_MEAN
00034 #  endif
00035 
00036 #endif // done dealing with ERROR #define
00037 
00038 #include <log4cpp/Portability.hh>
00039 #include <log4cpp/AppenderSkeleton.hh>
00040 
00041 LOG4CPP_NS_BEGIN
00042 
00052 class LOG4CPP_EXPORT NTEventLogAppender : public AppenderSkeleton {
00053 public:
00054 
00060     NTEventLogAppender(const std::string& name, const std::string& sourceName);
00061     virtual ~NTEventLogAppender();
00062 
00066     virtual bool reopen();
00067 
00068     virtual void close();
00069 
00074     virtual bool requiresLayout() const;
00075 
00076     virtual void setLayout(Layout* layout);
00077 
00078 protected:
00079 
00080     WORD getCategory(Priority::Value priority);
00081     WORD getType(Priority::Value priority);
00082     HKEY regGetKey(TCHAR *subkey, DWORD *disposition);
00083     void regSetString(HKEY hkey, TCHAR *name, TCHAR *value);
00084     void regSetDword(HKEY hkey, TCHAR *name, DWORD value);
00085     void addRegistryInfo(const char *source);
00086 
00087     virtual void open();
00088 
00093     virtual void _append(const LoggingEvent& event);
00094 
00095     HANDLE _hEventSource;
00096     std::string _strSourceName;
00097 };
00098 LOG4CPP_NS_END
00099 
00100 #else // WIN32
00101 #error NTEventLoggAppender is not available on on Win32 platforms
00102 #endif  // WIN32
00103 
00104 #endif // _LOG4CPP_NTEVENTLOGAPPENDER_HH
00105 


rc_genicam_api
Author(s): Heiko Hirschmueller
autogenerated on Thu Jun 6 2019 18:42:47