Files
plains/src/core/main.cpp
T
2021-03-26 22:35:27 +01:00

67 lines
1.7 KiB
C++

#include "Resolver.hpp"
#include "Core.hpp"
#include "DNS.hpp"
#include <vector>
#include <string>
using namespace Plains;
using namespace Core;
using std::vector;
using std::string;
int main(int args, char **argv) {
Logger logger(Logger::DEBUG);
logger.info.ln ("Starting PlaiNS...");
try
{
vector<string> arguments;
for ( unsigned index = 0; index < args; ++index ) {
arguments.push_back (argv[index]);
}
ConfigManager cfg(logger, arguments);
EventBus eventBus(logger);
Resolver::Server resolver(logger, eventBus);
// Some test code below:
class Testi : public EventSubscriber {
public:
Testi(Logger& logger, string message) : _logger(logger), _msg(message) {}
void callback() { _logger.debug.ln(_msg); }
private:
Logger& _logger;
string _msg;
};
Testi testi1(logger, "Testi1 Event Callback for event");
Event& e1 = eventBus.registerEvent("Test Event");
e1.subscribe(&testi1);
Testi testi2(logger, "Testi2 Event Callback for event");
Event& e2 = eventBus.registerEvent("Test Event");
e2.subscribe(&testi2);
e1.fire();
//Record testrec = ARecord();
//logger.debug.ln ("Running DNS resolver...");
// End of Testcode
//resolver.run();
logger.info.ln ("PlaiNS successfully started.");
// Run something on main thread...
logger.info.ln ("Shutting down PlaiNS. Good Bye!");
}
catch (std::exception& e)
{
logger.debug << "Exception: " << e.what() << Logger::commit;
}
return 0;
}