.. _program_listing_file_include_libcaercpp_libcaer.hpp: Program Listing for File libcaer.hpp ==================================== |exhale_lsh| :ref:`Return to documentation for file ` (``include/libcaercpp/libcaer.hpp``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp #ifndef LIBCAER_HPP_ #define LIBCAER_HPP_ #include "../libcaer/libcaer.h" #include #include namespace libcaer { namespace log { // Undefine the log-level names, to avoid conflicts with macros // on Windows/MinGW for example. #undef EMERGENCY #undef ALERT #undef CRITICAL #undef ERROR #undef WARNING #undef NOTICE #undef INFO #undef DEBUG enum class logLevel { EMERGENCY = 0, ALERT = 1, CRITICAL = 2, ERROR = 3, WARNING = 4, NOTICE = 5, INFO = 6, DEBUG = 7, }; inline void logLevelSet(logLevel l) noexcept; inline logLevel logLevelGet() noexcept; inline void callbackSet(caerLogCallback callback) noexcept; inline caerLogCallback callbackGet() noexcept; inline void fileDescriptorsSet(int fd1, int fd2) noexcept; inline int fileDescriptorsGetFirst() noexcept; inline int fileDescriptorsGetSecond() noexcept; inline void log(logLevel l, const char *subSystem, const char *format, ...) noexcept; inline void logVA(logLevel l, const char *subSystem, const char *format, va_list args) noexcept; inline void logVAFull( uint8_t systemLogLevel, logLevel l, const char *subSystem, const char *format, va_list args) noexcept; inline void logLevelSet(logLevel l) noexcept { caerLogLevelSet(static_cast(static_cast::type>(l))); } inline logLevel logLevelGet() noexcept { return (static_cast(caerLogLevelGet())); } inline void callbackSet(caerLogCallback callback) noexcept { caerLogCallbackSet(callback); } inline caerLogCallback callbackGet() noexcept { return (caerLogCallbackGet()); } inline void fileDescriptorsSet(int fd1, int fd2) noexcept { caerLogFileDescriptorsSet(fd1, fd2); } inline int fileDescriptorsGetFirst() noexcept { return (caerLogFileDescriptorsGetFirst()); } inline int fileDescriptorsGetSecond() noexcept { return (caerLogFileDescriptorsGetSecond()); } inline void disable(bool disableLogging) noexcept { caerLogDisable(disableLogging); } inline bool disabled() noexcept { return (caerLogDisabled()); } inline void log(logLevel l, const char *subSystem, const char *format, ...) noexcept { va_list argumentList; va_start(argumentList, format); caerLogVA(static_cast(static_cast::type>(l)), subSystem, format, argumentList); va_end(argumentList); } inline void logVA(logLevel l, const char *subSystem, const char *format, va_list args) noexcept { caerLogVA(static_cast(static_cast::type>(l)), subSystem, format, args); } inline void logVAFull( uint8_t systemLogLevel, logLevel l, const char *subSystem, const char *format, va_list args) noexcept { caerLogVAFull(systemLogLevel, static_cast(static_cast::type>(l)), subSystem, format, args); } } // namespace log } // namespace libcaer #endif /* LIBCAER_HPP_ */