summaryrefslogtreecommitdiffstats
path: root/knights/command.h
diff options
context:
space:
mode:
Diffstat (limited to 'knights/command.h')
-rw-r--r--knights/command.h194
1 files changed, 194 insertions, 0 deletions
diff --git a/knights/command.h b/knights/command.h
new file mode 100644
index 0000000..c10e300
--- /dev/null
+++ b/knights/command.h
@@ -0,0 +1,194 @@
+/***************************************************************************
+ command.h - description
+ -------------------
+ begin : Sun Jun 30 2002
+ copyright : (C) 2003 by Troy Corbin Jr.
+ email : tcorbin@users.sf.net
+ ***************************************************************************/
+
+/***************************************************************************
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ ***************************************************************************/
+
+#ifndef COMMAND_H
+#define COMMAND_H
+
+#include <qstring.h>
+#include "definitions.h"
+
+/**
+ *@author Alexander Wels.
+ */
+ /* Commands */
+
+/*
+ These constants represent the game's desire to send the IOs a command.
+ SendCMD will convert them to the correct command for the current protocol.
+*/
+
+const int CMD_None = 0x00000000;
+const int CMD_Init = 0x00000001;
+const int CMD_NewGame = 0x00000002;
+const int CMD_Exit = 0x00000003;
+const int CMD_MoveNow = 0x00000004;
+const int CMD_Pause = 0x00000005;
+const int CMD_Resume = 0x00000006;
+const int CMD_Move = 0x00000007;
+const int CMD_Illegal = 0x00000008;
+const int CMD_Play_White = 0x00000009;
+const int CMD_Play_Black = 0x0000000a;
+const int CMD_Result_White = 0x0000000b;
+const int CMD_Result_Black = 0x0000000c;
+const int CMD_Result_Draw = 0x0000000d;
+const int CMD_Your_Time = 0x0000000e;
+const int CMD_Enemy_Time = 0x0000000f;
+const int CMD_Offer_Draw = 0x00000010;
+const int CMD_Ponder = 0x00000011;
+const int CMD_No_Pondering = 0x00000012;
+const int CMD_Book_Mode = 0x00000013;
+const int CMD_Out_Of_Book = 0x00000014;
+const int CMD_Check_Book = 0x00000015;
+const int CMD_Retract_Move = 0x00000016;
+const int CMD_Hint = 0x00000017;
+const int CMD_Listen = 0x00000018;
+const int CMD_Play = 0x00000019;
+const int CMD_Tell_User = 0x0000001a;
+const int CMD_Tell_User_Error = 0x0000001b;
+const int CMD_White_Resign = 0x0000001c;
+const int CMD_Black_Resign = 0x0000001d;
+const int CMD_White_Called_Flag = 0x0000001e;
+const int CMD_Black_Called_Flag = 0x0000001f;
+const int CMD_Set_Depth = 0x00000020;
+const int CMD_Set_Board = 0x00000021;
+const int CMD_Set_Difficulty = 0x00000022;
+const int CMD_Tell_Opponent = 0x00000023;
+const int CMD_Tell_Others = 0x00000024;
+const int CMD_Tell_All = 0x00000025;
+const int CMD_Tell_ICS = 0x00000026;
+const int CMD_Set_Name = 0x00000028;
+
+/* Engine Specific */
+const int CMD_UCI_Hint = 0x00100001;
+const int CMD_Send_SIGTERM = 0x00100002;
+const int CMD_Send_SIGINT = 0x00100003;
+
+/* Internet specific commands */
+const int CMD_Reject_Draw = 0x01000001;
+const int CMD_Reset_Server = 0x01000002;
+const int CMD_Examine_Forward = 0x01000003;
+const int CMD_Examine_Backward = 0x01000004;
+const int CMD_Lost_Contact = 0x01000005;
+const int CMD_Bad_Login = 0x01000006;
+const int CMD_Toggle_Seek = 0x01000007;
+const int CMD_Assess = 0x01000008;
+const int CMD_Player_Finger = 0x01000009;
+const int CMD_Player_History = 0x0100000a;
+const int CMD_Add_Friend = 0x0100000b;
+const int CMD_Ignore_Player = 0x0100000c;
+const int CMD_Start_Match = 0x0100000d;
+
+/* These commands are from Match to Core ONLY */
+const int CMD_New_Players = 0x02000001;
+
+/* These commands are sent to ICS Related Widgets */
+const int CMD_Add_Sought_Match = 0x03000001;
+const int CMD_Show_Sought_List = 0x03000002;
+const int CMD_Hide_Sought_List = 0x03000003;
+const int CMD_Set_Input = 0x03000004;
+const int CMD_Set_Src_Tell = 0x03000005;
+const int CMD_Set_Src_Channel = 0x03000006;
+const int CMD_Append_To_Console = 0x03000007;
+const int CMD_Send_To_ICS = 0x03000008;
+
+class Command
+{
+
+protected:
+ int white_time; // Centiseconds
+ int black_time; // Centiseconds
+ struct ChessMove move;
+ int command;
+ int id;
+ QString data; // Generic String... used for ICS and FEN, etc.
+
+public:
+ Command( int ID, int Command );
+ Command( int ID, int Command, QString Data );
+ Command( int ID, int Command, int WhiteTime, int BlackTime, struct ChessMove Move );
+ Command( int ID, int Command, int WhiteTime, int BlackTime, struct ChessMove Move, QString Data );
+ Command( int ID, int Command, int WhiteTime, int BlackTime, QString Data );
+ Command();
+ ~Command();
+ void clear( void );
+
+ /* Static Public Members */
+ static void clearMove( struct ChessMove *Move );
+
+ /* Inline Members */
+ int getWhiteTime( void )
+ {
+ return white_time;
+ }
+
+ int getBlackTime( void )
+ {
+ return black_time;
+ }
+
+ struct ChessMove& getMove( void )
+ {
+ return move;
+ }
+
+ int getID( void )
+ {
+ return id;
+ }
+
+ int getCommand( void )
+ {
+ return command;
+ }
+
+ QString& getData( void )
+ {
+ return data;
+ }
+
+ void setWhiteTime( int time )
+ {
+ white_time = time;
+ }
+
+ void setBlackTime( int time )
+ {
+ black_time = time;
+ }
+
+ void setMove( struct ChessMove &NewMove )
+ {
+ move = NewMove;
+ }
+
+ void setID( int NewID )
+ {
+ id = NewID;
+ }
+
+ void setCommand( int &NewCommand )
+ {
+ command = NewCommand;
+ }
+
+ void setData( QString &NewData )
+ {
+ data = NewData;
+ }
+};
+
+#endif