Updated Glossario.tex
[GoMoku3D.git] / src / network / Network.h
blob335f35e48f609b43dfa0928ad53aa50a9b3699d0
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 NETWORK_H
23 #define NETWORK_H
25 #include <QObject>
27 #include "Point.h"
28 #include "Move.h"
30 class QWidget;
31 class ChatWidget;
32 class GameLoop;
34 class Network : public QObject
36 Q_OBJECT
38 public:
39 inline Network(QWidget *gui) : _gui(gui), _localPlayer(-1) {}
40 inline virtual ~Network() {}
42 virtual Point requestMove() = 0;
43 virtual void setupChat(ChatWidget *widget) = 0;
44 virtual void setupGameLoop(GameLoop *gameLoop) = 0;
46 public slots:
47 virtual void broadcastMove(Move move) = 0;
49 protected:
50 QWidget *_gui;
51 int _localPlayer;
53 signals:
54 void error(QString errorMessage);
57 #endif