// Copyright 2013 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef MEDIA_MIDI_MIDI_MANAGER_H_ #define MEDIA_MIDI_MIDI_MANAGER_H_ #include <stddef.h> #include <stdint.h> #include <set> #include <vector> #include "base/memory/raw_ptr.h" #include "base/memory/scoped_refptr.h" #include "base/synchronization/lock.h" #include "base/thread_annotations.h" #include "base/time/time.h" #include "media/midi/midi_export.h" #include "media/midi/midi_service.mojom.h" namespace base { class SingleThreadTaskRunner; } // namespace base namespace midi { class MidiService; // A MidiManagerClient registers with the MidiManager to receive MIDI data. // See MidiManager::RequestAccess() and MidiManager::ReleaseAccess() // for details. // TODO(toyoshim): Consider to have a MidiServiceClient interface. class MIDI_EXPORT MidiManagerClient { … }; // Manages access to all MIDI hardware. MidiManager runs on the I/O thread. // // Note: We will eventually remove utility functions that are shared among // platform dependent MidiManager inheritances such as MidiManagerClient // management. MidiService should provide such shareable utility functions as // it does TaskService. class MIDI_EXPORT MidiManager { … }; } // namespace midi #endif // MEDIA_MIDI_MIDI_MANAGER_H_