/** (C) Game Page Network, Inc., Confidential, All Rights Reserved */
// QuitCommand.java
// --paul@gamepage.net, 21jul97

import java.util.*;

public class QuitCommand extends Command {
  QuitCommand() {
    super("quit", -1, null,
          "Clean logout of GPN session.\n"+
          "Must first complete active game, else\n"+
	  "do quit ! to force immediate resignation.");
    anonymous = true;
  }
  public void process(StringTokenizer args, Client c) {
    c.prepareQuit();		// set active to false
    Member current = c.getMember();
    if (current==null)
      return;
    
    boolean force = args.hasMoreTokens() && "!".equals(args.nextToken());
    if (current.isPlayingActive() && !force) {
      c.send("! quit: complete game in progress or quit !");
      return;
    }
    c.send("bye "+current+" "+current.getRating(false)+" "+c.sessionMinutes());
    Table.logout(current,null);
    c.close(false);
  }
}
