Moved ICS related API to the ICSAPI abstract class.
commitbe0ddf9f283596d779e60de3870fa9b58f35c65b
authorPaolo Capriotti <p.capriotti@gmail.com>
Wed, 25 Jul 2007 11:57:47 +0000 (25 13:57 +0200)
committerPaolo Capriotti <p.capriotti@gmail.com>
Wed, 25 Jul 2007 13:18:55 +0000 (25 15:18 +0200)
tree6afdecfc7dd68c6b95415fcf70ee0cc393de1bf4
parent3e480751083691d9d9ba417f7641a7c6b47658b0
Moved ICS related API to the ICSAPI abstract class.

Variants implement all ICS-related functions in a concrete subclass
of ICSAPI, returned from the VariantInfo::icsAPI function.

Variants using the template wrapper framework, should define a static const
bool "hasICS" variable inside their VariantInfo structure, depending on whether
they want to support ICS or not. The framework will create a ICSAPI subclass
automagically when the variable is set to true.
If the "hasICS" variable is set to true, then the variant position should have
a constructor that takes the style12 data, and a PieceFactory specialization.
18 files changed:
src/CMakeLists.txt
src/entities/icsentity.cpp
src/fwd.h
src/icsapi.h [new file with mode: 0644]
src/icsapi.impl.h [new file with mode: 0644]
src/icsconnection.cpp
src/icsgamedata.cpp [new file with mode: 0644]
src/icsgamedata.h
src/poolinfo.cpp
src/poolinfo.h
src/positioninfo.cpp
src/positioninfo.h
src/tagua.h
src/tagua_wrapped.h
src/variants/chess.cpp
src/variants/chess.h
src/variants/crazyhouse.cpp
src/variants/shogi.cpp