Basic EventLevel support
This commit is contained in:
@@ -5,12 +5,27 @@
|
||||
NS_BEGIN(Sia)
|
||||
NS_BEGIN(Api)
|
||||
|
||||
enum class EventLevel
|
||||
{
|
||||
Error,
|
||||
Normal,
|
||||
Debug
|
||||
};
|
||||
|
||||
class SIADRIVE_EXPORTABLE CEvent
|
||||
{
|
||||
public:
|
||||
CEvent(const EventLevel& eventLevel = EventLevel::Normal) :
|
||||
_eventLevel(eventLevel)
|
||||
{}
|
||||
|
||||
virtual ~CEvent() {}
|
||||
|
||||
private:
|
||||
const EventLevel _eventLevel;
|
||||
|
||||
public:
|
||||
const EventLevel& GetEventLevel() const { return _eventLevel; }
|
||||
virtual SString GetSingleLineMessage() const = 0;
|
||||
virtual std::shared_ptr<CEvent> Clone() const = 0;
|
||||
};
|
||||
|
@@ -7,14 +7,17 @@ NS_BEGIN(Sia)
|
||||
NS_BEGIN(Api)
|
||||
|
||||
class CEvent;
|
||||
enum class EventLevel;
|
||||
class SIADRIVE_EXPORTABLE CLoggingConsumer
|
||||
{
|
||||
public:
|
||||
CLoggingConsumer();
|
||||
CLoggingConsumer(const EventLevel& eventLevel);
|
||||
|
||||
public:
|
||||
~CLoggingConsumer();
|
||||
|
||||
Property(EventLevel, EventLevel, public, public)
|
||||
|
||||
private:
|
||||
void ProcessEvent(const CEvent& eventData);
|
||||
};
|
||||
|
@@ -21,9 +21,10 @@ int APIENTRY wWinMain(HINSTANCE hInstance,
|
||||
UNREFERENCED_PARAMETER(lpCmdLine);
|
||||
#ifdef _DEBUG
|
||||
CDebugConsumer debugConsumer;
|
||||
CLoggingConsumer loggingConsumer(EventLevel::Debug);
|
||||
#else
|
||||
CLoggingConsumer loggingConsumer(EventLevel::Release);
|
||||
#endif
|
||||
CLoggingConsumer loggingConsumer;
|
||||
|
||||
CEventSystem::EventSystem.Start();
|
||||
CefEnableHighDPISupport();
|
||||
|
||||
|
@@ -4,7 +4,8 @@
|
||||
|
||||
using namespace Sia::Api;
|
||||
|
||||
CLoggingConsumer::CLoggingConsumer()
|
||||
CLoggingConsumer::CLoggingConsumer(const EventLevel& eventLevel) :
|
||||
_EventLevel(eventLevel)
|
||||
{
|
||||
CEventSystem::EventSystem.AddEventConsumer([=](const CEvent& event) {this->ProcessEvent(event); });
|
||||
}
|
||||
|
Reference in New Issue
Block a user