Cute Chess
0.1
Main Page
Namespaces
Classes
Files
File List
projects
lib
src
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>
23
class
QObject
;
24
class
ChessPlayer
;
25
26
38
class
LIB_EXPORT
PlayerBuilder
39
{
40
public
:
42
PlayerBuilder
(
const
QString
& name);
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
PlayerBuilder
A class for constructing new chess players.
Definition:
playerbuilder.h:38
ChessPlayer
A chess player, human or AI.
Definition:
chessplayer.h:38
QObject
QString
Generated by
1.8.11