Big network update.
[GoMoku3D.git] / src / network / ServerSocket.h
blob76f8f59a9ac808b2ec950e41e9d053d9a252d868
1 /********************************************************************
3 * Copyright (C) 2008 Davide Pesavento
5 * This file is part of GoMoku3D.
7 * GoMoku3D is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License
9 * as published by the Free Software Foundation; either version 2
10 * of the License, or (at your option) any later version.
12 * GoMoku3D is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License
18 * along with GoMoku3D. If not, see <http://www.gnu.org/licenses/>.
20 *******************************************************************/
22 #ifndef SERVERSOCKET_H
23 #define SERVERSOCKET_H
25 #include <QList>
26 #include <QTcpSocket>
28 #include "StreamSocket.h"
29 #include "Move.h"
31 class ServerSocket : public StreamSocket
33 Q_OBJECT
35 public:
36 ServerSocket(QTcpSocket *socket);
37 void acceptJoin(int id);
38 void refuseJoin(int cause);
40 public slots:
41 void sendGameSettings(int d1, int d2, int num, int timer, bool playing);
42 void sendHistory(QList<Move> history);
43 void sendPlayerJoined(int id, QString name, QString type);
44 void sendPlayerLeft(int id);
45 void sendStartGame();
47 private slots:
48 void parse_joinRequest();
50 signals:
51 void joinRequested(QString mode, QString name);
54 #endif