Made EventManager class static
This commit is contained in:
@@ -88,7 +88,7 @@ namespace Bloom
|
|||||||
|
|
||||||
void Application::startup() {
|
void Application::startup() {
|
||||||
auto& applicationEventListener = this->applicationEventListener;
|
auto& applicationEventListener = this->applicationEventListener;
|
||||||
this->eventManager.registerListener(applicationEventListener);
|
EventManager::registerListener(applicationEventListener);
|
||||||
applicationEventListener->registerCallbackForEventType<Events::ShutdownApplication>(
|
applicationEventListener->registerCallbackForEventType<Events::ShutdownApplication>(
|
||||||
std::bind(&Application::onShutdownApplicationRequest, this, std::placeholders::_1)
|
std::bind(&Application::onShutdownApplicationRequest, this, std::placeholders::_1)
|
||||||
);
|
);
|
||||||
@@ -378,7 +378,7 @@ namespace Bloom
|
|||||||
|
|
||||||
auto targetControllerState = this->targetController->getThreadState();
|
auto targetControllerState = this->targetController->getThreadState();
|
||||||
if (targetControllerState == ThreadState::STARTING || targetControllerState == ThreadState::READY) {
|
if (targetControllerState == ThreadState::STARTING || targetControllerState == ThreadState::READY) {
|
||||||
this->eventManager.triggerEvent(std::make_shared<Events::ShutdownTargetController>());
|
EventManager::triggerEvent(std::make_shared<Events::ShutdownTargetController>());
|
||||||
this->applicationEventListener->waitForEvent<Events::TargetControllerThreadStateChanged>(
|
this->applicationEventListener->waitForEvent<Events::TargetControllerThreadStateChanged>(
|
||||||
std::chrono::milliseconds(10000)
|
std::chrono::milliseconds(10000)
|
||||||
);
|
);
|
||||||
@@ -422,7 +422,7 @@ namespace Bloom
|
|||||||
|
|
||||||
auto debugServerState = this->debugServer->getThreadState();
|
auto debugServerState = this->debugServer->getThreadState();
|
||||||
if (debugServerState == ThreadState::STARTING || debugServerState == ThreadState::READY) {
|
if (debugServerState == ThreadState::STARTING || debugServerState == ThreadState::READY) {
|
||||||
this->eventManager.triggerEvent(std::make_shared<Events::ShutdownDebugServer>());
|
EventManager::triggerEvent(std::make_shared<Events::ShutdownDebugServer>());
|
||||||
this->applicationEventListener->waitForEvent<Events::DebugServerThreadStateChanged>(
|
this->applicationEventListener->waitForEvent<Events::DebugServerThreadStateChanged>(
|
||||||
std::chrono::milliseconds(5000)
|
std::chrono::milliseconds(5000)
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ namespace Bloom::DebugServers
|
|||||||
this->setName("DS");
|
this->setName("DS");
|
||||||
Logger::info("Starting DebugServer");
|
Logger::info("Starting DebugServer");
|
||||||
|
|
||||||
this->eventManager.registerListener(this->eventListener);
|
EventManager::registerListener(this->eventListener);
|
||||||
|
|
||||||
this->interruptEventNotifier = std::make_shared<EventNotifier>();
|
this->interruptEventNotifier = std::make_shared<EventNotifier>();
|
||||||
this->eventListener->setInterruptEventNotifier(this->interruptEventNotifier);
|
this->eventListener->setInterruptEventNotifier(this->interruptEventNotifier);
|
||||||
@@ -57,7 +57,7 @@ namespace Bloom::DebugServers
|
|||||||
Logger::info("Shutting down DebugServer");
|
Logger::info("Shutting down DebugServer");
|
||||||
this->close();
|
this->close();
|
||||||
this->setThreadStateAndEmitEvent(ThreadState::STOPPED);
|
this->setThreadStateAndEmitEvent(ThreadState::STOPPED);
|
||||||
this->eventManager.deregisterListener(this->eventListener->getId());
|
EventManager::deregisterListener(this->eventListener->getId());
|
||||||
}
|
}
|
||||||
|
|
||||||
void DebugServer::onShutdownDebugServerEvent(const Events::ShutdownDebugServer& event) {
|
void DebugServer::onShutdownDebugServerEvent(const Events::ShutdownDebugServer& event) {
|
||||||
|
|||||||
@@ -107,7 +107,7 @@ namespace Bloom::DebugServers
|
|||||||
*/
|
*/
|
||||||
void setThreadStateAndEmitEvent(ThreadState state) {
|
void setThreadStateAndEmitEvent(ThreadState state) {
|
||||||
Thread::setThreadState(state);
|
Thread::setThreadState(state);
|
||||||
this->eventManager.triggerEvent(
|
EventManager::triggerEvent(
|
||||||
std::make_shared<Events::DebugServerThreadStateChanged>(state)
|
std::make_shared<Events::DebugServerThreadStateChanged>(state)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -383,7 +383,7 @@ namespace Bloom::DebugServers::Gdb
|
|||||||
|
|
||||||
this->clientConnection->accept(this->serverSocketFileDescriptor);
|
this->clientConnection->accept(this->serverSocketFileDescriptor);
|
||||||
Logger::info("Accepted GDP RSP connection from " + this->clientConnection->getIpAddress());
|
Logger::info("Accepted GDP RSP connection from " + this->clientConnection->getIpAddress());
|
||||||
this->eventManager.triggerEvent(std::make_shared<Events::DebugSessionStarted>());
|
EventManager::triggerEvent(std::make_shared<Events::DebugSessionStarted>());
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Before proceeding with a new debug session, we must ensure that the TargetController is able to
|
* Before proceeding with a new debug session, we must ensure that the TargetController is able to
|
||||||
|
|||||||
@@ -190,7 +190,7 @@ namespace Bloom::DebugServers::Gdb
|
|||||||
if (this->clientConnection.has_value()) {
|
if (this->clientConnection.has_value()) {
|
||||||
this->clientConnection->close();
|
this->clientConnection->close();
|
||||||
this->clientConnection = std::nullopt;
|
this->clientConnection = std::nullopt;
|
||||||
this->eventManager.triggerEvent(std::make_shared<Events::DebugSessionFinished>());
|
EventManager::triggerEvent(std::make_shared<Events::DebugSessionFinished>());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -9,19 +9,13 @@
|
|||||||
namespace Bloom
|
namespace Bloom
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* The EventManager class provides a method of dispatching events to a set of listeners.
|
* The static EventManager class provides a method of dispatching events to a set of listeners.
|
||||||
* A single instance of this class is created in Application class. That instance is then passed by references to
|
|
||||||
* all other components in Bloom, that require the ability to trigger events.
|
|
||||||
*
|
|
||||||
* @TODO: Should this be a static class? As in, all methods and variables declared static. We seem to be
|
|
||||||
* using it in that way. It would save us from having to pass around that single instance by reference.
|
|
||||||
* Something to consider.
|
|
||||||
*/
|
*/
|
||||||
class EventManager
|
class EventManager
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
/**
|
/**
|
||||||
* Registers an EventListener instance with this manager.
|
* Registers an EventListener instance with the manager.
|
||||||
*
|
*
|
||||||
* All EventListener instances must be registered with the EventManager before any events can
|
* All EventListener instances must be registered with the EventManager before any events can
|
||||||
* be dispatched to them.
|
* be dispatched to them.
|
||||||
@@ -30,7 +24,7 @@ namespace Bloom
|
|||||||
*
|
*
|
||||||
* @param listenerName
|
* @param listenerName
|
||||||
*/
|
*/
|
||||||
void registerListener(std::shared_ptr<EventListener> listener);
|
static void registerListener(std::shared_ptr<EventListener> listener);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Deregister an EventListener instance.
|
* Deregister an EventListener instance.
|
||||||
@@ -38,7 +32,7 @@ namespace Bloom
|
|||||||
* @param listenerId
|
* @param listenerId
|
||||||
* The ID of the EventListener to deregister. See EventListener::getId();
|
* The ID of the EventListener to deregister. See EventListener::getId();
|
||||||
*/
|
*/
|
||||||
void deregisterListener(size_t listenerId);
|
static void deregisterListener(size_t listenerId);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Dispatches an event to all registered listeners, if they have registered an interest in the event type.
|
* Dispatches an event to all registered listeners, if they have registered an interest in the event type.
|
||||||
@@ -46,7 +40,7 @@ namespace Bloom
|
|||||||
*
|
*
|
||||||
* @param event
|
* @param event
|
||||||
*/
|
*/
|
||||||
void triggerEvent(const Events::SharedGenericEventPointer& event);
|
static void triggerEvent(const Events::SharedGenericEventPointer& event);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Checks if any registered listener is listening for a particular event type.
|
* Checks if any registered listener is listening for a particular event type.
|
||||||
@@ -54,7 +48,7 @@ namespace Bloom
|
|||||||
* @param eventType
|
* @param eventType
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
bool isEventTypeListenedFor(Events::EventType eventType);
|
static bool isEventTypeListenedFor(Events::EventType eventType);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ namespace Bloom
|
|||||||
|
|
||||||
void InsightWorker::startup() {
|
void InsightWorker::startup() {
|
||||||
Logger::debug("Starting InsightWorker thread");
|
Logger::debug("Starting InsightWorker thread");
|
||||||
this->eventManager.registerListener(this->eventListener);
|
EventManager::registerListener(this->eventListener);
|
||||||
|
|
||||||
this->eventListener->registerCallbackForEventType<Events::TargetControllerStateReported>(
|
this->eventListener->registerCallbackForEventType<Events::TargetControllerStateReported>(
|
||||||
std::bind(&InsightWorker::onTargetControllerStateReportedEvent, this, std::placeholders::_1)
|
std::bind(&InsightWorker::onTargetControllerStateReportedEvent, this, std::placeholders::_1)
|
||||||
@@ -48,7 +48,7 @@ namespace Bloom
|
|||||||
|
|
||||||
QObject::connect(this, &InsightWorker::taskQueued, this, &InsightWorker::executeTasks);
|
QObject::connect(this, &InsightWorker::taskQueued, this, &InsightWorker::executeTasks);
|
||||||
|
|
||||||
this->eventManager.triggerEvent(
|
EventManager::triggerEvent(
|
||||||
std::make_shared<Events::InsightThreadStateChanged>(ThreadState::READY)
|
std::make_shared<Events::InsightThreadStateChanged>(ThreadState::READY)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|||||||
@@ -78,6 +78,6 @@ namespace Bloom
|
|||||||
}
|
}
|
||||||
|
|
||||||
Logger::info("Attempting clean shutdown");
|
Logger::info("Attempting clean shutdown");
|
||||||
this->eventManager.triggerEvent(std::make_shared<Events::ShutdownApplication>());
|
EventManager::triggerEvent(std::make_shared<Events::ShutdownApplication>());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -73,7 +73,7 @@ namespace Bloom
|
|||||||
Logger::info("Starting TargetController");
|
Logger::info("Starting TargetController");
|
||||||
this->setThreadState(ThreadState::STARTING);
|
this->setThreadState(ThreadState::STARTING);
|
||||||
this->blockAllSignalsOnCurrentThread();
|
this->blockAllSignalsOnCurrentThread();
|
||||||
this->eventManager.registerListener(this->eventListener);
|
EventManager::registerListener(this->eventListener);
|
||||||
|
|
||||||
// Install Bloom's udev rules if not already installed
|
// Install Bloom's udev rules if not already installed
|
||||||
TargetController::checkUdevRules();
|
TargetController::checkUdevRules();
|
||||||
@@ -132,7 +132,7 @@ namespace Bloom
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
Logger::info("Shutting down TargetController");
|
Logger::info("Shutting down TargetController");
|
||||||
this->eventManager.deregisterListener(this->eventListener->getId());
|
EventManager::deregisterListener(this->eventListener->getId());
|
||||||
this->releaseHardware();
|
this->releaseHardware();
|
||||||
|
|
||||||
} catch (const std::exception& exception) {
|
} catch (const std::exception& exception) {
|
||||||
@@ -184,9 +184,7 @@ namespace Bloom
|
|||||||
this->registerAddressRangeByMemoryType.clear();
|
this->registerAddressRangeByMemoryType.clear();
|
||||||
|
|
||||||
this->state = TargetControllerState::SUSPENDED;
|
this->state = TargetControllerState::SUSPENDED;
|
||||||
this->eventManager.triggerEvent(
|
EventManager::triggerEvent(std::make_shared<TargetControllerStateReported>(this->state));
|
||||||
std::make_shared<TargetControllerStateReported>(this->state)
|
|
||||||
);
|
|
||||||
|
|
||||||
Logger::debug("TargetController suspended");
|
Logger::debug("TargetController suspended");
|
||||||
}
|
}
|
||||||
@@ -260,7 +258,7 @@ namespace Bloom
|
|||||||
);
|
);
|
||||||
|
|
||||||
this->state = TargetControllerState::ACTIVE;
|
this->state = TargetControllerState::ACTIVE;
|
||||||
this->eventManager.triggerEvent(
|
EventManager::triggerEvent(
|
||||||
std::make_shared<TargetControllerStateReported>(this->state)
|
std::make_shared<TargetControllerStateReported>(this->state)
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -435,7 +433,7 @@ namespace Bloom
|
|||||||
|
|
||||||
if (newTargetState == TargetState::STOPPED) {
|
if (newTargetState == TargetState::STOPPED) {
|
||||||
Logger::debug("Target state changed - STOPPED");
|
Logger::debug("Target state changed - STOPPED");
|
||||||
this->eventManager.triggerEvent(std::make_shared<TargetExecutionStopped>(
|
EventManager::triggerEvent(std::make_shared<TargetExecutionStopped>(
|
||||||
this->target->getProgramCounter(),
|
this->target->getProgramCounter(),
|
||||||
TargetBreakCause::UNKNOWN
|
TargetBreakCause::UNKNOWN
|
||||||
));
|
));
|
||||||
@@ -443,7 +441,7 @@ namespace Bloom
|
|||||||
|
|
||||||
if (newTargetState == TargetState::RUNNING) {
|
if (newTargetState == TargetState::RUNNING) {
|
||||||
Logger::debug("Target state changed - RUNNING");
|
Logger::debug("Target state changed - RUNNING");
|
||||||
this->eventManager.triggerEvent(std::make_shared<TargetExecutionResumed>());
|
EventManager::triggerEvent(std::make_shared<TargetExecutionResumed>());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -452,7 +450,7 @@ namespace Bloom
|
|||||||
auto errorEvent = std::make_shared<Events::TargetControllerErrorOccurred>();
|
auto errorEvent = std::make_shared<Events::TargetControllerErrorOccurred>();
|
||||||
errorEvent->correlationId = correlationId;
|
errorEvent->correlationId = correlationId;
|
||||||
errorEvent->errorMessage = errorMessage;
|
errorEvent->errorMessage = errorMessage;
|
||||||
this->eventManager.triggerEvent(errorEvent);
|
EventManager::triggerEvent(errorEvent);
|
||||||
}
|
}
|
||||||
|
|
||||||
Targets::TargetDescriptor& TargetController::getTargetDescriptor() {
|
Targets::TargetDescriptor& TargetController::getTargetDescriptor() {
|
||||||
@@ -470,7 +468,7 @@ namespace Bloom
|
|||||||
void TargetController::onStateReportRequest(const Events::ReportTargetControllerState& event) {
|
void TargetController::onStateReportRequest(const Events::ReportTargetControllerState& event) {
|
||||||
auto stateEvent = std::make_shared<Events::TargetControllerStateReported>(this->state);
|
auto stateEvent = std::make_shared<Events::TargetControllerStateReported>(this->state);
|
||||||
stateEvent->correlationId = event.id;
|
stateEvent->correlationId = event.id;
|
||||||
this->eventManager.triggerEvent(stateEvent);
|
EventManager::triggerEvent(stateEvent);
|
||||||
}
|
}
|
||||||
|
|
||||||
void TargetController::onExtractTargetDescriptor(const Events::ExtractTargetDescriptor& event) {
|
void TargetController::onExtractTargetDescriptor(const Events::ExtractTargetDescriptor& event) {
|
||||||
@@ -478,7 +476,7 @@ namespace Bloom
|
|||||||
targetDescriptorExtracted->targetDescriptor = this->getTargetDescriptor();
|
targetDescriptorExtracted->targetDescriptor = this->getTargetDescriptor();
|
||||||
|
|
||||||
targetDescriptorExtracted->correlationId = event.id;
|
targetDescriptorExtracted->correlationId = event.id;
|
||||||
this->eventManager.triggerEvent(targetDescriptorExtracted);
|
EventManager::triggerEvent(targetDescriptorExtracted);
|
||||||
}
|
}
|
||||||
|
|
||||||
void TargetController::onDebugSessionStartedEvent(const Events::DebugSessionStarted&) {
|
void TargetController::onDebugSessionStartedEvent(const Events::DebugSessionStarted&) {
|
||||||
@@ -519,7 +517,7 @@ namespace Bloom
|
|||||||
);
|
);
|
||||||
|
|
||||||
executionStoppedEvent->correlationId = event.id;
|
executionStoppedEvent->correlationId = event.id;
|
||||||
this->eventManager.triggerEvent(executionStoppedEvent);
|
EventManager::triggerEvent(executionStoppedEvent);
|
||||||
}
|
}
|
||||||
|
|
||||||
void TargetController::onStepTargetExecutionEvent(const Events::StepTargetExecution& event) {
|
void TargetController::onStepTargetExecutionEvent(const Events::StepTargetExecution& event) {
|
||||||
@@ -538,7 +536,7 @@ namespace Bloom
|
|||||||
|
|
||||||
auto executionResumedEvent = std::make_shared<Events::TargetExecutionResumed>();
|
auto executionResumedEvent = std::make_shared<Events::TargetExecutionResumed>();
|
||||||
executionResumedEvent->correlationId = event.id;
|
executionResumedEvent->correlationId = event.id;
|
||||||
this->eventManager.triggerEvent(executionResumedEvent);
|
EventManager::triggerEvent(executionResumedEvent);
|
||||||
|
|
||||||
} catch (const TargetOperationFailure& exception) {
|
} catch (const TargetOperationFailure& exception) {
|
||||||
Logger::error("Failed to step execution on target - " + exception.getMessage());
|
Logger::error("Failed to step execution on target - " + exception.getMessage());
|
||||||
@@ -559,7 +557,7 @@ namespace Bloom
|
|||||||
|
|
||||||
auto executionResumedEvent = std::make_shared<Events::TargetExecutionResumed>();
|
auto executionResumedEvent = std::make_shared<Events::TargetExecutionResumed>();
|
||||||
executionResumedEvent->correlationId = event.id;
|
executionResumedEvent->correlationId = event.id;
|
||||||
this->eventManager.triggerEvent(executionResumedEvent);
|
EventManager::triggerEvent(executionResumedEvent);
|
||||||
|
|
||||||
} catch (const TargetOperationFailure& exception) {
|
} catch (const TargetOperationFailure& exception) {
|
||||||
Logger::error("Failed to resume execution on target - " + exception.getMessage());
|
Logger::error("Failed to resume execution on target - " + exception.getMessage());
|
||||||
@@ -575,7 +573,7 @@ namespace Bloom
|
|||||||
auto registersRetrievedEvent = std::make_shared<Events::RegistersRetrievedFromTarget>();
|
auto registersRetrievedEvent = std::make_shared<Events::RegistersRetrievedFromTarget>();
|
||||||
registersRetrievedEvent->correlationId = event.id;
|
registersRetrievedEvent->correlationId = event.id;
|
||||||
registersRetrievedEvent->registers = registers;
|
registersRetrievedEvent->registers = registers;
|
||||||
this->eventManager.triggerEvent(registersRetrievedEvent);
|
EventManager::triggerEvent(registersRetrievedEvent);
|
||||||
}
|
}
|
||||||
|
|
||||||
} catch (const TargetOperationFailure& exception) {
|
} catch (const TargetOperationFailure& exception) {
|
||||||
@@ -592,7 +590,7 @@ namespace Bloom
|
|||||||
registersWrittenEvent->correlationId = event.id;
|
registersWrittenEvent->correlationId = event.id;
|
||||||
registersWrittenEvent->registers = event.registers;
|
registersWrittenEvent->registers = event.registers;
|
||||||
|
|
||||||
this->eventManager.triggerEvent(registersWrittenEvent);
|
EventManager::triggerEvent(registersWrittenEvent);
|
||||||
|
|
||||||
} catch (const TargetOperationFailure& exception) {
|
} catch (const TargetOperationFailure& exception) {
|
||||||
Logger::error("Failed to write registers to target - " + exception.getMessage());
|
Logger::error("Failed to write registers to target - " + exception.getMessage());
|
||||||
@@ -611,7 +609,7 @@ namespace Bloom
|
|||||||
event.excludedAddressRanges
|
event.excludedAddressRanges
|
||||||
);
|
);
|
||||||
|
|
||||||
this->eventManager.triggerEvent(memoryReadEvent);
|
EventManager::triggerEvent(memoryReadEvent);
|
||||||
|
|
||||||
} catch (const TargetOperationFailure& exception) {
|
} catch (const TargetOperationFailure& exception) {
|
||||||
Logger::error("Failed to read memory from target - " + exception.getMessage());
|
Logger::error("Failed to read memory from target - " + exception.getMessage());
|
||||||
@@ -629,9 +627,9 @@ namespace Bloom
|
|||||||
|
|
||||||
auto memoryWrittenEvent = std::make_shared<Events::MemoryWrittenToTarget>();
|
auto memoryWrittenEvent = std::make_shared<Events::MemoryWrittenToTarget>();
|
||||||
memoryWrittenEvent->correlationId = event.id;
|
memoryWrittenEvent->correlationId = event.id;
|
||||||
this->eventManager.triggerEvent(memoryWrittenEvent);
|
EventManager::triggerEvent(memoryWrittenEvent);
|
||||||
|
|
||||||
if (this->eventManager.isEventTypeListenedFor(Events::RegistersWrittenToTarget::type)
|
if (EventManager::isEventTypeListenedFor(Events::RegistersWrittenToTarget::type)
|
||||||
&& this->registerDescriptorsByMemoryType.contains(event.memoryType)
|
&& this->registerDescriptorsByMemoryType.contains(event.memoryType)
|
||||||
) {
|
) {
|
||||||
/*
|
/*
|
||||||
@@ -665,7 +663,7 @@ namespace Bloom
|
|||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
this->eventManager.triggerEvent(registersWrittenEvent);
|
EventManager::triggerEvent(registersWrittenEvent);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -681,7 +679,7 @@ namespace Bloom
|
|||||||
auto breakpointSetEvent = std::make_shared<Events::BreakpointSetOnTarget>();
|
auto breakpointSetEvent = std::make_shared<Events::BreakpointSetOnTarget>();
|
||||||
breakpointSetEvent->correlationId = event.id;
|
breakpointSetEvent->correlationId = event.id;
|
||||||
|
|
||||||
this->eventManager.triggerEvent(breakpointSetEvent);
|
EventManager::triggerEvent(breakpointSetEvent);
|
||||||
|
|
||||||
} catch (const TargetOperationFailure& exception) {
|
} catch (const TargetOperationFailure& exception) {
|
||||||
Logger::error("Failed to set breakpoint on target - " + exception.getMessage());
|
Logger::error("Failed to set breakpoint on target - " + exception.getMessage());
|
||||||
@@ -695,7 +693,7 @@ namespace Bloom
|
|||||||
auto breakpointRemovedEvent = std::make_shared<Events::BreakpointRemovedOnTarget>();
|
auto breakpointRemovedEvent = std::make_shared<Events::BreakpointRemovedOnTarget>();
|
||||||
breakpointRemovedEvent->correlationId = event.id;
|
breakpointRemovedEvent->correlationId = event.id;
|
||||||
|
|
||||||
this->eventManager.triggerEvent(breakpointRemovedEvent);
|
EventManager::triggerEvent(breakpointRemovedEvent);
|
||||||
|
|
||||||
} catch (const TargetOperationFailure& exception) {
|
} catch (const TargetOperationFailure& exception) {
|
||||||
Logger::error("Failed to remove breakpoint on target - " + exception.getMessage());
|
Logger::error("Failed to remove breakpoint on target - " + exception.getMessage());
|
||||||
@@ -715,7 +713,7 @@ namespace Bloom
|
|||||||
auto programCounterSetEvent = std::make_shared<Events::ProgramCounterSetOnTarget>();
|
auto programCounterSetEvent = std::make_shared<Events::ProgramCounterSetOnTarget>();
|
||||||
programCounterSetEvent->correlationId = event.id;
|
programCounterSetEvent->correlationId = event.id;
|
||||||
|
|
||||||
this->eventManager.triggerEvent(programCounterSetEvent);
|
EventManager::triggerEvent(programCounterSetEvent);
|
||||||
|
|
||||||
} catch (const TargetOperationFailure& exception) {
|
} catch (const TargetOperationFailure& exception) {
|
||||||
Logger::error("Failed to set program counter on target - " + exception.getMessage());
|
Logger::error("Failed to set program counter on target - " + exception.getMessage());
|
||||||
@@ -749,7 +747,7 @@ namespace Bloom
|
|||||||
pinStatesRetrieved->variantId = event.variantId;
|
pinStatesRetrieved->variantId = event.variantId;
|
||||||
pinStatesRetrieved->pinSatesByNumber = this->target->getPinStates(event.variantId);
|
pinStatesRetrieved->pinSatesByNumber = this->target->getPinStates(event.variantId);
|
||||||
|
|
||||||
this->eventManager.triggerEvent(pinStatesRetrieved);
|
EventManager::triggerEvent(pinStatesRetrieved);
|
||||||
|
|
||||||
} catch (const TargetOperationFailure& exception) {
|
} catch (const TargetOperationFailure& exception) {
|
||||||
Logger::error("Failed to retrieve target pin states - " + exception.getMessage());
|
Logger::error("Failed to retrieve target pin states - " + exception.getMessage());
|
||||||
@@ -774,7 +772,7 @@ namespace Bloom
|
|||||||
{event.pinDescriptor.number, event.pinState}
|
{event.pinDescriptor.number, event.pinState}
|
||||||
};
|
};
|
||||||
|
|
||||||
this->eventManager.triggerEvent(pinStatesUpdateEvent);
|
EventManager::triggerEvent(pinStatesUpdateEvent);
|
||||||
|
|
||||||
} catch (const TargetOperationFailure& exception) {
|
} catch (const TargetOperationFailure& exception) {
|
||||||
Logger::error("Failed to set target pin state for pin " + event.pinDescriptor.name + " - "
|
Logger::error("Failed to set target pin state for pin " + event.pinDescriptor.name + " - "
|
||||||
@@ -795,7 +793,7 @@ namespace Bloom
|
|||||||
stackPointerRetrieved->correlationId = event.id;
|
stackPointerRetrieved->correlationId = event.id;
|
||||||
stackPointerRetrieved->stackPointer = this->target->getStackPointer();
|
stackPointerRetrieved->stackPointer = this->target->getStackPointer();
|
||||||
|
|
||||||
this->eventManager.triggerEvent(stackPointerRetrieved);
|
EventManager::triggerEvent(stackPointerRetrieved);
|
||||||
|
|
||||||
} catch (const TargetOperationFailure& exception) {
|
} catch (const TargetOperationFailure& exception) {
|
||||||
Logger::error("Failed to retrieve stack pointer value from target - " + exception.getMessage());
|
Logger::error("Failed to retrieve stack pointer value from target - " + exception.getMessage());
|
||||||
|
|||||||
@@ -207,7 +207,7 @@ namespace Bloom
|
|||||||
*/
|
*/
|
||||||
void setThreadStateAndEmitEvent(ThreadState state) {
|
void setThreadStateAndEmitEvent(ThreadState state) {
|
||||||
this->setThreadState(state);
|
this->setThreadState(state);
|
||||||
this->eventManager.triggerEvent(
|
EventManager::triggerEvent(
|
||||||
std::make_shared<Events::TargetControllerThreadStateChanged>(state)
|
std::make_shared<Events::TargetControllerThreadStateChanged>(state)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -117,7 +117,7 @@ namespace Bloom
|
|||||||
auto requestEvent = std::make_shared<RetrieveTargetPinStates>();
|
auto requestEvent = std::make_shared<RetrieveTargetPinStates>();
|
||||||
requestEvent->variantId = variantId;
|
requestEvent->variantId = variantId;
|
||||||
|
|
||||||
this->eventManager.triggerEvent(requestEvent);
|
EventManager::triggerEvent(requestEvent);
|
||||||
}
|
}
|
||||||
|
|
||||||
Targets::TargetPinStateMappingType TargetControllerConsole::getPinStates(int variantId) {
|
Targets::TargetPinStateMappingType TargetControllerConsole::getPinStates(int variantId) {
|
||||||
|
|||||||
@@ -207,7 +207,7 @@ namespace Bloom
|
|||||||
deRegisterEventType = true;
|
deRegisterEventType = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
this->eventManager.triggerEvent(event);
|
EventManager::triggerEvent(event);
|
||||||
|
|
||||||
auto responseEvent = this->eventListener.waitForEvent<
|
auto responseEvent = this->eventListener.waitForEvent<
|
||||||
ResponseEventType,
|
ResponseEventType,
|
||||||
|
|||||||
Reference in New Issue
Block a user