1// Copyright (c) 2012 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_BROWSER_RENDERER_HOST_GAMEPAD_BROWSER_MESSAGE_FILTER_H_
6#define CONTENT_BROWSER_RENDERER_HOST_GAMEPAD_BROWSER_MESSAGE_FILTER_H_
7
8#include "base/compiler_specific.h"
9#include "base/memory/shared_memory.h"
10#include "content/public/browser/browser_message_filter.h"
11
12namespace content {
13
14class GamepadService;
15class RenderProcessHost;
16
17class GamepadBrowserMessageFilter : public BrowserMessageFilter {
18 public:
19  GamepadBrowserMessageFilter();
20
21  // BrowserMessageFilter implementation.
22  virtual bool OnMessageReceived(const IPC::Message& message,
23                                 bool* message_was_ok) OVERRIDE;
24
25 private:
26  virtual ~GamepadBrowserMessageFilter();
27
28  void OnGamepadStartPolling(base::SharedMemoryHandle* renderer_handle);
29  void OnGamepadStopPolling();
30
31  bool is_started_;
32
33  DISALLOW_COPY_AND_ASSIGN(GamepadBrowserMessageFilter);
34};
35
36}  // namespace content
37
38#endif  // CONTENT_BROWSER_RENDERER_HOST_GAMEPAD_BROWSER_MESSAGE_FILTER_H_
39