Home | History | Annotate | Download | only in midi
      1 // Copyright 2013 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #ifndef MEDIA_MIDI_MIDI_MANAGER_WIN_H_
      6 #define MEDIA_MIDI_MIDI_MANAGER_WIN_H_
      7 
      8 #include <vector>
      9 
     10 #include "base/basictypes.h"
     11 #include "base/memory/scoped_ptr.h"
     12 #include "base/threading/thread.h"
     13 #include "media/midi/midi_manager.h"
     14 
     15 namespace media {
     16 
     17 class MidiManagerWin : public MidiManager {
     18  public:
     19   MidiManagerWin();
     20   virtual ~MidiManagerWin();
     21 
     22   // MidiManager implementation.
     23   virtual void StartInitialization() OVERRIDE;
     24   virtual void DispatchSendMidiData(MidiManagerClient* client,
     25                                     uint32 port_index,
     26                                     const std::vector<uint8>& data,
     27                                     double timestamp) OVERRIDE;
     28 
     29  private:
     30   class InDeviceInfo;
     31   class OutDeviceInfo;
     32   std::vector<scoped_ptr<InDeviceInfo> > in_devices_;
     33   std::vector<scoped_ptr<OutDeviceInfo> > out_devices_;
     34   base::Thread send_thread_;
     35   DISALLOW_COPY_AND_ASSIGN(MidiManagerWin);
     36 };
     37 
     38 }  // namespace media
     39 
     40 #endif  // MEDIA_MIDI_MIDI_MANAGER_WIN_H_
     41