OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef MEDIA_MIDI_MIDI_MANAGER_USB_H_ | 5 #ifndef MEDIA_MIDI_MIDI_MANAGER_USB_H_ |
6 #define MEDIA_MIDI_MIDI_MANAGER_USB_H_ | 6 #define MEDIA_MIDI_MIDI_MANAGER_USB_H_ |
7 | 7 |
8 #include <stddef.h> | 8 #include <stddef.h> |
9 #include <stdint.h> | 9 #include <stdint.h> |
10 | 10 |
(...skipping 11 matching lines...) Expand all Loading... |
22 #include "media/midi/midi_manager.h" | 22 #include "media/midi/midi_manager.h" |
23 #include "media/midi/usb_midi_device.h" | 23 #include "media/midi/usb_midi_device.h" |
24 #include "media/midi/usb_midi_export.h" | 24 #include "media/midi/usb_midi_export.h" |
25 #include "media/midi/usb_midi_input_stream.h" | 25 #include "media/midi/usb_midi_input_stream.h" |
26 #include "media/midi/usb_midi_jack.h" | 26 #include "media/midi/usb_midi_jack.h" |
27 #include "media/midi/usb_midi_output_stream.h" | 27 #include "media/midi/usb_midi_output_stream.h" |
28 | 28 |
29 namespace midi { | 29 namespace midi { |
30 | 30 |
31 class MidiScheduler; | 31 class MidiScheduler; |
| 32 class MidiService; |
32 | 33 |
33 // MidiManager for USB-MIDI. | 34 // MidiManager for USB-MIDI. |
34 class USB_MIDI_EXPORT MidiManagerUsb | 35 class USB_MIDI_EXPORT MidiManagerUsb |
35 : public MidiManager, | 36 : public MidiManager, |
36 public UsbMidiDeviceDelegate, | 37 public UsbMidiDeviceDelegate, |
37 NON_EXPORTED_BASE(public UsbMidiInputStream::Delegate) { | 38 NON_EXPORTED_BASE(public UsbMidiInputStream::Delegate) { |
38 public: | 39 public: |
39 explicit MidiManagerUsb( | 40 MidiManagerUsb(MidiService* service, |
40 std::unique_ptr<UsbMidiDevice::Factory> device_factory); | 41 std::unique_ptr<UsbMidiDevice::Factory> device_factory); |
41 ~MidiManagerUsb() override; | 42 ~MidiManagerUsb() override; |
42 | 43 |
43 // MidiManager implementation. | 44 // MidiManager implementation. |
44 void StartInitialization() override; | 45 void StartInitialization() override; |
45 void Finalize() override; | 46 void Finalize() override; |
46 void DispatchSendMidiData(MidiManagerClient* client, | 47 void DispatchSendMidiData(MidiManagerClient* client, |
47 uint32_t port_index, | 48 uint32_t port_index, |
48 const std::vector<uint8_t>& data, | 49 const std::vector<uint8_t>& data, |
49 double timestamp) override; | 50 double timestamp) override; |
50 | 51 |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
95 // Finalize() on Chrome_IOThread. | 96 // Finalize() on Chrome_IOThread. |
96 base::Lock scheduler_lock_; | 97 base::Lock scheduler_lock_; |
97 std::unique_ptr<MidiScheduler> scheduler_; | 98 std::unique_ptr<MidiScheduler> scheduler_; |
98 | 99 |
99 DISALLOW_COPY_AND_ASSIGN(MidiManagerUsb); | 100 DISALLOW_COPY_AND_ASSIGN(MidiManagerUsb); |
100 }; | 101 }; |
101 | 102 |
102 } // namespace midi | 103 } // namespace midi |
103 | 104 |
104 #endif // MEDIA_MIDI_MIDI_MANAGER_USB_H_ | 105 #endif // MEDIA_MIDI_MIDI_MANAGER_USB_H_ |
OLD | NEW |