QTfrontend/netserver.h
changeset 420 6cdfc07dceed
parent 404 64a62b679b04
child 465 07eca0a2546c
equal deleted inserted replaced
419:fdeed9718e6b 420:6cdfc07dceed
    26 #include "team.h"
    26 #include "team.h"
    27 
    27 
    28 class HWNetServer;
    28 class HWNetServer;
    29 class QTcpSocket;
    29 class QTcpSocket;
    30 class QTcpServer;
    30 class QTcpServer;
    31 
    31 class HWConnectedClient;
    32 class HWConnectedClient : public QObject
       
    33 {
       
    34   Q_OBJECT
       
    35 
       
    36  friend class HWNetServer;
       
    37 
       
    38  private:
       
    39   HWConnectedClient(HWNetServer* hwserver, QTcpSocket* client);
       
    40   ~HWConnectedClient();
       
    41   QString getClientNick() const;
       
    42 
       
    43   QList<QStringList> getTeamNames() const;
       
    44   class NoTeamNameException{};
       
    45   bool isReady() const;
       
    46 
       
    47   QString getHedgehogsDescription() const;
       
    48 
       
    49   bool readyToStart;
       
    50   QList<QStringList> m_teamsCfg; // TeamName - hhs
       
    51   class ShouldDisconnectException {};
       
    52 
       
    53   QString client_nick;
       
    54   void ParseLine(const QByteArray & line);
       
    55   unsigned int removeTeam(const QString& tname); // returns netID
       
    56 
       
    57   HWNetServer* m_hwserver;
       
    58   QTcpSocket* m_client;
       
    59 
       
    60   void RawSendNet(const QString & buf);
       
    61   void RawSendNet(const QByteArray & buf);
       
    62 
       
    63   //QByteArray readbuffer;
       
    64 
       
    65  signals:
       
    66   void HWClientDisconnected(HWConnectedClient* client);
       
    67 
       
    68  private slots:
       
    69   void ClientRead();
       
    70   void ClientDisconnect();
       
    71 };
       
    72 
    32 
    73 class HWNetServer : public QObject
    33 class HWNetServer : public QObject
    74 {
    34 {
    75   Q_OBJECT
    35   Q_OBJECT
    76 
    36