2019-02-12 22:13:09 -05:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include "stdafx.h"
|
|
|
|
|
|
|
|
#include "IMessageManager.h"
|
|
|
|
#include <unordered_map>
|
|
|
|
#include "../Utilities/SimpleLock.h"
|
|
|
|
|
2019-07-25 22:22:09 -04:00
|
|
|
#ifdef _DEBUG
|
2021-03-10 11:13:28 -05:00
|
|
|
#define LogDebug(msg) MessageManager::Log(msg);
|
2019-07-25 22:22:09 -04:00
|
|
|
#else
|
|
|
|
#define LogDebug(msg)
|
|
|
|
#endif
|
|
|
|
|
2019-02-12 22:13:09 -05:00
|
|
|
class MessageManager
|
|
|
|
{
|
|
|
|
private:
|
|
|
|
static IMessageManager* _messageManager;
|
|
|
|
static std::unordered_map<string, string> _enResources;
|
|
|
|
|
|
|
|
static bool _osdEnabled;
|
|
|
|
static SimpleLock _logLock;
|
|
|
|
static SimpleLock _messageLock;
|
|
|
|
static std::list<string> _log;
|
2021-03-10 11:13:28 -05:00
|
|
|
|
2019-02-12 22:13:09 -05:00
|
|
|
public:
|
|
|
|
static void SetOsdState(bool enabled);
|
|
|
|
|
|
|
|
static string Localize(string key);
|
|
|
|
|
|
|
|
static void RegisterMessageManager(IMessageManager* messageManager);
|
|
|
|
static void UnregisterMessageManager(IMessageManager* messageManager);
|
|
|
|
static void DisplayMessage(string title, string message, string param1 = "", string param2 = "");
|
|
|
|
|
|
|
|
static void Log(string message = "");
|
2019-02-17 14:42:35 -05:00
|
|
|
static void ClearLog();
|
2019-02-12 22:13:09 -05:00
|
|
|
static string GetLog();
|
|
|
|
};
|