diff --git a/Debug/DebConfig.hh b/Debug/DebConfig.hh index 348b0a1e4ed79c4c2603d920f586a75f159394a9..56aee7fa6e70277e60bd10b9787c6fc4f046af7c 100644 --- a/Debug/DebConfig.hh +++ b/Debug/DebConfig.hh @@ -1,4 +1,4 @@ -// (C) Copyright 2019 by Autodesk, Inc. +// (C) Copyright 2020 by Autodesk, Inc. #ifndef BASE_DEBCONFIG_HH_INCLUDED #define BASE_DEBCONFIG_HH_INCLUDED @@ -7,11 +7,12 @@ #include #include -namespace Debug { +namespace Debug +{ - void print_char_to_cerr(const char _c); //!< print a char to cerr +void print_char_to_cerr(const char _c); //!< print a char to cerr -/*! +/*! Access the global, per-process, configuration options of the Debug system. \todo Make this a per-thread configuration. */ @@ -26,31 +27,37 @@ public: static Config& modify(); //! Query the current configuration. - static const Config& query(); + static const Config& query(); //! Query the default configuration. - static const Config& defaults(); + static const Config& defaults(); public: //! The output level for all code in the absence of a config file. int output_level = 5; - + //! The deb out log filename, nullptr disables the debug output log file. const char* log_filename = nullptr; + //! Get if the log file output is enabled + bool logfile() const { return log_filename != nullptr; } + //! Function to deb out on the console, nullptr if output disabled. print_function console_print = print_char_to_cerr; + //! Get if the console + bool console() const { return console_print != nullptr; } + public: //! The output level for the given filename and function. int custom_level(const char* const _flnm, const char* const _fnct) const; - /*! + /*! Load the configuration file specified either by the environment variable - or the filename if the the environment variable is not set. + or the filename if the the environment variable is not set. \todo Document the config format. \return true if the configuration file was loaded properly, false otherwise. - */ + */ bool load(const char* const _cnfg_envr, const char* const _cnfg_flnm); private: @@ -71,9 +78,9 @@ private: //! Disable assignment Config& operator=(const Config&); -}; +}; -};//namespace Debug +}; // namespace Debug -#endif//DEB_ON -#endif//BASE_DEBCONFIG_HH_INCLUDED +#endif // DEB_ON +#endif // BASE_DEBCONFIG_HH_INCLUDED