summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>2021-04-14 00:20:06 +0300
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2021-04-15 00:04:54 +0300
commit93be96431a5cdacfe632c3cfb6763b90649bc590 (patch)
treeb6e43ee7c26142972bdc9ff25884e09697436c2f
parent304ea65551b410a82b81dfd83e25b089ce158954 (diff)
libcamera: log: De-duplicate _log() functions and LogMessage constructor
The _log() functions, as well as the LogMessage constructor, exist in two versions, one that takes a log category, and one that doesn't. The latter uses the default log category. This can be simplified by passing a LogCategory pointer to _log(), which can then be null for the default category, and moving the retrieval of the default log category from the LogMessage constructor to the _log() function. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Tested-by: Sebastian Fricke <sebastian.fricke@posteo.net> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
-rw-r--r--include/libcamera/internal/log.h13
-rw-r--r--src/libcamera/log.cpp66
2 files changed, 12 insertions, 67 deletions
diff --git a/include/libcamera/internal/log.h b/include/libcamera/internal/log.h
index e76ae913..0fdacc47 100644
--- a/include/libcamera/internal/log.h
+++ b/include/libcamera/internal/log.h
@@ -56,8 +56,6 @@ class LogMessage
{
public:
LogMessage(const char *fileName, unsigned int line,
- LogSeverity severity);
- LogMessage(const char *fileName, unsigned int line,
const LogCategory &category, LogSeverity severity);
LogMessage(LogMessage &&);
@@ -92,23 +90,20 @@ protected:
virtual std::string logPrefix() const = 0;
LogMessage _log(const char *file, unsigned int line,
- LogSeverity severity) const;
- LogMessage _log(const char *file, unsigned int line,
- const LogCategory &category,
+ const LogCategory *category,
LogSeverity severity) const;
};
-LogMessage _log(const char *file, unsigned int line, LogSeverity severity);
LogMessage _log(const char *file, unsigned int line,
- const LogCategory &category, LogSeverity severity);
+ const LogCategory *category, LogSeverity severity);
#ifndef __DOXYGEN__
#define _LOG_CATEGORY(name) logCategory##name
#define _LOG1(severity) \
- _log(__FILE__, __LINE__, Log##severity).stream()
+ _log(__FILE__, __LINE__, nullptr, Log##severity).stream()
#define _LOG2(category, severity) \
- _log(__FILE__, __LINE__, _LOG_CATEGORY(category)(), Log##severity).stream()
+ _log(__FILE__, __LINE__, &_LOG_CATEGORY(category)(), Log##severity).stream()
/*
* Expand the LOG() macro to _LOG1() or _LOG2() based on the number of
diff --git a/src/libcamera/log.cpp b/src/libcamera/log.cpp
index 45c7c2d2..9f86e645 100644
--- a/src/libcamera/log.cpp
+++ b/src/libcamera/log.cpp
@@ -764,24 +764,6 @@ const LogCategory &LogCategory::defaultCategory()
*/
/**
- * \brief Construct a log message for the default category
- * \param[in] fileName The file name where the message is logged from
- * \param[in] line The line number where the message is logged from
- * \param[in] severity The log message severity, controlling how the message
- * will be displayed
- *
- * Create a log message pertaining to line \a line of file \a fileName. The
- * \a severity argument sets the message severity to control whether it will be
- * output or dropped.
- */
-LogMessage::LogMessage(const char *fileName, unsigned int line,
- LogSeverity severity)
- : category_(LogCategory::defaultCategory()), severity_(severity)
-{
- init(fileName, line);
-}
-
-/**
* \brief Construct a log message for a given category
* \param[in] fileName The file name where the message is logged from
* \param[in] line The line number where the message is logged from
@@ -917,26 +899,6 @@ Loggable::~Loggable()
* \brief Create a temporary LogMessage object to log a message
* \param[in] fileName The file name where the message is logged from
* \param[in] line The line number where the message is logged from
- * \param[in] severity The log message severity
- *
- * This method is used as a backeng by the LOG() macro to create a log message
- * for locations inheriting from the Loggable class.
- *
- * \return A log message
- */
-LogMessage Loggable::_log(const char *fileName, unsigned int line,
- LogSeverity severity) const
-{
- LogMessage msg(fileName, line, severity);
-
- msg.stream() << logPrefix() << ": ";
- return msg;
-}
-
-/**
- * \brief Create a temporary LogMessage object to log a message
- * \param[in] fileName The file name where the message is logged from
- * \param[in] line The line number where the message is logged from
* \param[in] category The log message category
* \param[in] severity The log message severity
*
@@ -946,10 +908,12 @@ LogMessage Loggable::_log(const char *fileName, unsigned int line,
* \return A log message
*/
LogMessage Loggable::_log(const char *fileName, unsigned int line,
- const LogCategory &category,
+ const LogCategory *category,
LogSeverity severity) const
{
- LogMessage msg(fileName, line, category, severity);
+ LogMessage msg(fileName, line,
+ category ? *category : LogCategory::defaultCategory(),
+ severity);
msg.stream() << logPrefix() << ": ";
return msg;
@@ -959,22 +923,6 @@ LogMessage Loggable::_log(const char *fileName, unsigned int line,
* \brief Create a temporary LogMessage object to log a message
* \param[in] fileName The file name where the message is logged from
* \param[in] line The line number where the message is logged from
- * \param[in] severity The log message severity
- *
- * This function is used as a backeng by the LOG() macro to create a log
- * message for locations not inheriting from the Loggable class.
- *
- * \return A log message
- */
-LogMessage _log(const char *fileName, unsigned int line, LogSeverity severity)
-{
- return LogMessage(fileName, line, severity);
-}
-
-/**
- * \brief Create a temporary LogMessage object to log a message
- * \param[in] fileName The file name where the message is logged from
- * \param[in] line The line number where the message is logged from
* \param[in] category The log message category
* \param[in] severity The log message severity
*
@@ -984,9 +932,11 @@ LogMessage _log(const char *fileName, unsigned int line, LogSeverity severity)
* \return A log message
*/
LogMessage _log(const char *fileName, unsigned int line,
- const LogCategory &category, LogSeverity severity)
+ const LogCategory *category, LogSeverity severity)
{
- return LogMessage(fileName, line, category, severity);
+ return LogMessage(fileName, line,
+ category ? *category : LogCategory::defaultCategory(),
+ severity);
}
/**