/**@class android.media.midi.MidiDeviceInfo
 implements android.os.Parcelable

@extends java.lang.Object

 This class contains information to describe a MIDI device.
 For now we only have information that can be retrieved easily for USB devices,
 but we will probably expand this in the future.

 This class is just an immutable object to encapsulate the MIDI device description.
 Use the MidiDevice class to actually communicate with devices.
*/
var MidiDeviceInfo = {

/** Constant representing USB MIDI devices for {@link #getType}
*/
TYPE_USB : "1",
/** Constant representing virtual (software based) MIDI devices for {@link #getType}
*/
TYPE_VIRTUAL : "2",
/** Constant representing Bluetooth MIDI devices for {@link #getType}
*/
TYPE_BLUETOOTH : "3",
/** Bundle key for the device's user visible name property.
 The value for this property is of type {@link java.lang.String}.
 Used with the {@link android.os.Bundle} returned by {@link #getProperties}.
 For USB devices, this is a concatenation of the manufacturer and product names.
*/
PROPERTY_NAME : "name",
/** Bundle key for the device's manufacturer name property.
 The value for this property is of type {@link java.lang.String}.
 Used with the {@link android.os.Bundle} returned by {@link #getProperties}.
 Matches the USB device manufacturer name string for USB MIDI devices.
*/
PROPERTY_MANUFACTURER : "manufacturer",
/** Bundle key for the device's product name property.
 The value for this property is of type {@link java.lang.String}.
 Used with the {@link android.os.Bundle} returned by {@link #getProperties}
 Matches the USB device product name string for USB MIDI devices.
*/
PROPERTY_PRODUCT : "product",
/** Bundle key for the device's version property.
 The value for this property is of type {@link java.lang.String}.
 Used with the {@link android.os.Bundle} returned by {@link #getProperties}
 Matches the USB device version number for USB MIDI devices.
*/
PROPERTY_VERSION : "version",
/** Bundle key for the device's serial number property.
 The value for this property is of type {@link java.lang.String}.
 Used with the {@link android.os.Bundle} returned by {@link #getProperties}
 Matches the USB device serial number for USB MIDI devices.
*/
PROPERTY_SERIAL_NUMBER : "serial_number",
/** Bundle key for the device's corresponding USB device.
 The value for this property is of type {@link android.hardware.usb.UsbDevice}.
 Only set for USB MIDI devices.
 Used with the {@link android.os.Bundle} returned by {@link #getProperties}
*/
PROPERTY_USB_DEVICE : "usb_device",
/** Bundle key for the device's corresponding Bluetooth device.
 The value for this property is of type {@link android.bluetooth.BluetoothDevice}.
 Only set for Bluetooth MIDI devices.
 Used with the {@link android.os.Bundle} returned by {@link #getProperties}
*/
PROPERTY_BLUETOOTH_DEVICE : "bluetooth_device",
/** Bundle key for the device's ALSA card number.
 The value for this property is an integer.
 Only set for USB MIDI devices.
 Used with the {@link android.os.Bundle} returned by {@link #getProperties}

 @hide
*/
PROPERTY_ALSA_CARD : "alsa_card",
/** Bundle key for the device's ALSA device number.
 The value for this property is an integer.
 Only set for USB MIDI devices.
 Used with the {@link android.os.Bundle} returned by {@link #getProperties}

 @hide
*/
PROPERTY_ALSA_DEVICE : "alsa_device",
/** ServiceInfo for the service hosting the device implementation.
 The value for this property is of type {@link android.content.pm.ServiceInfo}.
 Only set for Virtual MIDI devices.
 Used with the {@link android.os.Bundle} returned by {@link #getProperties}

 @hide
*/
PROPERTY_SERVICE_INFO : "service_info",
/***/
CREATOR : "null",
/**Returns the type of the device.
@return {Number} the device's type
*/
getType : function(  ) {},

/**Returns the ID of the device.
 This ID is generated by the MIDI service and is not persistent across device unplugs.
@return {Number} the device's ID
*/
getId : function(  ) {},

/**Returns the device's number of input ports.
@return {Number} the number of input ports
*/
getInputPortCount : function(  ) {},

/**Returns the device's number of output ports.
@return {Number} the number of output ports
*/
getOutputPortCount : function(  ) {},

/**Returns information about the device's ports.
 The ports are in unspecified order.
@return {Object {android.media.midi.MidiDeviceInfo.PortInfo}} array of {@link PortInfo}
*/
getPorts : function(  ) {},

/**Returns the {@link android.os.Bundle} containing the device's properties.
@return {Object {android.os.Bundle}} the device's properties
*/
getProperties : function(  ) {},

/**Returns true if the device is private.  Private devices are only visible and accessible
 to clients with the same UID as the application that is hosting the device.
@return {Boolean} true if the device is private
*/
isPrivate : function(  ) {},

/**
*/
equals : function(  ) {},

/**
*/
hashCode : function(  ) {},

/**
*/
toString : function(  ) {},

/**
*/
describeContents : function(  ) {},

/**
*/
writeToParcel : function(  ) {},


};