/*
MobileRobots Advanced Robotics Navigation and Localization (ARNL)
Version 1.7.1

Copyright (C) 2004, 2005 ActivMedia Robotics LLC
Copyright (C) 2006, 2007, 2008, 2009 MobileRobots Inc.

All Rights Reserved.

MobileRobots Inc does not make any representations about the
suitability of this software for any purpose.  It is provided "as is"
without express or implied warranty.

The license for this software is distributed as LICENSE.txt in the top
level directory.

robots@mobilerobots.com
MobileRobots
10 Columbia Drive
Amherst, NH 03031
800-639-9481

*/
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.29
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

package com.mobilerobots.BaseArnl;

  import com.mobilerobots.Aria.*;
  import com.mobilerobots.ArNetworking.*;

public class ArServerModeGoto extends ArServerMode {
  private long swigCPtr;

  /* for internal use by swig only */
  public ArServerModeGoto(long cPtr, boolean cMemoryOwn) {
    super(BaseArnlJavaJNI.SWIGArServerModeGotoUpcast(cPtr), cMemoryOwn);
    swigCPtr = cPtr;
  }

  /* for internal use by swig only */
  public static long getCPtr(ArServerModeGoto obj) {
    return (obj == null) ? 0 : obj.swigCPtr;
  }

  protected void finalize() {
    delete();
  }

  public void delete() {
    if(swigCPtr != 0 && swigCMemOwn) {
      swigCMemOwn = false;
      BaseArnlJavaJNI.delete_ArServerModeGoto(swigCPtr);
    }
    swigCPtr = 0;
    super.delete();
  }

  public ArServerModeGoto(ArServerBase server, ArRobot robot, ArPathPlanningTask pathTask, ArMapInterface arMap, ArPose home, SWIGTYPE_p_ArRetFunctorTArPose_t getHomePoseCB) {
    this(BaseArnlJavaJNI.new_ArServerModeGoto__SWIG_0(ArServerBase.getCPtr(server), ArRobot.getCPtr(robot), ArPathPlanningTask.getCPtr(pathTask), ArMapInterface.getCPtr(arMap), ArPose.getCPtr(home), SWIGTYPE_p_ArRetFunctorTArPose_t.getCPtr(getHomePoseCB)), true);
  }

  public ArServerModeGoto(ArServerBase server, ArRobot robot, ArPathPlanningTask pathTask, ArMapInterface arMap, ArPose home) {
    this(BaseArnlJavaJNI.new_ArServerModeGoto__SWIG_1(ArServerBase.getCPtr(server), ArRobot.getCPtr(robot), ArPathPlanningTask.getCPtr(pathTask), ArMapInterface.getCPtr(arMap), ArPose.getCPtr(home)), true);
  }

  public ArServerModeGoto(ArServerBase server, ArRobot robot, ArPathPlanningTask pathTask, ArMapInterface arMap) {
    this(BaseArnlJavaJNI.new_ArServerModeGoto__SWIG_2(ArServerBase.getCPtr(server), ArRobot.getCPtr(robot), ArPathPlanningTask.getCPtr(pathTask), ArMapInterface.getCPtr(arMap)), true);
  }

  public void activate() {
    BaseArnlJavaJNI.ArServerModeGoto_activate(swigCPtr);
  }

  public void deactivate() {
    BaseArnlJavaJNI.ArServerModeGoto_deactivate(swigCPtr);
  }

  public void home() {
    BaseArnlJavaJNI.ArServerModeGoto_home(swigCPtr);
  }

  public void gotoGoal(String goal) {
    BaseArnlJavaJNI.ArServerModeGoto_gotoGoal(swigCPtr, goal);
  }

  public void gotoPose(ArPose pose, boolean useHeading) {
    BaseArnlJavaJNI.ArServerModeGoto_gotoPose(swigCPtr, ArPose.getCPtr(pose), useHeading);
  }

  public void tourGoals() {
    BaseArnlJavaJNI.ArServerModeGoto_tourGoals(swigCPtr);
  }

  public void tourGoalsInList(SWIGTYPE_p_std__dequeTstd__string_t goalList) {
    BaseArnlJavaJNI.ArServerModeGoto_tourGoalsInList(swigCPtr, SWIGTYPE_p_std__dequeTstd__string_t.getCPtr(goalList));
  }

  public void addTourGoalsInListSimpleCommand(ArServerHandlerCommands commandsServer) {
    BaseArnlJavaJNI.ArServerModeGoto_addTourGoalsInListSimpleCommand(swigCPtr, ArServerHandlerCommands.getCPtr(commandsServer));
  }

  public boolean isAutoResumeAfterInterrupt() {
    return BaseArnlJavaJNI.ArServerModeGoto_isAutoResumeAfterInterrupt(swigCPtr);
  }

}
