/*****************************************************************************
 * Class generated by TinkerForgeApiWrapper (C) 2013 Software Pearls BVBA
 *
 * Generated on   : Fri Feb 22 22:05:00 CET 2013
 * Generated from : Java API bindings v2.0.5
 *
 * GENERATED CODE. DO NOT EDIT.
 *
 * Generated code is (C) Copyright 2013 Software Pearls BVBA
 *****************************************************************************/
package com.softwarepearls.lego.hardware.tinkerforge.impl.tf.input;

import com.softwarepearls.lego.hardware.tinkerforge.impl.AbstractDevice;
import com.softwarepearls.lego.hardware.tinkerforge.interfaces.input.DistanceIR;
import com.tinkerforge.*;
import com.tinkerforge.BrickletDistanceIR.AnalogValueCallbackThreshold;
import com.tinkerforge.BrickletDistanceIR.AnalogValueListener;
import com.tinkerforge.BrickletDistanceIR.AnalogValueReachedListener;
import com.tinkerforge.BrickletDistanceIR.DistanceCallbackThreshold;
import com.tinkerforge.BrickletDistanceIR.DistanceListener;
import com.tinkerforge.BrickletDistanceIR.DistanceReachedListener;
import com.tinkerforge.Device.Identity;
import com.tinkerforge.TinkerforgeException;

public class TFDistanceIR extends AbstractDevice implements DistanceIR {

   private final BrickletDistanceIR brickletDistanceIR;

   public TFDistanceIR(final String uid, final IPConnection ipConnection) {
		brickletDistanceIR = new BrickletDistanceIR(uid, ipConnection);
   }

   // Getter methods
   public AnalogValueCallbackThreshold getAnalogValueCallbackThreshold() throws TinkerforgeException {

		return brickletDistanceIR.getAnalogValueCallbackThreshold();
   }

   public DistanceCallbackThreshold getDistanceCallbackThreshold() throws TinkerforgeException {

		return brickletDistanceIR.getDistanceCallbackThreshold();
   }

   public Identity getIdentity() throws TinkerforgeException {

		return brickletDistanceIR.getIdentity();
   }

   public int getAnalogValue() throws TinkerforgeException {

		return brickletDistanceIR.getAnalogValue();
   }

   public int getDistance() throws TinkerforgeException {

		return brickletDistanceIR.getDistance();
   }

   public int getSamplingPoint(final short aShort) throws TinkerforgeException {

		return brickletDistanceIR.getSamplingPoint( aShort);
   }

   public long getAnalogValueCallbackPeriod() throws TinkerforgeException {

		return brickletDistanceIR.getAnalogValueCallbackPeriod();
   }

   public long getDebouncePeriod() throws TinkerforgeException {

		return brickletDistanceIR.getDebouncePeriod();
   }

   public long getDistanceCallbackPeriod() throws TinkerforgeException {

		return brickletDistanceIR.getDistanceCallbackPeriod();
   }


   // Setter methods
   public void setAnalogValueCallbackPeriod(final long aLong) throws TinkerforgeException {

		 brickletDistanceIR.setAnalogValueCallbackPeriod( aLong);
   }

   public void setAnalogValueCallbackThreshold(final char aChar, final int aInt, final int aInt2) throws TinkerforgeException {

		 brickletDistanceIR.setAnalogValueCallbackThreshold( aChar,  aInt,  aInt2);
   }

   public void setDebouncePeriod(final long aLong) throws TinkerforgeException {

		 brickletDistanceIR.setDebouncePeriod( aLong);
   }

   public void setDistanceCallbackPeriod(final long aLong) throws TinkerforgeException {

		 brickletDistanceIR.setDistanceCallbackPeriod( aLong);
   }

   public void setDistanceCallbackThreshold(final char aChar, final short aShort, final short aShort2) throws TinkerforgeException {

		 brickletDistanceIR.setDistanceCallbackThreshold( aChar,  aShort,  aShort2);
   }

   public void setSamplingPoint(final short aShort, final int aInt) throws TinkerforgeException {

		 brickletDistanceIR.setSamplingPoint( aShort,  aInt);
   }


   // Listener methods
   public void addAnalogValueListener(final AnalogValueListener aAnalogValueListener) {

		 brickletDistanceIR.addAnalogValueListener( aAnalogValueListener);
   }

   public void addAnalogValueReachedListener(final AnalogValueReachedListener aAnalogValueReachedListener) {

		 brickletDistanceIR.addAnalogValueReachedListener( aAnalogValueReachedListener);
   }

   public void addDistanceListener(final DistanceListener aDistanceListener) {

		 brickletDistanceIR.addDistanceListener( aDistanceListener);
   }

   public void addDistanceReachedListener(final DistanceReachedListener aDistanceReachedListener) {

		 brickletDistanceIR.addDistanceReachedListener( aDistanceReachedListener);
   }

   public void removeAnalogValueListener(final AnalogValueListener aAnalogValueListener) {

		 brickletDistanceIR.removeAnalogValueListener( aAnalogValueListener);
   }

   public void removeAnalogValueReachedListener(final AnalogValueReachedListener aAnalogValueReachedListener) {

		 brickletDistanceIR.removeAnalogValueReachedListener( aAnalogValueReachedListener);
   }

   public void removeDistanceListener(final DistanceListener aDistanceListener) {

		 brickletDistanceIR.removeDistanceListener( aDistanceListener);
   }

   public void removeDistanceReachedListener(final DistanceReachedListener aDistanceReachedListener) {

		 brickletDistanceIR.removeDistanceReachedListener( aDistanceReachedListener);
   }

} // end of generated source code for class 'TFDistanceIR'
