main.cpp 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. #include "KartenServer.h"
  2. #include <Zeit.h>
  3. #include <iostream>
  4. #include <fstream>
  5. #include <Globals.h>
  6. #include <sys/resource.h>
  7. int main()
  8. {
  9. struct rlimit core_limits;
  10. core_limits.rlim_cur = core_limits.rlim_max = RLIM_INFINITY;
  11. setrlimit(RLIMIT_CORE, &core_limits);
  12. Framework::initFramework();
  13. Zeit* z = getZeit();
  14. Text* pfad = new Text("../log/karten/");
  15. pfad->append(z->getZeit("y-m-d h-i-s.log"));
  16. z->release();
  17. DateiPfadErstellen(pfad->getText());
  18. std::ofstream file;
  19. file.open(pfad->getText());
  20. std::streambuf* sbuf = std::cout.rdbuf();
  21. std::cout.rdbuf(file.rdbuf());
  22. pfad->release();
  23. std::cout << "KS: Startet...\n";
  24. std::cout << "KS: Lese init Datei ../data/ksInit.ini ...\n";
  25. InitDatei* dat = new InitDatei("../data/ksInit.ini");
  26. if (!dat->laden())
  27. {
  28. std::cout << "KS: error: Datei konnte nicht gelesen werden. Das Programm wird geschlossen.\n";
  29. dat->release();
  30. exit(1);
  31. }
  32. const char* wichtig[] = { "ServerId", "DBBenutzer", "DBPasswort", "DBName", "DBIP", "DBPort", "Aktiv", "KartenPfad", "SSLCert", "SSLKey", "SSLPasswort" };
  33. for (const char* w : wichtig)
  34. {
  35. if (!dat->wertExistiert(w))
  36. {
  37. std::cout << "KS: error: Der Wert '" << w << "' wurde nicht gefunden. Das Programm wird geschlossen.\n";
  38. dat->release();
  39. exit(1);
  40. }
  41. }
  42. if (!DateiExistiert(dat->zWert("KartenPfad")->getText()))
  43. {
  44. Text pf = dat->zWert("KartenPfad")->getText();
  45. pf += "/";
  46. DateiPfadErstellen(pf);
  47. }
  48. KartenServer* kServer = new KartenServer(dat);
  49. std::cout << "KS: Der Admin Server läuft. Startforgang beendet.\n";
  50. kServer->runn();
  51. kServer->ende();
  52. kServer->release();
  53. dat->release();
  54. std::cout << "KS: Der Server ist heruntergefahren.\n";
  55. file.close();
  56. std::cout.rdbuf(sbuf);
  57. Framework::releaseFramework();
  58. return 0;
  59. }