Start.cpp 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. #include "ErhaltungServer.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/erhaltung/" );
  15. pfad->append( z->getZeit( "y-m-d h-i-s.log" ) );
  16. z->release();
  17. DateiPfadErstellen( pfad->getThis() );
  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 << "ES: Startet...\n";
  24. std::cout << "ES: Lese init Datei ../data/esInit.ini ...\n";
  25. InitDatei *dat = new InitDatei( "../data/esInit.ini" );
  26. if( !dat->laden() )
  27. {
  28. std::cout << "ES: 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" };
  33. for( const char *w : wichtig )
  34. {
  35. if( !dat->wertExistiert( w ) )
  36. {
  37. std::cout << "ES: error: Der Wert '" << w << "' wurde nicht gefunden. Das Programm wird geschlossen.\n";
  38. dat->release();
  39. exit( 1 );
  40. }
  41. }
  42. ErhaltungServer *eServer = new ErhaltungServer( dat );
  43. std::cout << "ES: Der Admin Server läuft. Startforgang beendet.\n";
  44. eServer->runn();
  45. eServer->ende();
  46. eServer->release();
  47. dat->release();
  48. std::cout << "ES: Der Server ist heruntergefahren.\n";
  49. file.close();
  50. std::cout.rdbuf( sbuf );
  51. Framework::releaseFramework();
  52. return 0;
  53. }