Prozess.cpp 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. #include "Prozess.h"
  2. #include <Klient.h>
  3. using namespace Network;
  4. // Inhalt der Klasse Prozess aus Prozess.h
  5. // Konstruktor
  6. Prozess::Prozess( KSGClient::EditorServerClient *klient, int aktion, Array< void* > *args, ProzessReturn *r )
  7. : Thread()
  8. {
  9. this->k = klient;
  10. ak = aktion;
  11. this->args = args;
  12. ret = r;
  13. ref = 1;
  14. start();
  15. }
  16. // Destruktor
  17. Prozess::~Prozess()
  18. {
  19. args->release();
  20. k->release();
  21. }
  22. // nicht constant
  23. void Prozess::thread()
  24. {
  25. /*
  26. k->lock();
  27. Klient *c = k->zKlient();
  28. c->sendeEncrypted( "\x7", 1 );
  29. char ret = 0;
  30. c->getNachrichtEncrypted( &ret, 1 );
  31. if( ret == 1 )
  32. {
  33. c->sendeEncrypted( "\xF", 1 );
  34. char ret = 0;
  35. c->getNachrichtEncrypted( &ret, 1 );
  36. if( ret == 1 )
  37. {
  38. switch( ak )
  39. {
  40. case 0:
  41. init();
  42. break;
  43. case 1:
  44. sitzungWiederherstellen();
  45. break;
  46. case 2:
  47. sitzungVerwerfen();
  48. break;
  49. }
  50. }
  51. }
  52. if( ret == 3 )
  53. {
  54. char byte = 0;
  55. c->getNachrichtEncrypted( &byte, 1 );
  56. char *f = new char[ byte + 1 ];
  57. f[ byte ] = 0;
  58. c->getNachrichtEncrypted( f, byte );
  59. Text fehler = f;
  60. delete[] f;
  61. Array< void* > args;
  62. args.add( (void*)&fehler );
  63. if( this->ret )
  64. this->ret->prozessEnd( ak, 0, args );
  65. }
  66. k->unlock();
  67. run = 0;*/
  68. }
  69. // Reference Counting
  70. Prozess *Prozess::getThis()
  71. {
  72. ref++;
  73. return this;
  74. }
  75. Prozess *Prozess::release()
  76. {
  77. ref--;
  78. if( !ref )
  79. delete this;
  80. return 0;
  81. }
  82. // privat
  83. void Prozess::init() // aktion = 0
  84. {
  85. }
  86. void Prozess::sitzungWiederherstellen() // aktion = 1
  87. {
  88. }
  89. void Prozess::sitzungVerwerfen() // aktion = 2
  90. {
  91. }