qt_sink: add some warning on its usage (#2753)
* qt_sink: add some warning on its usage * qt_sink: add some warning on its usage - fix --------- Co-authored-by: Benoit FANCHON <bfanchon@nanoxplore.com>
This commit is contained in:
		@@ -55,25 +55,35 @@ private:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#include "spdlog/details/null_mutex.h"
 | 
					#include "spdlog/details/null_mutex.h"
 | 
				
			||||||
#include <mutex>
 | 
					#include <mutex>
 | 
				
			||||||
 | 
					// Warning: qt_sink won't be notified if the target QObject is destroyed.
 | 
				
			||||||
 | 
					// If the object's lifetime can be shorter than the logger's one, you should provide some permanent object and then use a standard signal/slot.
 | 
				
			||||||
using qt_sink_mt = qt_sink<std::mutex>;
 | 
					using qt_sink_mt = qt_sink<std::mutex>;
 | 
				
			||||||
 | 
					// Warning: qt_sink won't be notified if the target QObject is destroyed.
 | 
				
			||||||
 | 
					// If the object's lifetime can be shorter than the logger's one, you should provide some permanent object and then use a standard signal/slot.
 | 
				
			||||||
using qt_sink_st = qt_sink<spdlog::details::null_mutex>;
 | 
					using qt_sink_st = qt_sink<spdlog::details::null_mutex>;
 | 
				
			||||||
} // namespace sinks
 | 
					} // namespace sinks
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//
 | 
					//
 | 
				
			||||||
// Factory functions
 | 
					// Factory functions
 | 
				
			||||||
//
 | 
					//
 | 
				
			||||||
 | 
					// Warning: the qt_sink won't be notified if the target widget is destroyed.
 | 
				
			||||||
 | 
					// If the widget's lifetime can be shorter than the logger's one, you should provide some permanent QObject and then use a standard signal/slot.
 | 
				
			||||||
template<typename Factory = spdlog::synchronous_factory>
 | 
					template<typename Factory = spdlog::synchronous_factory>
 | 
				
			||||||
inline std::shared_ptr<logger> qt_logger_mt(const std::string &logger_name, QTextEdit *qt_object, const std::string &meta_method = "append")
 | 
					inline std::shared_ptr<logger> qt_logger_mt(const std::string &logger_name, QTextEdit *qt_object, const std::string &meta_method = "append")
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    return Factory::template create<sinks::qt_sink_mt>(logger_name, qt_object, meta_method);
 | 
					    return Factory::template create<sinks::qt_sink_mt>(logger_name, qt_object, meta_method);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Warning: the qt_sink won't be notified if the target widget is destroyed.
 | 
				
			||||||
 | 
					// If the widget's lifetime can be shorter than the logger's one, you should provide some permanent QObject and then use a standard signal/slot.
 | 
				
			||||||
template<typename Factory = spdlog::synchronous_factory>
 | 
					template<typename Factory = spdlog::synchronous_factory>
 | 
				
			||||||
inline std::shared_ptr<logger> qt_logger_st(const std::string &logger_name, QTextEdit *qt_object, const std::string &meta_method = "append")
 | 
					inline std::shared_ptr<logger> qt_logger_st(const std::string &logger_name, QTextEdit *qt_object, const std::string &meta_method = "append")
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    return Factory::template create<sinks::qt_sink_st>(logger_name, qt_object, meta_method);
 | 
					    return Factory::template create<sinks::qt_sink_st>(logger_name, qt_object, meta_method);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Warning: the qt_sink won't be notified if the target QObject is destroyed.
 | 
				
			||||||
 | 
					// If the object's lifetime can be shorter than the logger's one, you should provide some permanent QObject and then use a standard signal/slot.
 | 
				
			||||||
template<typename Factory = spdlog::synchronous_factory>
 | 
					template<typename Factory = spdlog::synchronous_factory>
 | 
				
			||||||
inline std::shared_ptr<logger> qt_logger_mt(
 | 
					inline std::shared_ptr<logger> qt_logger_mt(
 | 
				
			||||||
    const std::string &logger_name, QPlainTextEdit *qt_object, const std::string &meta_method = "appendPlainText")
 | 
					    const std::string &logger_name, QPlainTextEdit *qt_object, const std::string &meta_method = "appendPlainText")
 | 
				
			||||||
@@ -81,6 +91,8 @@ inline std::shared_ptr<logger> qt_logger_mt(
 | 
				
			|||||||
    return Factory::template create<sinks::qt_sink_mt>(logger_name, qt_object, meta_method);
 | 
					    return Factory::template create<sinks::qt_sink_mt>(logger_name, qt_object, meta_method);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Warning: the qt_sink won't be notified if the target widget is destroyed.
 | 
				
			||||||
 | 
					// If the widget's lifetime can be shorter than the logger's one, you should provide some permanent QObject and then use a standard signal/slot.
 | 
				
			||||||
template<typename Factory = spdlog::synchronous_factory>
 | 
					template<typename Factory = spdlog::synchronous_factory>
 | 
				
			||||||
inline std::shared_ptr<logger> qt_logger_st(
 | 
					inline std::shared_ptr<logger> qt_logger_st(
 | 
				
			||||||
    const std::string &logger_name, QPlainTextEdit *qt_object, const std::string &meta_method = "appendPlainText")
 | 
					    const std::string &logger_name, QPlainTextEdit *qt_object, const std::string &meta_method = "appendPlainText")
 | 
				
			||||||
@@ -88,12 +100,16 @@ inline std::shared_ptr<logger> qt_logger_st(
 | 
				
			|||||||
    return Factory::template create<sinks::qt_sink_st>(logger_name, qt_object, meta_method);
 | 
					    return Factory::template create<sinks::qt_sink_st>(logger_name, qt_object, meta_method);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Warning: the qt_sink won't be notified if the target QObject is destroyed.
 | 
				
			||||||
 | 
					// If the objet's lifetime can be shorter than the logger's one, you should provide some permanent QObject and then use a standard signal/slot.
 | 
				
			||||||
template<typename Factory = spdlog::synchronous_factory>
 | 
					template<typename Factory = spdlog::synchronous_factory>
 | 
				
			||||||
inline std::shared_ptr<logger> qt_logger_mt(const std::string &logger_name, QObject *qt_object, const std::string &meta_method)
 | 
					inline std::shared_ptr<logger> qt_logger_mt(const std::string &logger_name, QObject *qt_object, const std::string &meta_method)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    return Factory::template create<sinks::qt_sink_mt>(logger_name, qt_object, meta_method);
 | 
					    return Factory::template create<sinks::qt_sink_mt>(logger_name, qt_object, meta_method);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Warning: the qt_sink won't be notified if the target QObject is destroyed.
 | 
				
			||||||
 | 
					// If the objet's lifetime can be shorter than the logger's one, you should provide some permanent QObject and then use a standard signal/slot.
 | 
				
			||||||
template<typename Factory = spdlog::synchronous_factory>
 | 
					template<typename Factory = spdlog::synchronous_factory>
 | 
				
			||||||
inline std::shared_ptr<logger> qt_logger_st(const std::string &logger_name, QObject *qt_object, const std::string &meta_method)
 | 
					inline std::shared_ptr<logger> qt_logger_st(const std::string &logger_name, QObject *qt_object, const std::string &meta_method)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user