File: MessageManager.cpp

package info (click to toggle)
codelite 14.0%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 112,816 kB
  • sloc: cpp: 483,662; ansic: 150,144; php: 9,569; lex: 4,186; python: 3,417; yacc: 2,820; sh: 1,147; makefile: 52; xml: 13
file content (26 lines) | stat: -rw-r--r-- 848 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include "DebuggerPaused.h"
#include "DebuggerResumed.h"
#include "DebuggerScriptParsed.h"
#include "MessageManager.h"
#include "RuntimeExecutionContextDestroyed.h"

MessageManager::MessageManager()
{
    AddHandler(NodeMessageBase::Ptr_t(new DebuggerPaused()));
    AddHandler(NodeMessageBase::Ptr_t(new DebuggerScriptParsed()));
    AddHandler(NodeMessageBase::Ptr_t(new DebuggerResumed()));
    AddHandler(NodeMessageBase::Ptr_t(new RuntimeExecutionContextDestroyed()));
}

MessageManager::~MessageManager() {}

void MessageManager::AddHandler(NodeMessageBase::Ptr_t handler)
{
    m_events.insert({ handler->GetEventName(), handler });
}

NodeMessageBase::Ptr_t MessageManager::GetHandler(const wxString& eventName)
{
    if(m_events.count(eventName) == 0) { return NodeMessageBase::Ptr_t(nullptr); }
    return m_events[eventName]->Clone();
}