/*
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 ArMultiRobotPeerRangeDevice extends ArRangeDevice {
  private long swigCPtr;

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

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

  protected void finalize() {
    delete();
  }

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

  public ArMultiRobotPeerRangeDevice(ArMapInterface arMap) {
    this(BaseArnlJavaJNI.new_ArMultiRobotPeerRangeDevice(ArMapInterface.getCPtr(arMap)), true);
  }

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

  public void sensorInterpCallback() {
    BaseArnlJavaJNI.ArMultiRobotPeerRangeDevice_sensorInterpCallback(swigCPtr);
  }

  public void setPrecedence(short precedenceBase, short precedenceClass) {
    BaseArnlJavaJNI.ArMultiRobotPeerRangeDevice_setPrecedence(swigCPtr, precedenceBase, precedenceClass);
  }

  public void setFingerprint(SWIGTYPE_p_unsigned_char fingerprint) {
    BaseArnlJavaJNI.ArMultiRobotPeerRangeDevice_setFingerprint(swigCPtr, SWIGTYPE_p_unsigned_char.getCPtr(fingerprint));
  }

  public SWIGTYPE_p_ArFunctor2Tshort_short_t getSetPrecedenceCallback() {
    long cPtr = BaseArnlJavaJNI.ArMultiRobotPeerRangeDevice_getSetPrecedenceCallback(swigCPtr);
    return (cPtr == 0) ? null : new SWIGTYPE_p_ArFunctor2Tshort_short_t(cPtr, false);
  }

  public SWIGTYPE_p_ArFunctor1Tunsigned_char_p_t getSetFingerprintCallback() {
    long cPtr = BaseArnlJavaJNI.ArMultiRobotPeerRangeDevice_getSetFingerprintCallback(swigCPtr);
    return (cPtr == 0) ? null : new SWIGTYPE_p_ArFunctor1Tunsigned_char_p_t(cPtr, false);
  }

  public void setChangeFingerprintCB(ArFunctor functor) {
    BaseArnlJavaJNI.ArMultiRobotPeerRangeDevice_setChangeFingerprintCB(swigCPtr, ArFunctor.getCPtr(functor));
  }

  public void mapChanged() {
    BaseArnlJavaJNI.ArMultiRobotPeerRangeDevice_mapChanged(swigCPtr);
  }

  public void setRobot(ArRobot robot) {
    BaseArnlJavaJNI.ArMultiRobotPeerRangeDevice_setRobot(swigCPtr, ArRobot.getCPtr(robot));
  }

  public void applyTransform(ArTransform trans, boolean doCumulative) {
    BaseArnlJavaJNI.ArMultiRobotPeerRangeDevice_applyTransform(swigCPtr, ArTransform.getCPtr(trans), doCumulative);
  }

  public SWIGTYPE_p_std__listTArMultiRobotPoseAndRadius_t getOtherRobots() {
    return new SWIGTYPE_p_std__listTArMultiRobotPoseAndRadius_t(BaseArnlJavaJNI.ArMultiRobotPeerRangeDevice_getOtherRobots(swigCPtr), true);
  }

  public SWIGTYPE_p_ArRetFunctorTstd__listTArMultiRobotPoseAndRadius_t_t getOtherRobotsCB() {
    long cPtr = BaseArnlJavaJNI.ArMultiRobotPeerRangeDevice_getOtherRobotsCB(swigCPtr);
    return (cPtr == 0) ? null : new SWIGTYPE_p_ArRetFunctorTstd__listTArMultiRobotPoseAndRadius_t_t(cPtr, false);
  }

}
