22#ifndef WXMAXIMA_MAXIMA_IPC_H
23#define WXMAXIMA_MAXIMA_IPC_H
26#include <unordered_map>
29#include <wx/hashmap.h>
51 static void EnableIPC() { m_enabled =
true; }
52 static bool GetEnableIPC() {
return m_enabled; }
69 std::unordered_map<wxString, wxEvtHandler*, wxStringHash> m_eventTargets;
73 std::unique_ptr<wxEvent> event;
74 QueuedEvent(wxEvtHandler *target, std::unique_ptr<wxEvent> &&event)
75 : target(target), event(std::move(event)) {}
77 std::size_t m_queueTail = 0;
78 std::vector<QueuedEvent> m_queue;
80 static bool m_enabled;
Handles the "<ipc>" tag from Maxima.
Definition: MaximaIPC.h:41
bool DrainQueue()
Drains the event queue and dispatches a queued IPC event to its target.
Definition: MaximaIPC.cpp:155
void ReadInputData(const wxString &data)
Reads the interprocess communications tag, used in test scripts, etc.
Definition: MaximaIPC.cpp:90
Definition: wxMaxima.h:65