Cute Chess 0.1
playerbuilder.h
1/*
2 This file is part of Cute Chess.
3 Copyright (C) 2008-2018 Cute Chess authors
4
5 Cute Chess is free software: you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation, either version 3 of the License, or
8 (at your option) any later version.
9
10 Cute Chess is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with Cute Chess. If not, see <http://www.gnu.org/licenses/>.
17*/
18
19#ifndef PLAYERBUILDER_H
20#define PLAYERBUILDER_H
21
22#include <QString>
23class QObject;
24class ChessPlayer;
25
26
38class LIB_EXPORT PlayerBuilder
39{
40 public:
44 virtual ~PlayerBuilder();
45
50 virtual bool isHuman() const = 0;
52 QString name() const;
54 void setName(const QString& name);
65 virtual ChessPlayer* create(QObject* receiver,
66 const char* method,
67 QObject* parent,
68 QString* error) const = 0;
69
70 private:
71 QString m_name;
72};
73
74#endif // PLAYERBUILDER_H
A chess player, human or AI.
Definition chessplayer.h:39
void setName(const QString &name)
Definition playerbuilder.cpp:35
PlayerBuilder(const QString &name)
Definition playerbuilder.cpp:21
virtual ChessPlayer * create(QObject *receiver, const char *method, QObject *parent, QString *error) const =0
QString name() const
Definition playerbuilder.cpp:30
virtual bool isHuman() const =0