aboutsummaryrefslogtreecommitdiffstats
path: root/src/geniviextras/qdltregistration.cpp
diff options
context:
space:
mode:
authorDominik Holland <dominik.holland@pelagicore.com>2015-08-06 13:15:52 +0200
committerDominik Holland <dominik.holland@pelagicore.com>2015-08-06 13:16:34 +0200
commit69d6850fe13b80703fec6f34d04623491a132d71 (patch)
tree19bc8ddca75721f2b797c7e60995daf79aec82b8 /src/geniviextras/qdltregistration.cpp
parent553203a4b4d65405d69dc6951ad7016f4f1c28b8 (diff)
Added a logLevelChanged signal to QDltRegistration
This enables the Developer to react on log level changes.
Diffstat (limited to 'src/geniviextras/qdltregistration.cpp')
-rw-r--r--src/geniviextras/qdltregistration.cpp15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/geniviextras/qdltregistration.cpp b/src/geniviextras/qdltregistration.cpp
index 742ffaa..724328d 100644
--- a/src/geniviextras/qdltregistration.cpp
+++ b/src/geniviextras/qdltregistration.cpp
@@ -51,8 +51,9 @@ QDltRegistration *globalDltRegistration()
return dltRegistration();
}
-QDltRegistrationPrivate::QDltRegistrationPrivate()
- : m_defaultContext(nullptr)
+QDltRegistrationPrivate::QDltRegistrationPrivate(QDltRegistration *parent)
+ : q_ptr(parent)
+ , m_defaultContext(nullptr)
{
}
@@ -81,6 +82,7 @@ DltContext *QDltRegistrationPrivate::context(const char *categoryName)
void QDltRegistrationPrivate::dltLogLevelChanged(char context_id[], uint8_t log_level, uint8_t trace_status)
{
+ Q_Q(QDltRegistration);
Q_UNUSED(trace_status)
const QString contextName = QString::fromLatin1(context_id);
@@ -121,13 +123,18 @@ void QDltRegistrationPrivate::dltLogLevelChanged(char context_id[], uint8_t log_
bool enabled = true;
if (!msgTypes.contains(type))
enabled = !enabled;
- m_ctxName2Category.value(contextName)->setEnabled(type, enabled);
+ QLoggingCategory* category = m_ctxName2Category.value(contextName);
+ if (category->isEnabled(type) != enabled)
+ {
+ category->setEnabled(type, enabled);
+ q->logLevelChanged(category);
+ }
}
}
}
QDltRegistration::QDltRegistration()
- : d_ptr(new QDltRegistrationPrivate())
+ : d_ptr(new QDltRegistrationPrivate(this))
{
}