/*
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 ArServerHandlerMultiRobotPeer {
  private long swigCPtr;
  protected boolean swigCMemOwn;

  /* for internal use by swig only */
  public ArServerHandlerMultiRobotPeer(long cPtr, boolean cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = cPtr;
  }

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

  protected void finalize() {
    delete();
  }

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

  public ArServerHandlerMultiRobotPeer(ArServerBase server, ArRobot robot, ArPathPlanningTask pathTask, ArBaseLocalizationTask lockTask) {
    this(BaseArnlJavaJNI.new_ArServerHandlerMultiRobotPeer(ArServerBase.getCPtr(server), ArRobot.getCPtr(robot), ArPathPlanningTask.getCPtr(pathTask), ArBaseLocalizationTask.getCPtr(lockTask)), true);
  }

  public void setPrecedenceClass(int precedenceClass) {
    BaseArnlJavaJNI.ArServerHandlerMultiRobotPeer_setPrecedenceClass(swigCPtr, precedenceClass);
  }

  public int getPrecedenceClass() {
    return BaseArnlJavaJNI.ArServerHandlerMultiRobotPeer_getPrecedenceClass(swigCPtr);
  }

  public void setNewPrecedenceCallback(SWIGTYPE_p_ArFunctor2Tshort_short_t newPrecedenceCallback) {
    BaseArnlJavaJNI.ArServerHandlerMultiRobotPeer_setNewPrecedenceCallback(swigCPtr, SWIGTYPE_p_ArFunctor2Tshort_short_t.getCPtr(newPrecedenceCallback));
  }

  public void setNewFingerprintCallback(SWIGTYPE_p_ArFunctor1Tunsigned_char_p_t newFingerprintCallback) {
    BaseArnlJavaJNI.ArServerHandlerMultiRobotPeer_setNewFingerprintCallback(swigCPtr, SWIGTYPE_p_ArFunctor1Tunsigned_char_p_t.getCPtr(newFingerprintCallback));
  }

  public ArFunctor getChangeFingerprintCB() {
    long cPtr = BaseArnlJavaJNI.ArServerHandlerMultiRobotPeer_getChangeFingerprintCB(swigCPtr);
    return (cPtr == 0) ? null : new ArFunctor(cPtr, false);
  }

  public void changeFingerprint(boolean lockRobot) {
    BaseArnlJavaJNI.ArServerHandlerMultiRobotPeer_changeFingerprint__SWIG_0(swigCPtr, lockRobot);
  }

  public void changeFingerprint() {
    BaseArnlJavaJNI.ArServerHandlerMultiRobotPeer_changeFingerprint__SWIG_1(swigCPtr);
  }

  public void netGetFingerprint(ArServerClient client, ArNetPacket packet) {
    BaseArnlJavaJNI.ArServerHandlerMultiRobotPeer_netGetFingerprint(swigCPtr, ArServerClient.getCPtr(client), ArNetPacket.getCPtr(packet));
  }

  public void netAdjustPrecedence(ArServerClient client, ArNetPacket packet) {
    BaseArnlJavaJNI.ArServerHandlerMultiRobotPeer_netAdjustPrecedence(swigCPtr, ArServerClient.getCPtr(client), ArNetPacket.getCPtr(packet));
  }

  public void netRobotInfo(ArServerClient client, ArNetPacket packet) {
    BaseArnlJavaJNI.ArServerHandlerMultiRobotPeer_netRobotInfo(swigCPtr, ArServerClient.getCPtr(client), ArNetPacket.getCPtr(packet));
  }

  public void netPathInfo(ArServerClient client, ArNetPacket packet) {
    BaseArnlJavaJNI.ArServerHandlerMultiRobotPeer_netPathInfo(swigCPtr, ArServerClient.getCPtr(client), ArNetPacket.getCPtr(packet));
  }

  public void netShortPathInfo(ArServerClient client, ArNetPacket packet) {
    BaseArnlJavaJNI.ArServerHandlerMultiRobotPeer_netShortPathInfo(swigCPtr, ArServerClient.getCPtr(client), ArNetPacket.getCPtr(packet));
  }

  public boolean processFile(String errorBuffer, long errorBufferLen) {
    return BaseArnlJavaJNI.ArServerHandlerMultiRobotPeer_processFile(swigCPtr, errorBuffer, errorBufferLen);
  }

}
