Index: media/midi/usb_midi_jack.h |
diff --git a/media/midi/usb_midi_jack.h b/media/midi/usb_midi_jack.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..06c35bf05c2bd8e668baf1b16b01c973ee2412bb |
--- /dev/null |
+++ b/media/midi/usb_midi_jack.h |
@@ -0,0 +1,51 @@ |
+// Copyright (c) 2013 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#ifndef MEDIA_MIDI_USB_MIDI_JACK_H_ |
+#define MEDIA_MIDI_USB_MIDI_JACK_H_ |
+ |
+#include "base/basictypes.h" |
+#include "media/base/media_export.h" |
+ |
+namespace media { |
+ |
+class UsbMidiDevice; |
+ |
+// UsbMidiJack represents an EMBEDDED MIDI jack. |
+struct MEDIA_EXPORT UsbMidiJack { |
+ // The direction of the endpoint associated with an EMBEDDED MIDI jack. |
+ // Note that an IN MIDI jack associated with an OUT endpoint has |
+ // ***OUT*** direction. |
+ enum Direction { |
+ IN, |
+ OUT, |
+ }; |
+ UsbMidiJack(UsbMidiDevice* device, |
+ uint8 jack_id, |
+ uint8 cable_number, |
+ uint8 endpoint_address) |
+ : device(device), |
+ jack_id(jack_id), |
+ cable_number(cable_number), |
+ endpoint_address(endpoint_address) {} |
+ // Not owned |
+ UsbMidiDevice* device; |
+ // The id of this jack unique in the interface. |
+ uint8 jack_id; |
+ // The cable number of this jack in the associated endpoint. |
+ uint8 cable_number; |
+ // The address of the endpoint that this jack is associated with. |
+ uint8 endpoint_address; |
+ |
+ Direction GetDirection() const { |
+ return (endpoint_address & 0x80) ? IN: OUT; |
+ } |
+ uint8 GetEndpointNumber() const { |
+ return (endpoint_address & 0xf); |
+ } |
+}; |
+ |
+} // namespace media |
+ |
+#endif // MEDIA_MIDI_USB_MIDI_JACK_H_ |