IRPhidget.java
Go to the documentation of this file.
00001 
00002 /*
00003  * Copyright 2010 Phidgets Inc.  All rights reserved.
00004  */
00005 
00006 package com.phidgets;
00007 import java.util.Iterator;
00008 import java.util.LinkedList;
00009 import com.phidgets.event.*;
00019 public final class IRPhidget extends Phidget
00020 {
00021         public IRPhidget () throws PhidgetException
00022         {
00023                 super (create ());
00024         }
00025         private static native long create () throws PhidgetException;
00026 
00031         public static final int RAWDATA_LONGSPACE = 0x7fffffff;
00032 
00040         public native void transmit (IRCode code, IRCodeInfo codeInfo) throws PhidgetException;
00046         public native void transmitRepeat () throws PhidgetException;
00058         public native void transmitRaw (int[]data, int offset, int count, int gap, int carrierFrequency, int dutyCycle) throws PhidgetException;
00065         public final void transmitRaw (int[]data) throws PhidgetException
00066         {
00067                 transmitRaw (data, 0, data.length, 0, 0, 0);
00068         }
00076         public final void transmitRaw (int[]data, int gap) throws PhidgetException
00077         {
00078                 transmitRaw (data, 0, data.length, gap, 0, 0);
00079         }
00088         public final void transmitRaw (int[]data, int offset, int count) throws PhidgetException
00089         {
00090                 transmitRaw (data, offset, count, 0, 0, 0);
00091         }
00101         public final void transmitRaw (int[]data, int offset, int count, int gap) throws PhidgetException
00102         {
00103                 transmitRaw (data, offset, count, gap, 0, 0);
00104         }
00114         public native int readRaw (int[]buffer, int offset, int count) throws PhidgetException;
00122         public final int readRaw (int[]buffer) throws PhidgetException
00123         {
00124                 return readRaw (buffer, 0, buffer.length);
00125         }
00132         public native IRCode getLastCode () throws PhidgetException;
00139         public native IRLearnedCode getLastLearnedCode () throws PhidgetException;
00140 
00141         private final void enableDeviceSpecificEvents (boolean b)
00142         {
00143                 enableCodeEvents (b && codeListeners.size () > 0);
00144                 enableLearnEvents (b && learnListeners.size () > 0);
00145                 enableRawDataEvents (b && rawDataListeners.size () > 0);
00146         }
00155         public final void addCodeListener (CodeListener l)
00156         {
00157                 synchronized (codeListeners)
00158                 {
00159                         codeListeners.add (l);
00160                         enableCodeEvents (true);
00161         }} private LinkedList codeListeners = new LinkedList ();
00162         private long nativeCodeHandler = 0;
00163         public final void removeCodeListener (CodeListener l)
00164         {
00165                 synchronized (codeListeners)
00166                 {
00167                         codeListeners.remove (l);
00168                         enableCodeEvents (codeListeners.size () > 0);
00169         }} private void fireCode (CodeEvent e)
00170         {
00171                 synchronized (codeListeners)
00172                 {
00173                         for (Iterator it = codeListeners.iterator (); it.hasNext ();)
00174                                 ((CodeListener) it.next ()).code (e);
00175                 }
00176         }
00177         private native void enableCodeEvents (boolean b);
00186         public final void addLearnListener (LearnListener l)
00187         {
00188                 synchronized (learnListeners)
00189                 {
00190                         learnListeners.add (l);
00191                         enableLearnEvents (true);
00192         }} private LinkedList learnListeners = new LinkedList ();
00193         private long nativeLearnHandler = 0;
00194         public final void removeLearnListener (LearnListener l)
00195         {
00196                 synchronized (learnListeners)
00197                 {
00198                         learnListeners.remove (l);
00199                         enableLearnEvents (learnListeners.size () > 0);
00200         }} private void fireLearn (LearnEvent e)
00201         {
00202                 synchronized (learnListeners)
00203                 {
00204                         for (Iterator it = learnListeners.iterator (); it.hasNext ();)
00205                                 ((LearnListener) it.next ()).learn (e);
00206                 }
00207         }
00208         private native void enableLearnEvents (boolean b);
00216         public final void addRawDataListener (RawDataListener l)
00217         {
00218                 synchronized (rawDataListeners)
00219                 {
00220                         rawDataListeners.add (l);
00221                         enableRawDataEvents (true);
00222         }} private LinkedList rawDataListeners = new LinkedList ();
00223         private long nativeRawDataHandler = 0;
00224         public final void removeRawDataListener (RawDataListener l)
00225         {
00226                 synchronized (rawDataListeners)
00227                 {
00228                         rawDataListeners.remove (l);
00229                         enableRawDataEvents (rawDataListeners.size () > 0);
00230         }} private void fireRawData (RawDataEvent e)
00231         {
00232                 synchronized (rawDataListeners)
00233                 {
00234                         for (Iterator it = rawDataListeners.iterator (); it.hasNext ();)
00235                                 ((RawDataListener) it.next ()).rawData (e);
00236                 }
00237         }
00238         private native void enableRawDataEvents (boolean b);
00239 }


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