PatchServer.h 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175
  1. #ifndef PatchServer_H
  2. #define PatchServer_H
  3. #include "..\..\Basic\Abschnitt.h"
  4. #include "..\..\..\Netzwerk\Main\MSKlient.h"
  5. #include "..\..\..\Netzwerk\Patch\PSKlient.h"
  6. #include "..\..\..\Ressourcen\Ressourcen.h"
  7. #include <InitDatei.h>
  8. #include <Knopf.h>
  9. #include <Tabelle.h>
  10. #include <Thread.h>
  11. #include <Fortschritt.h>
  12. class AdminAccount; // Login.h
  13. class PatchServer; // PatchServer.h
  14. class PSUpdate : public Thread
  15. {
  16. private:
  17. PatchServer *zPSA;
  18. AdminAccount *account;
  19. PSKlient *psc;
  20. int gruppeAnzahl;
  21. int *gruppeId;
  22. int id;
  23. int ref;
  24. public:
  25. // Kontruktor
  26. PSUpdate( PatchServer *zPSA, AdminAccount *account );
  27. // Destruktor
  28. ~PSUpdate();
  29. // nicht constant
  30. void setServer( const char *ip, unsigned short port );
  31. void setUpdateListe( int gAnzahl, Array< int > *gId );
  32. virtual void thread();
  33. // constant
  34. // Reference Counting
  35. PSUpdate *getThis();
  36. PSUpdate *release();
  37. };
  38. class PSDetails : public Thread
  39. {
  40. private:
  41. PatchServer *zPSA;
  42. MSKlient *mk;
  43. int id;
  44. int ref;
  45. public:
  46. // Konstruktor
  47. PSDetails( PatchServer *zPSA, MSKlient *mk );
  48. // Destruktor
  49. ~PSDetails();
  50. // nicht constant
  51. void setServerId( int id );
  52. virtual void thread();
  53. // constant
  54. // Reference Counting
  55. PSDetails *getThis();
  56. PSDetails *release();
  57. };
  58. class PSSuche : public Thread
  59. {
  60. private:
  61. PatchServer *zPSA;
  62. MSKlient *mk;
  63. int ref;
  64. public:
  65. // Konstruktor
  66. PSSuche( PatchServer *zPSA, MSKlient *mk );
  67. // Destruktor
  68. ~PSSuche();
  69. // nicht constant
  70. virtual void thread();
  71. // constant
  72. // Reference Counting
  73. PSSuche *getThis();
  74. PSSuche *release();
  75. };
  76. class PatchServer : public Abschnitt
  77. {
  78. private:
  79. Fenster *fenster;
  80. Fenster *liste;
  81. Fenster *details;
  82. Fenster *updateF;
  83. MSKlient *msk;
  84. InitDatei *iD;
  85. Fenster *f;
  86. AdminAccount *account;
  87. Knopf *aktualisieren;
  88. Knopf *weiter;
  89. Knopf *zurück;
  90. ObjTabelle *tabelle;
  91. ObjTabelle *updateT;
  92. PSSuche *suchen;
  93. PSDetails *getDetails;
  94. PSUpdate *updateTh;
  95. Schrift *schrift;
  96. PSKlient *psc;
  97. TextFeld *serverId;
  98. TextFeld *serverName;
  99. TextFeld *serverIp;
  100. TextFeld *serverPort;
  101. TextFeld *serverAPort;
  102. TextFeld *serverClients;
  103. TextFeld *serverMaxClients;
  104. TextFeld *maxClients;
  105. TextFeld *serverStatus;
  106. TextFeld *serverFehler;
  107. Knopf *updateStarten;
  108. Knopf *update;
  109. Knopf *pausieren;
  110. Knopf *stoppen;
  111. Knopf *beenden;
  112. Knopf *terminieren;
  113. Knopf *setMaxClients;
  114. Zeichnung *obj;
  115. int ref;
  116. public:
  117. // Konstruktor
  118. PatchServer( Schrift *s, InitDatei *d, MSKlient *msk, RessourceBild *rb, AdminAccount *acc, Bildschirm *b );
  119. // Destruktor
  120. ~PatchServer();
  121. // nicht constant
  122. virtual void setFenster( Fenster *f );
  123. virtual void setSichtbar( bool s );
  124. void addServer( int id, char *name, char *ip, int port, int adminPort, char *status );
  125. void sucheAbgeschlossen();
  126. void setServerDetails( int id, char *name, char *ip, int port, int adminPort, int clients, int maxClients, int status, Text *error );
  127. void setUpdateProzent( int prozent, int gruppe );
  128. void setUpdateFertig( bool error, int gruppe );
  129. bool aktualisierenMausEreignis( void *o, MausEreignis me );
  130. bool auswahlKnopfMausEreignis( void *o, MausEreignis me );
  131. bool weiterMausEreignis( void *o, MausEreignis me );
  132. bool zurückMausEreignis( void *o, MausEreignis me );
  133. bool updateMausEreignis( void *o, MausEreignis me );
  134. bool pausierenMausEreignis( void *o, MausEreignis me );
  135. bool stoppenMausEreignis( void *o, MausEreignis me );
  136. bool beendenMausEreignis( void *o, MausEreignis me );
  137. bool terminierenMausEreignis( void *o, MausEreignis me );
  138. bool setMaxClientsMausEreignis( void *o, MausEreignis me );
  139. bool updateStartenMausEreignis( void *o, MausEreignis me );
  140. bool maxClientsTastaturEreignis( void *o, TastaturEreignis te );
  141. // constant
  142. // Reference Counting
  143. virtual Abschnitt *getThis();
  144. virtual Abschnitt *release();
  145. };
  146. // Ereignisse
  147. bool patchServerAktualisierenMausEreignis( void *p, void *o, MausEreignis me );
  148. bool patchServerAuswahlKnopfMausEreignis( void *p, void *o, MausEreignis me );
  149. bool patchServerWeiterMausEreignis( void *p, void *o, MausEreignis me );
  150. bool patchServerZurückMausEreignis( void *p, void *o, MausEreignis me );
  151. bool patchServerUpdateMausEreignis( void *p, void *o, MausEreignis me );
  152. bool patchServerPausierenMausEreignis( void *p, void *o, MausEreignis me );
  153. bool patchServerStoppenMausEreignis( void *p, void *o, MausEreignis me );
  154. bool patchServerBeendenMausEreignis( void *p, void *o, MausEreignis me );
  155. bool patchServerTerminierenMausEreignis( void *p, void *o, MausEreignis me );
  156. bool patchServerSetMaxClientsMausEreignis( void *p, void *o, MausEreignis me );
  157. bool patchServerUpdateStartenMausEreignis( void *p, void *o, MausEreignis me );
  158. bool patchServerMaxClientsTastaturEreignis( void *p, void *o, TastaturEreignis te );
  159. #endif