EditorKlient.cpp 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. #include "EditorKlient.h"
  2. #include <Klient.h>
  3. using namespace Network;
  4. // Inhalt der EditorKlient Klasse aus EditorKlient.h
  5. // Konstruktor
  6. // k: Der zu verwendende Klient
  7. EditorKlient::EditorKlient( KSGClient::EditorServerClient *k )
  8. {
  9. klient = k;
  10. ref = 1;
  11. }
  12. // Destruktor
  13. EditorKlient::~EditorKlient()
  14. {
  15. klient->release();
  16. }
  17. // Initialisiert den Server
  18. // return: 1, falls erfolgreich
  19. // 2, falls bereits eine Sitzung existiert
  20. // 0, sonnst
  21. int EditorKlient::init()
  22. {/*
  23. klient->lock();
  24. error = "";
  25. Klient *k = klient->zKlient();
  26. k->sendeEncrypted( "\x7", 1 );
  27. char ret = 0;
  28. k->getNachrichtEncrypted( &ret, 1 );
  29. if( ret == 1 )
  30. {
  31. k->sendeEncrypted( "\xF", 1 );
  32. k->getNachrichtEncrypted( &ret, 1 );
  33. if( ret == 1 )
  34. {
  35. k->sendeEncrypted( "\x0", 1 );
  36. k->getNachrichtEncrypted( &ret, 1 );
  37. if( ret == 1 )
  38. {
  39. k->getNachrichtEncrypted( &ret, 1 );
  40. return ret;
  41. }
  42. }
  43. }
  44. if( ret == 3 )
  45. {
  46. char l = 0;
  47. k->getNachrichtEncrypted( &l, 1 );
  48. char *err = new char[ l + 1 ];
  49. err[ l ] = 0;
  50. k->getNachrichtEncrypted( err, l );
  51. error = err;
  52. delete[] err;
  53. ret = 0;
  54. }
  55. klient->unlock();
  56. return ret;*/
  57. return 0;
  58. }
  59. // Verwirft die vorhandene Sitzung und erstellt eine neue
  60. bool EditorKlient::sitzungVerwerfen()
  61. {/*
  62. klient->lock();
  63. error = "";
  64. Klient *k = klient->zKlient();
  65. k->sendeEncrypted( "\x7", 1 );
  66. char ret = 0;
  67. k->getNachrichtEncrypted( &ret, 1 );
  68. if( ret == 1 )
  69. {
  70. k->sendeEncrypted( "\xF", 1 );
  71. k->getNachrichtEncrypted( &ret, 1 );
  72. if( ret == 1 )
  73. {
  74. k->sendeEncrypted( "\x1", 1 );
  75. k->getNachrichtEncrypted( &ret, 1 );
  76. }
  77. }
  78. if( ret == 3 )
  79. {
  80. char l = 0;
  81. k->getNachrichtEncrypted( &l, 1 );
  82. char *err = new char[ l + 1 ];
  83. err[ l ] = 0;
  84. k->getNachrichtEncrypted( err, l );
  85. error = err;
  86. delete[] err;
  87. ret = 0;
  88. }
  89. klient->unlock();
  90. return ret == 1;*/
  91. return 0;
  92. }
  93. // Gibt den Letzten Fehler zurück
  94. char *EditorKlient::getLastError() const
  95. {
  96. return error;
  97. }
  98. // Reference Counting
  99. EditorKlient *EditorKlient::getThis()
  100. {
  101. ref++;
  102. return this;
  103. }
  104. EditorKlient *EditorKlient::release()
  105. {
  106. if( !--ref )
  107. delete this;
  108. return 0;
  109. }