1// Copyright (c) 2011 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 CONTENT_RENDERER_GAMEPAD_SHARED_MEMORY_READER_H_
6#define CONTENT_RENDERER_GAMEPAD_SHARED_MEMORY_READER_H_
7
8#include "base/memory/scoped_ptr.h"
9#include "base/memory/shared_memory.h"
10#include "third_party/WebKit/public/platform/WebGamepads.h"
11
12namespace content {
13
14struct GamepadHardwareBuffer;
15
16class GamepadSharedMemoryReader {
17 public:
18  GamepadSharedMemoryReader();
19  virtual ~GamepadSharedMemoryReader();
20  void SampleGamepads(blink::WebGamepads&);
21
22 private:
23  base::SharedMemoryHandle renderer_shared_memory_handle_;
24  scoped_ptr<base::SharedMemory> renderer_shared_memory_;
25  GamepadHardwareBuffer* gamepad_hardware_buffer_;
26
27  bool ever_interacted_with_;
28};
29
30}  // namespace content
31
32#endif  // CONTENT_RENDERER_GAMEPAD_SHARED_MEMORY_READER_H_
33