Files
IfcOpenShell/src/qtviewer/MessageLogger.h
T
dushyant basson 3bb8bd5000 added header-guard
2024-04-16 11:17:07 +02:00

46 lines
925 B
C++

#ifndef MESSAGELOGGER_H
#define MESSAGELOGGER_H
#include <QObject>
#include <string>
// SINGLETON
class MessageLogger : public QObject
{
Q_OBJECT
signals:
void logMessage(const QString& message);
public:
static MessageLogger& getInstance()
{
static MessageLogger instance;
return instance;
}
// Convenience function to log a message
static void log(const std::string& message)
{
getInstance().emitMessage(message);
}
private slots:
void emitMessage(const std::string& message)
{
emit logMessage(QString::fromStdString(message));
}
private:
MessageLogger() {}
~MessageLogger() {}
// Disable copy constructor for MessageLogger
MessageLogger(const MessageLogger&) = delete;
// Disable copy assignment operator for MessageLogger
MessageLogger& operator=(const MessageLogger&) = delete;
};
#endif // MESSAGELOGGER_H