wip
This commit is contained in:
1 parent
0856548414
commit
5c297f5877
2 files changed
+39
-7
No files matched your search
@@ -39,7 +39,10 @@ Event& EventBus::registerEvent(const string& eventID) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void EventBus::run() {
|
void EventBus::run() {
|
||||||
_logger.warn.ln("Hi from EventBus run method, from within Event Thread!");
|
while (true) {
|
||||||
|
std::this_thread::sleep_for(std::chrono::seconds(5));
|
||||||
|
_logger.warn.ln("EventBus: Looping...");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// =============================== Event Class ================================
|
// =============================== Event Class ================================
|
||||||
|
|||||||
+35
-6
@@ -5,12 +5,20 @@
|
|||||||
#include <vector>
|
#include <vector>
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <exception>
|
#include <exception>
|
||||||
|
#include <csignal>
|
||||||
|
|
||||||
using namespace Plains;
|
using namespace Plains;
|
||||||
using namespace Core;
|
using namespace Core;
|
||||||
using std::vector;
|
using std::vector;
|
||||||
using std::string;
|
using std::string;
|
||||||
|
|
||||||
|
void signalHandler( int );
|
||||||
|
|
||||||
|
Logger* globalLogger;
|
||||||
|
ConfigManager* globalConfigManager;
|
||||||
|
EventBus* globalEventBus;
|
||||||
|
UI::Server* globalUIServer;
|
||||||
|
Resolver::Server* globalResolver;
|
||||||
|
|
||||||
int main(int args, char **argv) {
|
int main(int args, char **argv) {
|
||||||
Logger logger(Logger::DEBUG);
|
Logger logger(Logger::DEBUG);
|
||||||
@@ -22,13 +30,23 @@ int main(int args, char **argv) {
|
|||||||
arguments.push_back (argv[index]);
|
arguments.push_back (argv[index]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Handle signals
|
||||||
|
signal(SIGINT, signalHandler);
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
ConfigManager cfg(logger, arguments);
|
ConfigManager configManager(logger, arguments);
|
||||||
EventBus eventBus(logger);
|
EventBus eventBus(logger);
|
||||||
UI::Server uiServer(logger, eventBus);
|
UI::Server uIServer(logger, eventBus);
|
||||||
Resolver::Server resolver(logger, eventBus);
|
Resolver::Server resolver(logger, eventBus);
|
||||||
|
|
||||||
|
// Pass objects to global scope for signal handler
|
||||||
|
globalLogger = &logger;
|
||||||
|
globalConfigManager = &configManager;
|
||||||
|
globalEventBus = &eventBus;
|
||||||
|
globalUIServer = &uIServer;
|
||||||
|
globalResolver = &resolver;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
// Some test code below:
|
// Some test code below:
|
||||||
class Testi : public EventSubscriber {
|
class Testi : public EventSubscriber {
|
||||||
@@ -56,10 +74,6 @@ int main(int args, char **argv) {
|
|||||||
|
|
||||||
eventBus.run();
|
eventBus.run();
|
||||||
logger.info.ln ("PLAINS successfully started.");
|
logger.info.ln ("PLAINS successfully started.");
|
||||||
// Run something on main thread...
|
|
||||||
//std::this_thread::sleep_for(std::chrono::seconds(15));
|
|
||||||
//std::cin.get();
|
|
||||||
logger.info.ln ("Shutting down PLAINS. Good Bye!");
|
|
||||||
}
|
}
|
||||||
catch (Exception& e) {
|
catch (Exception& e) {
|
||||||
logger.fatal << "Uncaught Exception: " << e.what() << Logger::commit;
|
logger.fatal << "Uncaught Exception: " << e.what() << Logger::commit;
|
||||||
@@ -76,3 +90,18 @@ int main(int args, char **argv) {
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void signalHandler( int signalNumber ) {
|
||||||
|
switch(signalNumber) {
|
||||||
|
case SIGINT:
|
||||||
|
globalLogger->warn << "Shutting down Plains..." << Logger::commit;
|
||||||
|
globalResolver->~Server();
|
||||||
|
globalUIServer->~Server();
|
||||||
|
globalEventBus->~EventBus();
|
||||||
|
globalConfigManager->~ConfigManager();
|
||||||
|
globalLogger->info.ln ("PLAINS shut down.");
|
||||||
|
globalLogger->~Logger();
|
||||||
|
exit(0);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Reference in new issue
Block a user