Add pause function to mamer
[capablanca.git] / lasker-2.2.3 / bots / mamer / CommandEntry.cc
index c9b25f0..c097030 100644 (file)
@@ -3,14 +3,13 @@
 //
 // Matthew E. Moses & Michael A. Long
 //
-// $Log: CommandEntry.cc,v $
-// Revision 1.15  2002/07/02 00:05:19  tridge
-// got rid of a bunch of RCS tags now that its in CVS
+// $Revision: 1.13 $
+// $Date: 1998/09/10 19:57:17 $
 //
-// Revision 1.14  2002/07/02 00:02:40  tridge
-// - fixed compile on g++ 2.96
-// - updated for lasker 'rmatch'
+// $Author: mlong $
+// $Locker:  $
 //
+// $Log: CommandEntry.cc,v $
 // Revision 1.13  1998/09/10 19:57:17  mlong
 // lots of little bug fixes and a few new features
 //
@@ -49,6 +48,8 @@
 //
 //--------------------------------------------------------------------------
 
+// static char RCSid[] = "$Id: CommandEntry.cc,v 1.13 1998/09/10 19:57:17 mlong Exp $";
+
 #include "CommandEntry.hh"
 #include "Mamer.hh"
 
@@ -575,6 +576,37 @@ int CommandEntry::OpenTourney(User *user, param_list params) {
   return(0);
 }//- End OpenTourney
 
+//- PauseTourney ------------------------------------------------------------
+int CommandEntry::PauseTourney(User *user, param_list params) {
+  Tourney *tourn = NULL;
+
+  tourn = gMamer.FindTourney(params[0].val.integer);
+  if(NULL != tourn) {
+    if(tourn->GetStatus() == CLOSED) {
+      tourn->SetPause(TRUE);
+    }
+    return(1);
+  }
+  gMamer.TellUser(NotFound, user->name, "tourney");  
+  return(0);
+}//- End PauseTourney
+
+//- ResumeTourney ------------------------------------------------------------
+int CommandEntry::ResumeTourney(User *user, param_list params) {
+  Tourney *tourn = NULL;
+
+  tourn = gMamer.FindTourney(params[0].val.integer);
+  if(NULL != tourn) {
+    if(tourn->GetStatus() == CLOSED && tourn->IsPaused()) {
+      tourn->SetPause(FALSE); // unpause
+      gMamer.NextRound(); // and start next round
+    }
+    return(1);
+  }
+  gMamer.TellUser(NotFound, user->name, "tourney");  
+  return(0);
+}//- End ResumeTourney
+
 //- AnnounceTourney ----------------------------------------------------------
 int CommandEntry::AnnounceTourney(User *user, param_list params) {
   Tourney *tourn = NULL;
@@ -749,16 +781,17 @@ int CommandEntry::ListTourneys(User *user, param_list params) {
 int CommandEntry::JoinTourney(User *user, param_list params) {
   Tourney *tourn = NULL;
   Player *newEntry = NULL;
-
+printf("join\n");
   tourn = gMamer.FindTourney(params[0].val.integer);
   
   if(NULL != tourn) {    
     newEntry = new Player(user->name, params[0].val.integer);
+printf("entry=%d\n",newEntry);
     gMamer.pendingList.Append(newEntry);
     gMamer.XServerCom("getpi %s%s", user->name, "\n");
     return(1);
   }
-
+printf("error\n");
   gMamer.TellUser(TourneyNotFound, user->name, params[0].val.integer);
   return(0);
 }