/* */ #ifndef _D_BT_REQUEST_FACTORY_H_ #define _D_BT_REQUEST_FACTORY_H_ #include "common.h" #include "BtMessage.h" #include "Piece.h" class BtRequestFactory { public: virtual ~BtRequestFactory() {} virtual void addTargetPiece(const PieceHandle& piece) = 0; virtual void removeTargetPiece(const PieceHandle& piece) = 0; virtual void removeAllTargetPiece() = 0; virtual int countTargetPiece() = 0; virtual void removeCompletedPiece() = 0; /** * Creates RequestMessage objects associated to the pieces added by * addTargetPiece() and returns them. * The number of objects returned is capped by max. */ virtual BtMessages createRequestMessages(uint32_t max) = 0; /** * Use this method in end game mode. * */ virtual BtMessages createRequestMessagesOnEndGame(uint32_t max) = 0; }; typedef SharedHandle BtRequestFactoryHandle; #endif // _D_BT_REQUEST_FACTORY_H_