#include "NotificationService.h" namespace { class registerMetaTypes { public: registerMetaTypes() { qRegisterMetaType(); qRegisterMetaType(); } } registerMetaTypes_instance; } std::shared_ptr NotificationService::s_instance; std::shared_ptr NotificationService::instance() { if (!s_instance) { s_instance = std::make_shared(); } return s_instance; } NotificationService::NotificationService() { } void NotificationService::addInformational(const QString &msg, const QString &detail) { add(NotificationSeverity::Informational, msg, detail); } void NotificationService::addWarning(const QString &msg, const QString &detail) { add(NotificationSeverity::Warning, msg, detail); } void NotificationService::addError(const QString &msg, const QString &detail) { add(NotificationSeverity::Error, msg, detail); } void NotificationService::add(NotificationSeverity severity, const QString &msg, const QString &detail) { m_notifications.push_back({ severity, msg, detail }); } int NotificationService::count() const { return m_notifications.size(); } const Notification& NotificationService::notification(int index) { return m_notifications.at(index); }