19#ifndef ENGINEFACTORY_H
20#define ENGINEFACTORY_H
23#include "classregistry.h"
24#include "chessengine.h"
28class LIB_EXPORT EngineFactory
50#define REGISTER_ENGINE_CLASS(TYPE, PROTOCOL) \
51 REGISTER_CLASS(ChessEngine, TYPE, PROTOCOL, EngineFactory::registry());
An artificial intelligence chess player.
Definition chessengine.h:42
A class for creating objects based on the class' runtime name or key (a string).
Definition classregistry.h:47
static ChessEngine * create(const QString &protocol)
Definition enginefactory.cpp:33
static QStringList protocols()
Definition enginefactory.cpp:38
static ClassRegistry< ChessEngine > * registry()
Definition enginefactory.cpp:27