InterfaceKitPhidget.java
Go to the documentation of this file.
00001 /*
00002  * Copyright 2012 Phidgets Inc.  All rights reserved.
00003  */
00004 
00005 package com.phidgets;
00006 
00007 import java.util.Iterator;
00008 import java.util.LinkedList;
00009 
00010 import com.phidgets.event.*;
00011 
00026 public final class InterfaceKitPhidget extends Phidget
00027 {
00035         public InterfaceKitPhidget() throws PhidgetException {
00036                 super(create());
00037         }
00038 
00039         private static native long create() throws PhidgetException;
00040 
00049         public native int getOutputCount() throws PhidgetException;
00050 
00059         public native int getInputCount() throws PhidgetException;
00060 
00069         public native int getSensorCount() throws PhidgetException;
00070 
00079         public native int getDataRateMin(int index) throws PhidgetException;
00080 
00089         public native int getDataRateMax(int index) throws PhidgetException;
00090 
00103         public native boolean getInputState(int index) throws PhidgetException;
00104 
00119         public native boolean getOutputState(int index) throws PhidgetException;
00120 
00135         public native int getSensorValue(int index) throws PhidgetException;
00136 
00147         public native int getSensorRawValue(int index) throws PhidgetException;
00148 
00159         public native int getSensorChangeTrigger(int index)
00160           throws PhidgetException;
00161 
00170         public native int getDataRate(int index)
00171           throws PhidgetException;
00172 
00180         public native boolean getRatiometric()
00181           throws PhidgetException;
00182 
00191         public native void setOutputState(int index, boolean newVal)
00192           throws PhidgetException;
00193 
00204         public native void setSensorChangeTrigger(int index, int newVal)
00205           throws PhidgetException;
00206 
00215         public native void setDataRate(int index, int newVal)
00216           throws PhidgetException;
00217 
00226         public native void setRatiometric(boolean state)
00227           throws PhidgetException;
00228 
00229         private final void enableDeviceSpecificEvents(boolean b) {
00230                 enableInputChangeEvents(b && inputChangeListeners.size() > 0);
00231                 enableOutputChangeEvents(b && outputChangeListeners.size() > 0);
00232                 enableSensorChangeEvents(b && sensorChangeListeners.size() > 0);
00233         }
00234 
00235         private LinkedList inputChangeListeners = new LinkedList();
00236         private long nativeInputChangeHandler = 0;
00237 
00246         public final void addInputChangeListener(InputChangeListener l) {
00247                 synchronized (inputChangeListeners) {
00248                         inputChangeListeners.add(l);
00249                         enableInputChangeEvents(true);
00250                 }
00251         }
00252 
00256         public final void removeInputChangeListener(InputChangeListener l) {
00257                 synchronized (inputChangeListeners) {
00258                         inputChangeListeners.remove(l);
00259                         enableInputChangeEvents(inputChangeListeners.size() >
00260                           0);
00261                 }
00262         }
00263         private void fireInputChange(InputChangeEvent e) {
00264                 synchronized (inputChangeListeners) {
00265                         for (Iterator it = inputChangeListeners.iterator();
00266                           it.hasNext(); )
00267                                 ((InputChangeListener)it.next()).inputChanged(
00268                                   e);
00269                 }
00270         }
00271         private native void enableInputChangeEvents(boolean b);
00272 
00273         private LinkedList outputChangeListeners = new LinkedList();
00274         private long nativeOutputChangeHandler = 0;
00275 
00284         public final void addOutputChangeListener(OutputChangeListener l) {
00285                 synchronized (outputChangeListeners) {
00286                         outputChangeListeners.add(l);
00287                         enableOutputChangeEvents(true);
00288                 }
00289         }
00290 
00294         public final void removeOutputChangeListener(OutputChangeListener l) {
00295                 synchronized (outputChangeListeners) {
00296                         outputChangeListeners.remove(l);
00297                         enableOutputChangeEvents(outputChangeListeners.size()
00298                           > 0);
00299                 }
00300         }
00301         private void fireOutputChange(OutputChangeEvent e) {
00302                 synchronized (outputChangeListeners) {
00303                         for (Iterator it = outputChangeListeners.iterator();
00304                           it.hasNext(); )
00305                                 ((OutputChangeListener)it.next())
00306                                   .outputChanged(e);
00307                 }
00308         }
00309         private native void enableOutputChangeEvents(boolean b);
00310 
00311         private LinkedList sensorChangeListeners = new LinkedList();
00312         private long nativeSensorChangeHandler = 0;
00313 
00322         public final void addSensorChangeListener(SensorChangeListener l) {
00323                 synchronized (sensorChangeListeners) {
00324                         sensorChangeListeners.add(l);
00325                         enableSensorChangeEvents(true);
00326                 }
00327         }
00328 
00332         public final void removeSensorChangeListener(SensorChangeListener l) {
00333                 synchronized (sensorChangeListeners) {
00334                         sensorChangeListeners.remove(l);
00335                         enableSensorChangeEvents(sensorChangeListeners.size()
00336                           > 0);
00337                 }
00338         }
00339         private void fireSensorChange(SensorChangeEvent e) {
00340                 synchronized (sensorChangeListeners) {
00341                         for (Iterator it = sensorChangeListeners.iterator();
00342                           it.hasNext(); )
00343                                 ((SensorChangeListener)it.next())
00344                                   .sensorChanged(e);
00345                 }
00346         }
00347         private native void enableSensorChangeEvents(boolean b);
00348 }


pedal_monitor
Author(s): Pedro Mendes
autogenerated on Fri Jun 6 2014 18:37:21