These changes should have been in a previous commit, for tidying the SyncSafe class

This commit is contained in:
Nav
2022-04-15 14:32:26 +01:00
parent a9d9d934f6
commit bc47b1546f
2 changed files with 8 additions and 8 deletions

View File

@@ -8,14 +8,14 @@ namespace Bloom
std::set<Events::EventType> EventListener::getRegisteredEventTypes() { std::set<Events::EventType> EventListener::getRegisteredEventTypes() {
auto lock = this->registeredEventTypes.acquireLock(); auto lock = this->registeredEventTypes.acquireLock();
return this->registeredEventTypes.getReference(); return this->registeredEventTypes.getValue();
} }
void EventListener::registerEvent(SharedGenericEventPointer event) { void EventListener::registerEvent(SharedGenericEventPointer event) {
Logger::debug("Event \"" + event->getName() + "\" (" + std::to_string(event->id) Logger::debug("Event \"" + event->getName() + "\" (" + std::to_string(event->id)
+ ") registered for listener " + this->name); + ") registered for listener " + this->name);
auto queueLock = this->eventQueueByEventType.acquireLock(); auto queueLock = this->eventQueueByEventType.acquireLock();
auto& eventQueueByType = this->eventQueueByEventType.getReference(); auto& eventQueueByType = this->eventQueueByEventType.getValue();
eventQueueByType[event->getType()].push(std::move(event)); eventQueueByType[event->getType()].push(std::move(event));
this->eventQueueByEventTypeCV.notify_all(); this->eventQueueByEventTypeCV.notify_all();
@@ -27,7 +27,7 @@ namespace Bloom
void EventListener::waitAndDispatch(int msTimeout) { void EventListener::waitAndDispatch(int msTimeout) {
auto queueLock = this->eventQueueByEventType.acquireLock(); auto queueLock = this->eventQueueByEventType.acquireLock();
auto& eventQueueByType = this->eventQueueByEventType.getReference(); auto& eventQueueByType = this->eventQueueByEventType.getValue();
auto registeredEventTypes = this->getRegisteredEventTypes(); auto registeredEventTypes = this->getRegisteredEventTypes();
std::optional<SharedGenericEventPointer> event; std::optional<SharedGenericEventPointer> event;
@@ -61,7 +61,7 @@ namespace Bloom
// Dispatch the event to all registered handlers // Dispatch the event to all registered handlers
auto mappingLock = this->eventTypeToCallbacksMapping.acquireLock(); auto mappingLock = this->eventTypeToCallbacksMapping.acquireLock();
auto& callbacks = this->eventTypeToCallbacksMapping.getReference().find(event->getType())->second; auto& callbacks = this->eventTypeToCallbacksMapping.getValue().find(event->getType())->second;
mappingLock.unlock(); mappingLock.unlock();
for (auto& callback : callbacks) { for (auto& callback : callbacks) {
@@ -79,7 +79,7 @@ namespace Bloom
std::vector<SharedGenericEventPointer> EventListener::getEvents() { std::vector<SharedGenericEventPointer> EventListener::getEvents() {
auto queueLock = this->eventQueueByEventType.acquireLock(); auto queueLock = this->eventQueueByEventType.acquireLock();
auto& eventQueueByType = this->eventQueueByEventType.getReference(); auto& eventQueueByType = this->eventQueueByEventType.getValue();
std::vector<SharedGenericEventPointer> output; std::vector<SharedGenericEventPointer> output;
for (auto& eventQueue: eventQueueByType) { for (auto& eventQueue: eventQueueByType) {
@@ -102,6 +102,6 @@ namespace Bloom
void EventListener::clearAllCallbacks() { void EventListener::clearAllCallbacks() {
auto lock = this->eventTypeToCallbacksMapping.acquireLock(); auto lock = this->eventTypeToCallbacksMapping.acquireLock();
this->eventTypeToCallbacksMapping.getReference().clear(); this->eventTypeToCallbacksMapping.getValue().clear();
} }
} }

View File

@@ -16,7 +16,7 @@ namespace Bloom
auto taskQueueLock = this->queuedTasks.acquireLock(); auto taskQueueLock = this->queuedTasks.acquireLock();
task->moveToThread(this->thread()); task->moveToThread(this->thread());
task->setParent(this); task->setParent(this);
this->queuedTasks.getReference().push(task); this->queuedTasks.getValue().push(task);
emit this->taskQueued(); emit this->taskQueued();
} }
@@ -60,7 +60,7 @@ namespace Bloom
std::optional<InsightWorkerTask*> InsightWorker::getQueuedTask() { std::optional<InsightWorkerTask*> InsightWorker::getQueuedTask() {
auto task = std::optional<InsightWorkerTask*>(); auto task = std::optional<InsightWorkerTask*>();
auto& queuedTasks = this->queuedTasks.getReference(); auto& queuedTasks = this->queuedTasks.getValue();
auto taskQueueLock = this->queuedTasks.acquireLock(); auto taskQueueLock = this->queuedTasks.acquireLock();
if (!queuedTasks.empty()) { if (!queuedTasks.empty()) {