Files
DFTE/src/DeviceFrameworkTemplateEngineDebug.cpp
T
alex e3af7eacbf Extend DFTE template engine debug API and refine renderer logging.
Add helpers in DeviceFrameworkTemplateEngineDebug and wire clearer
instrumentation in DeviceFrameworkTemplateRenderer; update README.
2026-04-20 23:28:51 +10:00

50 lines
1.8 KiB
C++

#include "DeviceFrameworkTemplateEngineDebug.h"
// Global logger pointer - starts as nullptr (disabled by default)
DeviceFrameworkTemplateEngineLogger* deviceFrameworkTemplateEngineLogger = nullptr;
const void* deviceFrameworkTemplateEngineLoggerOwner = nullptr;
// ============================================================================
// LOGGING CONFIGURATION IMPLEMENTATIONS
// ============================================================================
bool deviceFrameworkTemplateEngineEnableLogging(DeviceFrameworkTemplateEngineLogger* logger) {
return deviceFrameworkTemplateEngineEnableLogging(logger, nullptr);
}
bool deviceFrameworkTemplateEngineEnableLogging(DeviceFrameworkTemplateEngineLogger* logger, const void* ownerTag) {
if (logger == nullptr) {
return false;
}
deviceFrameworkTemplateEngineLogger = logger;
deviceFrameworkTemplateEngineLoggerOwner = ownerTag ? ownerTag : static_cast<const void*>(logger);
return true;
}
void deviceFrameworkTemplateEngineDisableLogging() {
deviceFrameworkTemplateEngineLogger = nullptr;
deviceFrameworkTemplateEngineLoggerOwner = nullptr;
}
bool deviceFrameworkTemplateEngineDisableLoggingForOwner(const void* ownerTag) {
if (deviceFrameworkTemplateEngineLogger == nullptr || ownerTag == nullptr) {
return false;
}
if (deviceFrameworkTemplateEngineLoggerOwner != ownerTag) {
return false;
}
deviceFrameworkTemplateEngineDisableLogging();
return true;
}
bool deviceFrameworkTemplateEngineIsLoggingEnabled() {
return deviceFrameworkTemplateEngineLogger != nullptr;
}
DeviceFrameworkTemplateEngineLogger* deviceFrameworkTemplateEngineGetLogger() {
return deviceFrameworkTemplateEngineLogger;
}
const void* deviceFrameworkTemplateEngineGetLoggerOwner() {
return deviceFrameworkTemplateEngineLoggerOwner;
}