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() {
|
||||
_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 ================================
|
||||
|
||||
+35
-6
@@ -5,12 +5,20 @@
|
||||
#include <vector>
|
||||
#include <string>
|
||||
#include <exception>
|
||||
#include <csignal>
|
||||
|
||||
using namespace Plains;
|
||||
using namespace Core;
|
||||
using std::vector;
|
||||
using std::string;
|
||||
|
||||
void signalHandler( int );
|
||||
|
||||
Logger* globalLogger;
|
||||
ConfigManager* globalConfigManager;
|
||||
EventBus* globalEventBus;
|
||||
UI::Server* globalUIServer;
|
||||
Resolver::Server* globalResolver;
|
||||
|
||||
int main(int args, char **argv) {
|
||||
Logger logger(Logger::DEBUG);
|
||||
@@ -22,13 +30,23 @@ int main(int args, char **argv) {
|
||||
arguments.push_back (argv[index]);
|
||||
}
|
||||
|
||||
// Handle signals
|
||||
signal(SIGINT, signalHandler);
|
||||
|
||||
try
|
||||
{
|
||||
ConfigManager cfg(logger, arguments);
|
||||
ConfigManager configManager(logger, arguments);
|
||||
EventBus eventBus(logger);
|
||||
UI::Server uiServer(logger, eventBus);
|
||||
UI::Server uIServer(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:
|
||||
class Testi : public EventSubscriber {
|
||||
@@ -56,10 +74,6 @@ int main(int args, char **argv) {
|
||||
|
||||
eventBus.run();
|
||||
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) {
|
||||
logger.fatal << "Uncaught Exception: " << e.what() << Logger::commit;
|
||||
@@ -76,3 +90,18 @@ int main(int args, char **argv) {
|
||||
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