main.cpp 1.9 KB

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