diff options
Diffstat (limited to 'libksirtet/lib/mp_board.h')
-rw-r--r-- | libksirtet/lib/mp_board.h | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/libksirtet/lib/mp_board.h b/libksirtet/lib/mp_board.h new file mode 100644 index 00000000..fbd1e01f --- /dev/null +++ b/libksirtet/lib/mp_board.h @@ -0,0 +1,51 @@ +#ifndef MP_BOARD_H +#define MP_BOARD_H + +#include <qwidget.h> + +/** + * The MP_Board class is the base widget from which each individual + * board should inheritate ; you must implement its virtual methods. + */ +class MPBoard : public QWidget +{ + Q_OBJECT + + public: + MPBoard(QWidget *parent, const char *name=0) + : QWidget(parent, name) {} + virtual ~MPBoard() {} + + /** + * This method is called once at the board creation. + * @param AI is TRUE if the player is not human. + * @param multiplayers is TRUE if the game is not a single player game. + * @param first is TRUE if this board is the first local one. + */ + virtual void init(bool AI, bool multiplayers, bool server, bool first, + const QString &name) = 0; + + /** + * Put data on the stream. + * + * This method is the communication way out. The data given here will + * be the only information that will go to the server. + */ + virtual void dataOut(QDataStream &) = 0; + + /** + * Get data from the stream. + * + * This method is the communication way in. The data given here will be + * the only information that you will receive from the server. + */ + virtual void dataIn(QDataStream &) = 0; + + signals: + /** + * Call this signal to enable/disable the keys associated with a board. + */ + void enableKeys(bool); +}; + +#endif // MP_BOARD_H |