wiiremotej
Class GuitarExtension

java.lang.Object
  extended by wiiremotej.WiiRemoteExtension
      extended by wiiremotej.GuitarExtension

public class GuitarExtension
extends WiiRemoteExtension

A class representing a Nintendo (R) Wii Remote (TM) Guitar extension. It has information about the extension and can create WRGuitarExtensionEvents.


Constructor Summary
GuitarExtension(int payload)
          Creates a new GuitarExtension with the given payload.
 
Method Summary
 WRGuitarExtensionEvent createWRExtensionEvent(WiiRemote source, byte[] input, int offset)
          Creates and returns a new WRGuitarExtensionEvent from the given input.
 void decryptExtensionInput(byte[] bytes, int firstIndex, int len)
          Applies any necessary transformation to the specified byte array to decrypt extension input.
 GuitarCalibrationData getCalibrationData()
          Returns the calibration information for the Guitar.
 short getCode()
          Returns the extension code for this extension, used by WRExtensionFactories in determining what kind of extension this is.
 boolean isPayloadValid(int payload)
          Checks if the given payload is valid for this extension.
 
Methods inherited from class wiiremotej.WiiRemoteExtension
getPayload
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

GuitarExtension

public GuitarExtension(int payload)
Creates a new GuitarExtension with the given payload.

Parameters:
payload - the number of bytes needed to create an event with this extension.
Method Detail

createWRExtensionEvent

public WRGuitarExtensionEvent createWRExtensionEvent(WiiRemote source,
                                                     byte[] input,
                                                     int offset)
Creates and returns a new WRGuitarExtensionEvent from the given input. Note, this synchronizes on an internal object to prevent guitar events from being created simultaneously.

Specified by:
createWRExtensionEvent in class WiiRemoteExtension
Parameters:
source - the WiiRemote triggering this event.
input - the data input from the guitar.
offset - the position of the first byte of extension data in input.
Returns:
a new WRGuitarExtensionEvent.

getCalibrationData

public GuitarCalibrationData getCalibrationData()
Returns the calibration information for the Guitar.

Returns:
the calibration information for the Guitar.

isPayloadValid

public boolean isPayloadValid(int payload)
Checks if the given payload is valid for this extension. The guitar only accepts a payload of 6.

Specified by:
isPayloadValid in class WiiRemoteExtension
Parameters:
payload - the payload to check.
Returns:
true if this extension will accept the given payload; otherwise, false.

decryptExtensionInput

public void decryptExtensionInput(byte[] bytes,
                                  int firstIndex,
                                  int len)
Applies any necessary transformation to the specified byte array to decrypt extension input.

Specified by:
decryptExtensionInput in class WiiRemoteExtension
Parameters:
bytes - the byte array to decrypt.
firstIndex - the first index to decrypt.
len - the number of bytes to decrypt.

getCode

public short getCode()
Returns the extension code for this extension, used by WRExtensionFactories in determining what kind of extension this is. Note this is the decrypted code.

Specified by:
getCode in class WiiRemoteExtension
Returns:
the extension code for this extension.