Files
IfcOpenShell/src/qtviewer/MessageLogger.h
T

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

46 lines
925 B
C++
Raw Normal View History

2023-09-05 18:26:12 +05:30
#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;
};
2023-09-05 18:26:12 +05:30
#endif // MESSAGELOGGER_H