Once again, this should have been included in a previous commit, RE renaming compnent state changed events

This commit is contained in:
Nav
2021-05-29 21:39:00 +01:00
parent 77bcf07d6c
commit 1e741d18d7
10 changed files with 36 additions and 37 deletions

View File

@@ -54,7 +54,7 @@ int Application::run(const std::vector<std::string>& arguments) {
} }
// Main event loop // Main event loop
while (Thread::getState() == ThreadState::READY) { while (Thread::getThreadState() == ThreadState::READY) {
this->applicationEventListener->waitAndDispatch(); this->applicationEventListener->waitAndDispatch();
} }
@@ -116,7 +116,7 @@ void Application::startup() {
this->startTargetController(); this->startTargetController();
this->startDebugServer(); this->startDebugServer();
Thread::setState(ThreadState::READY); Thread::setThreadState(ThreadState::READY);
} }
ApplicationConfig Application::extractConfig() { ApplicationConfig Application::extractConfig() {
@@ -208,18 +208,18 @@ int Application::initProject() {
} }
void Application::shutdown() { void Application::shutdown() {
auto appState = Thread::getState(); auto appState = Thread::getThreadState();
if (appState == ThreadState::STOPPED || appState == ThreadState::SHUTDOWN_INITIATED) { if (appState == ThreadState::STOPPED || appState == ThreadState::SHUTDOWN_INITIATED) {
return; return;
} }
Thread::setState(ThreadState::SHUTDOWN_INITIATED); Thread::setThreadState(ThreadState::SHUTDOWN_INITIATED);
Logger::info("Shutting down Bloom"); Logger::info("Shutting down Bloom");
this->stopDebugServer(); this->stopDebugServer();
this->stopTargetController(); this->stopTargetController();
if (this->signalHandler.getState() == ThreadState::READY) { if (this->signalHandler.getThreadState() != ThreadState::STOPPED) {
// Signal handler is still running // Signal handler is still running
this->signalHandler.triggerShutdown(); this->signalHandler.triggerShutdown();
@@ -233,7 +233,7 @@ void Application::shutdown() {
Logger::debug("SignalHandler thread joined"); Logger::debug("SignalHandler thread joined");
} }
Thread::setState(ThreadState::STOPPED); Thread::setThreadState(ThreadState::STOPPED);
} }
void Application::startTargetController() { void Application::startTargetController() {
@@ -253,7 +253,7 @@ void Application::startTargetController() {
} }
void Application::stopTargetController() { void Application::stopTargetController() {
auto targetControllerState = this->targetController.getState(); 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>()); this->eventManager.triggerEvent(std::make_shared<Events::ShutdownTargetController>());
this->applicationEventListener->waitForEvent<Events::TargetControllerThreadStateChanged>( this->applicationEventListener->waitForEvent<Events::TargetControllerThreadStateChanged>(
@@ -299,7 +299,7 @@ void Application::stopDebugServer() {
return; return;
} }
auto debugServerState = this->debugServer->getState(); 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>()); this->eventManager.triggerEvent(std::make_shared<Events::ShutdownDebugServer>());
this->applicationEventListener->waitForEvent<Events::DebugServerThreadStateChanged>( this->applicationEventListener->waitForEvent<Events::DebugServerThreadStateChanged>(

View File

@@ -14,7 +14,7 @@ void DebugServer::run() {
Logger::info("DebugServer ready"); Logger::info("DebugServer ready");
while (this->getState() == ThreadState::READY) { while (this->getThreadState() == ThreadState::READY) {
this->serve(); this->serve();
this->eventListener->dispatchCurrentEvents(); this->eventListener->dispatchCurrentEvents();
} }
@@ -41,19 +41,19 @@ void DebugServer::startup() {
); );
this->init(); this->init();
this->setStateAndEmitEvent(ThreadState::READY); this->setThreadStateAndEmitEvent(ThreadState::READY);
} }
void DebugServer::shutdown() { void DebugServer::shutdown() {
if (this->getState() == ThreadState::STOPPED || this->getState() == ThreadState::SHUTDOWN_INITIATED) { if (this->getThreadState() == ThreadState::STOPPED || this->getThreadState() == ThreadState::SHUTDOWN_INITIATED) {
return; return;
} }
this->setState(ThreadState::SHUTDOWN_INITIATED); this->setThreadState(ThreadState::SHUTDOWN_INITIATED);
Logger::info("Shutting down DebugServer"); Logger::info("Shutting down DebugServer");
this->close(); this->close();
this->interruptEventNotifier->close(); this->interruptEventNotifier->close();
this->setStateAndEmitEvent(ThreadState::STOPPED); this->setThreadStateAndEmitEvent(ThreadState::STOPPED);
} }
void DebugServer::onShutdownDebugServerEvent(EventPointer<Events::ShutdownDebugServer> event) { void DebugServer::onShutdownDebugServerEvent(EventPointer<Events::ShutdownDebugServer> event) {

View File

@@ -47,12 +47,12 @@ namespace Bloom::DebugServers
* @param state * @param state
* @param emitEvent * @param emitEvent
*/ */
void setStateAndEmitEvent(ThreadState state) { void setThreadStateAndEmitEvent(ThreadState state) {
Thread::setState(state); Thread::setThreadState(state);
this->eventManager.triggerEvent( this->eventManager.triggerEvent(
std::make_shared<Events::DebugServerThreadStateChanged>(state) std::make_shared<Events::DebugServerThreadStateChanged>(state)
); );
}; }
/** /**
* Handles a shutdown request. * Handles a shutdown request.

View File

@@ -22,7 +22,7 @@ namespace Bloom
SyncSafe<ThreadState> state = SyncSafe<ThreadState>(ThreadState::UNINITIALISED); SyncSafe<ThreadState> state = SyncSafe<ThreadState>(ThreadState::UNINITIALISED);
protected: protected:
virtual void setState(ThreadState state) { virtual void setThreadState(ThreadState state) {
this->state.setValue(state); this->state.setValue(state);
}; };
@@ -43,7 +43,7 @@ namespace Bloom
} }
public: public:
virtual ThreadState getState() { virtual ThreadState getThreadState() {
return this->state.getValue(); return this->state.getValue();
}; };
}; };

View File

@@ -1,4 +1,3 @@
#include <thread>
#include <typeindex> #include <typeindex>
#include <QTimer> #include <QTimer>
@@ -18,7 +17,7 @@ void Insight::run() {
this->startup(); this->startup();
this->workerThread->start(); this->workerThread->start();
this->setState(ThreadState::READY); this->setThreadState(ThreadState::READY);
Logger::info("Insight ready"); Logger::info("Insight ready");
this->application->exec(); this->application->exec();
@@ -36,7 +35,7 @@ void Insight::run() {
void Insight::startup() { void Insight::startup() {
Logger::info("Starting Insight"); Logger::info("Starting Insight");
this->setState(ThreadState::STARTING); this->setThreadState(ThreadState::STARTING);
this->eventManager.registerListener(this->eventListener); this->eventManager.registerListener(this->eventListener);
this->eventListener->registerCallbackForEventType<ShutdownApplication>( this->eventListener->registerCallbackForEventType<ShutdownApplication>(
@@ -97,7 +96,7 @@ void Insight::startup() {
} }
void Insight::shutdown() { void Insight::shutdown() {
if (this->getState() == ThreadState::STOPPED) { if (this->getThreadState() == ThreadState::STOPPED) {
return; return;
} }
@@ -112,7 +111,7 @@ void Insight::shutdown() {
this->application->exit(0); this->application->exit(0);
} }
this->setState(ThreadState::STOPPED); this->setThreadState(ThreadState::STOPPED);
} }
void Insight::onShutdownApplicationEvent(EventPointer<ShutdownApplication>) { void Insight::onShutdownApplicationEvent(EventPointer<ShutdownApplication>) {

View File

@@ -40,7 +40,7 @@ void InsightWorker::startup() {
this->eventDispatchTimer->start(5); this->eventDispatchTimer->start(5);
this->eventManager.triggerEvent( this->eventManager.triggerEvent(
std::make_shared<Events::InsightStateChanged>(ThreadState::READY) std::make_shared<Events::InsightThreadStateChanged>(ThreadState::READY)
); );
} }

View File

@@ -14,7 +14,7 @@ void SignalHandler::run() {
int signalNumber = 0; int signalNumber = 0;
Logger::debug("SignalHandler ready"); Logger::debug("SignalHandler ready");
while(Thread::getState() == ThreadState::READY) { while(Thread::getThreadState() == ThreadState::READY) {
if (sigwait(&signalSet, &signalNumber) == 0) { if (sigwait(&signalSet, &signalNumber) == 0) {
Logger::debug("SIGNAL " + std::to_string(signalNumber) + " received"); Logger::debug("SIGNAL " + std::to_string(signalNumber) + " received");
if (this->handlersMappedBySignalNum.contains(signalNumber)) { if (this->handlersMappedBySignalNum.contains(signalNumber)) {
@@ -29,7 +29,7 @@ void SignalHandler::run() {
} }
Logger::debug("SignalHandler shutting down"); Logger::debug("SignalHandler shutting down");
Thread::setState(ThreadState::STOPPED); Thread::setThreadState(ThreadState::STOPPED);
} }
void SignalHandler::startup() { void SignalHandler::startup() {

View File

@@ -50,7 +50,7 @@ namespace Bloom
* Triggers the shutdown of the SignalHandler thread. * Triggers the shutdown of the SignalHandler thread.
*/ */
void triggerShutdown() { void triggerShutdown() {
this->setState(ThreadState::SHUTDOWN_INITIATED); this->setThreadState(ThreadState::SHUTDOWN_INITIATED);
}; };
/** /**

View File

@@ -16,7 +16,7 @@ void TargetController::run() {
try { try {
this->startup(); this->startup();
this->setStateAndEmitEvent(ThreadState::READY); this->setThreadStateAndEmitEvent(ThreadState::READY);
Logger::debug("TargetController ready and waiting for events."); Logger::debug("TargetController ready and waiting for events.");
while (this->getState() == ThreadState::READY) { while (this->getState() == ThreadState::READY) {
@@ -43,7 +43,7 @@ void TargetController::run() {
void TargetController::startup() { void TargetController::startup() {
this->setName("TC"); this->setName("TC");
Logger::info("Starting TargetController"); Logger::info("Starting TargetController");
this->setState(ThreadState::STARTING); this->setThreadState(ThreadState::STARTING);
this->blockAllSignalsOnCurrentThread(); this->blockAllSignalsOnCurrentThread();
this->eventManager.registerListener(this->eventListener); this->eventManager.registerListener(this->eventListener);
@@ -477,7 +477,7 @@ void TargetController::onSetProgramCounterEvent(EventPointer<Events::SetProgramC
} }
// TODO: remove this // TODO: remove this
void TargetController::onInsightStateChangedEvent(EventPointer<Events::InsightStateChanged> event) { void TargetController::onInsightStateChangedEvent(EventPointer<Events::InsightThreadStateChanged> event) {
if (event->getState() == ThreadState::READY) { if (event->getState() == ThreadState::READY) {
/* /*
* Insight has just started up. * Insight has just started up.

View File

@@ -160,12 +160,12 @@ namespace Bloom
* @param state * @param state
* @param emitEvent * @param emitEvent
*/ */
void setStateAndEmitEvent(ThreadState state) { void setThreadStateAndEmitEvent(ThreadState state) {
this->setState(state); this->setThreadState(state);
this->eventManager.triggerEvent( this->eventManager.triggerEvent(
std::make_shared<Events::TargetControllerStateChanged>(state) std::make_shared<Events::TargetControllerThreadStateChanged>(state)
); );
}; }
/** /**
* Installs Bloom's udev rules on user's machine. Rules are copied from build/Distribution/Resources/UdevRules * Installs Bloom's udev rules on user's machine. Rules are copied from build/Distribution/Resources/UdevRules