Re-subimission of https://codereview.chromium.org/1041213003/
[chromium-blink-merge.git] / content / renderer / media / renderer_webmidiaccessor_impl.h
blob791c294e758dd930385804baf7e9a7a6ed6a9e6a
1 // Copyright (c) 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.
5 #ifndef CONTENT_RENDERER_MEDIA_RENDERER_WEBMIDIACCESSOR_IMPL_H_
6 #define CONTENT_RENDERER_MEDIA_RENDERER_WEBMIDIACCESSOR_IMPL_H_
8 #include "base/basictypes.h"
9 #include "base/compiler_specific.h"
10 #include "third_party/WebKit/public/platform/WebMIDIAccessor.h"
11 #include "third_party/WebKit/public/platform/WebMIDIAccessorClient.h"
13 namespace content {
15 class MidiMessageFilter;
17 class RendererWebMIDIAccessorImpl
18 : public blink::WebMIDIAccessor {
19 public:
20 explicit RendererWebMIDIAccessorImpl(
21 blink::WebMIDIAccessorClient* client);
22 virtual ~RendererWebMIDIAccessorImpl();
24 // blink::WebMIDIAccessor implementation.
25 virtual void startSession();
26 virtual void sendMIDIData(unsigned port_index,
27 const unsigned char* data,
28 size_t length,
29 double timestamp);
31 private:
32 blink::WebMIDIAccessorClient* client_;
34 MidiMessageFilter* midi_message_filter();
36 DISALLOW_COPY_AND_ASSIGN(RendererWebMIDIAccessorImpl);
39 } // namespace content
41 #endif // CONTENT_RENDERER_MEDIA_RENDERER_WEBMIDIACCESSOR_IMPL_H_