From f45201aa452c293e8dae0feff45b094faf6788c6 Mon Sep 17 00:00:00 2001 From: Suraxius Date: Fri, 29 Jan 2021 21:23:45 +0100 Subject: [PATCH] wip --- src/core/EventBus.cpp | 13 ++++++++++++- src/core/include/EventBus.hpp | 7 +++++++ src/core/main.cpp | 4 ++++ 3 files changed, 23 insertions(+), 1 deletion(-) diff --git a/src/core/EventBus.cpp b/src/core/EventBus.cpp index d911275..83f29d3 100644 --- a/src/core/EventBus.cpp +++ b/src/core/EventBus.cpp @@ -4,11 +4,22 @@ namespace Plains { namespace Core { -EventBus::EventBus(Logger& logger) : logger_(logger) {}; +EventBus::EventBus(Logger& logger) : logger_(logger), thread_(&EventBus::run, this) { + logger_.debug.ln("Hi from EventBus Constructor. Not Theaded"); +} + +EventBus::~EventBus() { + thread_.join(); +} void EventBus::test() { logger_.debug << "Testing from within EventBus!" << Logger::commit; } +void EventBus::run() { + logger_.debug.ln("Hi from EventBus run method! From within Event Thread!"); +} + + }} diff --git a/src/core/include/EventBus.hpp b/src/core/include/EventBus.hpp index 5f1bcff..9d5b075 100644 --- a/src/core/include/EventBus.hpp +++ b/src/core/include/EventBus.hpp @@ -1,18 +1,25 @@ #ifndef EVENT_BUS_HPP #define EVENT_BUS_HPP #include "Logger.hpp" +#include namespace Plains { namespace Core { +using std::thread; + class EventBus { private: Logger& logger_; + //thread* thread_; + thread thread_; public: EventBus(Logger& logger); + ~EventBus(); void test(); + void run(); }; }} diff --git a/src/core/main.cpp b/src/core/main.cpp index 5279746..fc57315 100644 --- a/src/core/main.cpp +++ b/src/core/main.cpp @@ -28,6 +28,10 @@ int main(int args, char **argv) { logger.debug.ln ("Running DNS resolver..."); resolver.run(); logger.info.ln ("PlaiNS successfully started."); + // Run something on main thread... + logger.info.ln ("Done - shutting down. Bye!"); + + } catch (std::exception& e) {