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