main.cpp 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. #include "EditorServer.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. #ifdef DEBUG
  13. chdir("/test/editor");
  14. #endif
  15. Framework::initFramework();
  16. Zeit* z = getZeit();
  17. Text* pfad = new Text("../log/editor/");
  18. pfad->append(z->getZeit("y-m-d h-i-s.log"));
  19. z->release();
  20. DateiPfadErstellen(pfad->getText());
  21. std::ofstream file;
  22. file.open(pfad->getText());
  23. std::streambuf* sbuf = std::cout.rdbuf();
  24. std::cout.rdbuf(file.rdbuf());
  25. pfad->release();
  26. std::cout << "EdS: Startet...\n";
  27. std::cout << "EdS: Lese init Datei ../data/edsInit.ini ...\n";
  28. InitDatei* dat = new InitDatei("../data/edsInit.ini");
  29. if (!dat->laden())
  30. {
  31. std::cout << "EdS: error: Datei konnte nicht gelesen werden. Das Programm wird geschlossen.\n";
  32. dat->release();
  33. exit(1);
  34. }
  35. if (!dat->wertExistiert("KartenPfad"))
  36. {
  37. std::cout << "EdS: error: Der Wert 'KartenPfad' wurde in der Datei '../data/edsInit.ini' nicht gefunden. Das Programm wird geschlossen.\n";
  38. dat->release();
  39. exit(1);
  40. }
  41. const char* wichtig[] = { "ServerId", "DBBenutzer", "DBPasswort", "DBName", "DBIP", "DBPort", "Aktiv", "KartenPfad", "gslPfad", "SpielePfad", "SSLCert", "SSLKey", "SSLPasswort" };
  42. for (const char* w : wichtig)
  43. {
  44. if (!dat->wertExistiert(w))
  45. {
  46. std::cout << "EdS: error: Der Wert '" << w << "' wurde nicht gefunden. Das Programm wird geschlossen.\n";
  47. dat->release();
  48. exit(1);
  49. }
  50. }
  51. EditorServer* iServer = new EditorServer(dat);
  52. std::cout << "EdS: Der Admin Server läuft. Startforgang beendet.\n";
  53. iServer->runn();
  54. iServer->ende();
  55. iServer->release();
  56. dat->release();
  57. std::cout << "EdS: Der Server ist heruntergefahren.\n";
  58. file.close();
  59. std::cout.rdbuf(sbuf);
  60. Framework::releaseFramework();
  61. return 0;
  62. }