GPSPhidget.java
Go to the documentation of this file.
00001 
00002 /*
00003  * Copyright 2012 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.*;
00010 import java.util.Calendar;
00021 public final class GPSPhidget extends Phidget
00022 {
00023         public GPSPhidget () throws PhidgetException
00024         {
00025                 super (create ());
00026         }
00027         private static native long create () throws PhidgetException;
00028 
00036         public native double getLatitude () throws PhidgetException;
00044         public native double getLongitude () throws PhidgetException;
00052         public native double getAltitude () throws PhidgetException;
00062         public native double getHeading () throws PhidgetException;
00070         public native double getVelocity () throws PhidgetException;
00078         public native Calendar getDateAndTime () throws PhidgetException;
00087         public native boolean getPositionFixStatus () throws PhidgetException;
00088 
00089         private final void enableDeviceSpecificEvents (boolean b)
00090         {
00091                 enableGPSPositionFixStatusChangeEvents (b && gpsPositionFixStatusChangeListeners.size () > 0);
00092                 enableGPSPositionChangeEvents (b && gpsPositionChangeListeners.size () > 0);
00093         }
00101         public final void addGPSPositionFixStatusChangeListener (GPSPositionFixStatusChangeListener l)
00102         {
00103                 synchronized (gpsPositionFixStatusChangeListeners)
00104                 {
00105                         gpsPositionFixStatusChangeListeners.add (l);
00106                         enableGPSPositionFixStatusChangeEvents (true);
00107         }} private LinkedList gpsPositionFixStatusChangeListeners = new LinkedList ();
00108         private long nativeGPSPositionFixStatusChangeHandler = 0;
00109         public final void removeGPSPositionFixStatusChangeListener (GPSPositionFixStatusChangeListener l)
00110         {
00111                 synchronized (gpsPositionFixStatusChangeListeners)
00112                 {
00113                         gpsPositionFixStatusChangeListeners.remove (l);
00114                         enableGPSPositionFixStatusChangeEvents (gpsPositionFixStatusChangeListeners.size () > 0);
00115         }} private void fireGPSPositionFixStatusChange (GPSPositionFixStatusChangeEvent e)
00116         {
00117                 synchronized (gpsPositionFixStatusChangeListeners)
00118                 {
00119                         for (Iterator it = gpsPositionFixStatusChangeListeners.iterator (); it.hasNext ();)
00120                                 ((GPSPositionFixStatusChangeListener) it.next ()).gpsPositionFixStatusChanged (e);
00121                 }
00122         }
00123         private native void enableGPSPositionFixStatusChangeEvents (boolean b);
00131         public final void addGPSPositionChangeListener (GPSPositionChangeListener l)
00132         {
00133                 synchronized (gpsPositionChangeListeners)
00134                 {
00135                         gpsPositionChangeListeners.add (l);
00136                         enableGPSPositionChangeEvents (true);
00137         }} private LinkedList gpsPositionChangeListeners = new LinkedList ();
00138         private long nativeGPSPositionChangeHandler = 0;
00139         public final void removeGPSPositionChangeListener (GPSPositionChangeListener l)
00140         {
00141                 synchronized (gpsPositionChangeListeners)
00142                 {
00143                         gpsPositionChangeListeners.remove (l);
00144                         enableGPSPositionChangeEvents (gpsPositionChangeListeners.size () > 0);
00145         }} private void fireGPSPositionChange (GPSPositionChangeEvent e)
00146         {
00147                 synchronized (gpsPositionChangeListeners)
00148                 {
00149                         for (Iterator it = gpsPositionChangeListeners.iterator (); it.hasNext ();)
00150                                 ((GPSPositionChangeListener) it.next ()).gpsPositionChanged (e);
00151                 }
00152         }
00153         private native void enableGPSPositionChangeEvents (boolean b);
00154 }


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