Class Garmin.DeviceControl

Object
   |
   +--Garmin.DeviceControl

class Garmin.DeviceControl


Garmin.DeviceControl The controller must be unlocked before anything can be done with it. Then you'll have to find a device before you can start to read data from and write data to the device.

We use the observer pattern (http://en.wikipedia.org/wiki/Observer_pattern) to handle the asynchronous nature of device communication. You must register your class as a listener to this Object and then implement methods that will get called on certain events.

Events:

onStartFindDevices called when starting to search for devices. the object returned is {controller: this}

onCancelFindDevices is called when the controller is told to cancel finding devices {controller: this}

onFinishFindDevices called when the devices are found. the object returned is {controller: this}

onException is called when an exception occurs in a method object passed back is {msg: exception}

onInteractionWithNoDevice is called when the device is lazy loaded, but finds no devices, yet still attempts a read/write action {controller: this}

onStartReadFromDevice is called when the controller is about to start reading from the device {controller: this}

onFinishReadFromDevice is called when the controller is done reading the device. the read is either a success or failure, which is communicated via json. object passed back contains {success:this.garminPlugin.GpsTransferSucceeded, controller: this}

onWaitingReadFromDevice is called when the controller is waiting for input from the user about the device. object passed back contains: {message: this.garminPlugin.MessageBoxXml, controller: this}

onProgressReadFromDevice is called when the controller is still reading information from the device. in this case the message is a percent complete/ {progress: this.getDeviceStatus(), controller: this}

onCancelReadFromDevice is called when the controller is told to cancel reading from the device {controller: this}

onFinishWriteToDevice is called when the controller is done writing to the device. the write is either a success or failure, which is communicated via json. object passed back contains {success:this.garminPlugin.GpsTransferSucceeded, controller: this}

onWaitingWriteToDevice is called when the controller is waiting for input from the user about the device. object passed back contains: {message: this.garminPlugin.MessageBoxXml, controller: this}

onProgressWriteToDevice is called when the controller is still writing information to the device. in this case the message is a percent complete/ {progress: this.getDeviceStatus(), controller: this}

onCancelWriteToDevice is called when the controller is told to cancel writing to the device {controller: this}


Defined in GarminDeviceControl.js

Requires:


Field Summary
<static>  Object FILE_TYPES
          Constants defining possible file types associated with read and write methods.
<static>  Object FINISH_STATES
          Constants defining possible states when you poll the finishActions
<static>  Object MESSAGES
          Constants defining possible errors messages for various errors on the page
<static>  Object REQUIRED_VERSION
          Current Version of the Garmin Communicator Plugin, and a complementary toString function to print it out with
<static>  Object TRANSFER_DIRECTIONS
          Constants defining the strings used by the Device.xml to indicate transfer direction of each file type
 
Constructor Summary
Garmin.DeviceControl()
            A controller object that can retrieve and send data to a Garmin device.

 
Method Summary
 Object _isAMember(element, array)
          
 Object _majorVersionToNumber(versionArray)
          
 Object _messageWaiting()
           Called when device generates a message.
 Object _versionToNumber(versionArray)
          
 void cancelFindDevices()
           Cancels the current find devices interaction
 void cancelReadFromDevice()
           User canceled the read.
 void cancelWriteToDevice()
           Cancels the current write transfer to the device
 void downlaodToDevice(<String> xmlDownloadDescription, filename)
           Writes GPI info to the currently selected device.
 void findDevices()
           Finds any connected Garmin Devices.
 Array getDevices()
           Get a list of the devices found
 Garmin.TransferProgress getDeviceStatus()
           Get the status/progress of the current state or transfer
 Array getPluginVersion()
           Gets the version number for the plugin the user has currently installed
 String getPluginVersionString()
           Gets a string of the version number for the plugin the user has currently installed
 void initialize()
           Instantiates a Garmin.DeviceControl object, but does not unlock/activate plugin.
 Boolean isActivated()
           DEPRICATED - This funciton will be removed in the next release!!
 Boolean isPluginInitialized()
           Determines if the plugin is initialized
 Boolean isPluginInstalled()
           Determines if the plugin is installed on the user's machine
 Boolean isPluginOutOfDate()
           Determines if the Garmin plugin is the required version or a newer version for this JavaScript library.
 Boolean isUnlocked()
           True if plugin has been successfully created and unlocked.
 void readDataFromDevice(<String> fileType)
           Generic read method.
 void readFromDevice()
           Asynchronously reads GPX data from the connected device.
 void readFromDeviceFitness()
           Asynchronously reads fotmess data (HST) from the connected device.
 void register(listener)
           Register to be an event listener.
 void respondToMessageBox(<Number> response)
           Responds to a message box on the device.
 void setDeviceNumber(deviceNumber)
           Sets the deviceNumber variable which determines which connected device to talk to.
 Boolean unlock(<Array> pathKeyPairsArray)
           Unlocks the GpsControl object to be used at the given web adress.
 void writeAddressToDevice(<String> address)
           Writes an address to the currently selected device.
 void writeToDevice(<String> gpxString, <String> fileName)
           Writes the given GPX XML string to the device selected in this.deviceNumber

Field Detail

FILE_TYPES

<static> Object FILE_TYPES

FINISH_STATES

<static> Object FINISH_STATES

MESSAGES

<static> Object MESSAGES

REQUIRED_VERSION

<static> Object REQUIRED_VERSION

TRANSFER_DIRECTIONS

<static> Object TRANSFER_DIRECTIONS

Constructor Detail

Garmin.DeviceControl

Garmin.DeviceControl()

Method Detail

_isAMember

Object _isAMember(element, array)

_majorVersionToNumber

Object _majorVersionToNumber(versionArray)

_messageWaiting

Object _messageWaiting()

_versionToNumber

Object _versionToNumber(versionArray)

cancelFindDevices

void cancelFindDevices()

cancelReadFromDevice

void cancelReadFromDevice()

cancelWriteToDevice

void cancelWriteToDevice()

downlaodToDevice

void downlaodToDevice(<String> xmlDownloadDescription, filename)

findDevices

void findDevices()

getDevices

Array getDevices()

getDeviceStatus

Garmin.TransferProgress getDeviceStatus()

getPluginVersion

Array getPluginVersion()

getPluginVersionString

String getPluginVersionString()

initialize

void initialize()

isActivated

Boolean isActivated()

isPluginInitialized

Boolean isPluginInitialized()

isPluginInstalled

Boolean isPluginInstalled()

isPluginOutOfDate

Boolean isPluginOutOfDate()

isUnlocked

Boolean isUnlocked()

readDataFromDevice

void readDataFromDevice(<String> fileType)

readFromDevice

void readFromDevice()

readFromDeviceFitness

void readFromDeviceFitness()

register

void register(listener)

respondToMessageBox

void respondToMessageBox(<Number> response)

setDeviceNumber

void setDeviceNumber(deviceNumber)

unlock

Boolean unlock(<Array> pathKeyPairsArray)

writeAddressToDevice

void writeAddressToDevice(<String> address)

writeToDevice

void writeToDevice(<String> gpxString, <String> fileName)


Documentation generated by JSDoc on Fri Jun 22 16:23:52 2007