main.cpp 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. #include "MainServer.h"
  2. #include <iostream>
  3. #include <fstream>
  4. #include <Zeit.h>
  5. #include <Datei.h>
  6. #include <Text.h>
  7. #include <Globals.h>
  8. #include <sys/resource.h>
  9. #include <Klient.h>
  10. int main()
  11. {
  12. struct rlimit core_limits;
  13. core_limits.rlim_cur = core_limits.rlim_max = RLIM_INFINITY;
  14. setrlimit(RLIMIT_CORE, &core_limits);
  15. Framework::initFramework();
  16. Zeit* z = getZeit();
  17. Text* pfad = new Text("../log/main/");
  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 << "MS: Startet...\n";
  27. std::cout << "MS: Lese init Datei ../data/msInit.ini ...\n";
  28. InitDatei* dat = new InitDatei("../data/msInit.ini");
  29. if (!dat->laden())
  30. {
  31. std::cout << "MS: error: Datei konnte nicht gelesen werden. Das Programm wird geschlossen.\n";
  32. dat->release();
  33. exit(1);
  34. }
  35. const char* wichtig[] = { "ServerId", "DBBenutzer", "DBPasswort", "DBName", "DBIP", "DBPort", "Aktiv", "SSLPort", "SSLCert", "SSLKey", "SSLPasswort" };
  36. for (const char* w : wichtig)
  37. {
  38. if (!dat->wertExistiert(w))
  39. {
  40. std::cout << "MS: error: Der Wert '" << w << "' wurde nicht gefunden. Das Programm wird geschlossen.\n";
  41. dat->release();
  42. exit(1);
  43. }
  44. }
  45. MainServer* mserver = new MainServer(dat);
  46. std::cout << "MS: Der Admin Server läuft. Startforgang beendet.\n";
  47. mserver->runn();
  48. SSLKlient exitClient;
  49. exitClient.verbinde((unsigned short)(int)*dat->zWert("SSLPort"), "127.0.0.1");
  50. mserver->ende();
  51. mserver->release();
  52. dat->release();
  53. std::cout << "MS: Der Server ist heruntergefahren.\n";
  54. file.close();
  55. std::cout.rdbuf(sbuf);
  56. Framework::releaseFramework();
  57. return 0;
  58. }