MSKlient.h 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. #ifndef MSKlient_H
  2. #define MSKlient_H
  3. #include <Klient.h>
  4. #include <Text.h>
  5. #include <Array.h>
  6. using namespace Network;
  7. using namespace Framework;
  8. struct ServerData
  9. {
  10. int id;
  11. Text name;
  12. Text ip;
  13. unsigned short port;
  14. unsigned short adminPort;
  15. Text status;
  16. };
  17. struct ServerDetails
  18. {
  19. Text name;
  20. Text ip;
  21. unsigned short port;
  22. unsigned short adminPort;
  23. int tasks;
  24. int maxTasks;
  25. };
  26. class MSKlient : public virtual ReferenceCounter
  27. {
  28. private:
  29. SSLKlient *k;
  30. CRITICAL_SECTION cs;
  31. Text *fehler;
  32. Text *ip;
  33. int port;
  34. bool verbunden;
  35. bool eingeloggt;
  36. public:
  37. // Konstruktor
  38. MSKlient( const char *ip, int port );
  39. // Destruktor
  40. ~MSKlient();
  41. // nicht constant
  42. void lock();
  43. void unlock();
  44. bool verbinden();
  45. bool login( const char *name, const char *passwort );
  46. bool logout();
  47. int getStatus();
  48. bool pause();
  49. bool fortsetzen();
  50. bool beenden();
  51. bool terminieren();
  52. bool getPatchServerListe( Array< ServerData * > *list );
  53. bool getPatchServerDetails( int id, ServerDetails *details );
  54. bool trenne();
  55. // constant
  56. bool istVerbunden() const;
  57. bool istEingeloggt() const;
  58. const char *getLetzterFehler() const;
  59. };
  60. #endif