Start.cpp 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. #include <iostream>
  2. #include <fstream>
  3. #include <Zeit.h>
  4. #include <Datei.h>
  5. #include <Text.h>
  6. #include <Globals.h>
  7. #include <sys/resource.h>
  8. #include <Klient.h>
  9. #include "Server.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/" );
  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 << "Startet...\n";
  27. std::cout << "Lese init Datei fcInit.ini ...\n";
  28. InitDatei *dat = new InitDatei( "fcInit.ini" );
  29. if( !dat->laden() )
  30. {
  31. std::cout << "error: Datei konnte nicht gelesen werden. Das Programm wird geschlossen.\n";
  32. dat->release();
  33. exit( 1 );
  34. }
  35. const char *wichtig[] = { "SSLPort", "SSLCert", "SSLKey", "SSLPasswort" };
  36. for( const char *w : wichtig )
  37. {
  38. if( !dat->wertExistiert( w ) )
  39. {
  40. std::cout << "error: Der Wert '" << w << "' wurde nicht gefunden. Das Programm wird geschlossen.\n";
  41. dat->release();
  42. exit( 1 );
  43. }
  44. }
  45. FactoryCraftServer *mserver = new FactoryCraftServer( dat );
  46. std::cout << "Der Server läuft. Startforgang beendet.\n";
  47. mserver->run();
  48. mserver->release();
  49. dat->release();
  50. std::cout << "Der Server ist heruntergefahren.\n";
  51. file.close();
  52. std::cout.rdbuf( sbuf );
  53. Framework::releaseFramework();
  54. return 0;
  55. }