#include "KartenServer.h" #include #include #include #include #include int main() { struct rlimit core_limits; core_limits.rlim_cur = core_limits.rlim_max = RLIM_INFINITY; setrlimit(RLIMIT_CORE, &core_limits); Framework::initFramework(); Zeit* z = getZeit(); Text* pfad = new Text("../log/karten/"); pfad->append(z->getZeit("y-m-d h-i-s.log")); z->release(); DateiPfadErstellen(pfad->getText()); std::ofstream file; file.open(pfad->getText()); std::streambuf* sbuf = std::cout.rdbuf(); std::cout.rdbuf(file.rdbuf()); pfad->release(); std::cout << "KS: Startet...\n"; std::cout << "KS: Lese init Datei ../data/ksInit.ini ...\n"; InitDatei* dat = new InitDatei("../data/ksInit.ini"); if (!dat->laden()) { std::cout << "KS: error: Datei konnte nicht gelesen werden. Das Programm wird geschlossen.\n"; dat->release(); exit(1); } const char* wichtig[] = { "ServerId", "DBBenutzer", "DBPasswort", "DBName", "DBIP", "DBPort", "Aktiv", "KartenPfad", "SSLCert", "SSLKey", "SSLPasswort" }; for (const char* w : wichtig) { if (!dat->wertExistiert(w)) { std::cout << "KS: error: Der Wert '" << w << "' wurde nicht gefunden. Das Programm wird geschlossen.\n"; dat->release(); exit(1); } } if (!DateiExistiert(dat->zWert("KartenPfad")->getText())) { Text pf = dat->zWert("KartenPfad")->getText(); pf += "/"; DateiPfadErstellen(pf); } KartenServer* kServer = new KartenServer(dat); std::cout << "KS: Der Admin Server läuft. Startforgang beendet.\n"; kServer->runn(); kServer->ende(); kServer->release(); dat->release(); std::cout << "KS: Der Server ist heruntergefahren.\n"; file.close(); std::cout.rdbuf(sbuf); Framework::releaseFramework(); return 0; }