OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CONTENT_BROWSER_GAMEPAD_GAMEPAD_SERVICE_H_ | 5 #ifndef CONTENT_BROWSER_GAMEPAD_GAMEPAD_SERVICE_H_ |
6 #define CONTENT_BROWSER_GAMEPAD_GAMEPAD_SERVICE_H_ | 6 #define CONTENT_BROWSER_GAMEPAD_GAMEPAD_SERVICE_H_ |
7 | 7 |
8 #include <set> | 8 #include <set> |
9 | 9 |
10 #include "base/callback_forward.h" | 10 #include "base/callback_forward.h" |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
72 | 72 |
73 // Stop/join with the background thread in GamepadProvider |provider_|. | 73 // Stop/join with the background thread in GamepadProvider |provider_|. |
74 void Terminate(); | 74 void Terminate(); |
75 | 75 |
76 // Called on IO thread when a gamepad is connected. | 76 // Called on IO thread when a gamepad is connected. |
77 void OnGamepadConnected(int index, const blink::WebGamepad& pad); | 77 void OnGamepadConnected(int index, const blink::WebGamepad& pad); |
78 | 78 |
79 // Called on IO thread when a gamepad is disconnected. | 79 // Called on IO thread when a gamepad is disconnected. |
80 void OnGamepadDisconnected(int index, const blink::WebGamepad& pad); | 80 void OnGamepadDisconnected(int index, const blink::WebGamepad& pad); |
81 | 81 |
82 GamepadProvider* provider() { return provider_.get(); } | |
83 | |
84 private: | 82 private: |
85 friend struct base::DefaultSingletonTraits<GamepadService>; | 83 friend struct base::DefaultSingletonTraits<GamepadService>; |
86 friend class GamepadServiceTestConstructor; | 84 friend class GamepadServiceTestConstructor; |
87 friend class GamepadServiceTest; | 85 friend class GamepadServiceTest; |
88 | 86 |
89 GamepadService(); | 87 GamepadService(); |
90 | 88 |
91 // Constructor for testing. This specifies the data fetcher to use for a | 89 // Constructor for testing. This specifies the data fetcher to use for a |
92 // provider, bypassing the default platform one. | 90 // provider, bypassing the default platform one. |
93 explicit GamepadService(scoped_ptr<GamepadDataFetcher> fetcher); | 91 GamepadService(scoped_ptr<GamepadDataFetcher> fetcher); |
94 | 92 |
95 virtual ~GamepadService(); | 93 virtual ~GamepadService(); |
96 | 94 |
97 static void SetInstance(GamepadService* instance); | 95 static void SetInstance(GamepadService*); |
98 | 96 |
99 void OnUserGesture(); | 97 void OnUserGesture(); |
100 | 98 |
101 struct ConsumerInfo { | 99 struct ConsumerInfo { |
102 ConsumerInfo(GamepadConsumer* consumer) | 100 ConsumerInfo(GamepadConsumer* consumer) |
103 : consumer(consumer), | 101 : consumer(consumer), |
104 did_observe_user_gesture(false) { | 102 did_observe_user_gesture(false) { |
105 } | 103 } |
106 | 104 |
107 bool operator<(const ConsumerInfo& other) const { | 105 bool operator<(const ConsumerInfo& other) const { |
(...skipping 15 matching lines...) Expand all Loading... |
123 int num_active_consumers_; | 121 int num_active_consumers_; |
124 | 122 |
125 bool gesture_callback_pending_; | 123 bool gesture_callback_pending_; |
126 | 124 |
127 DISALLOW_COPY_AND_ASSIGN(GamepadService); | 125 DISALLOW_COPY_AND_ASSIGN(GamepadService); |
128 }; | 126 }; |
129 | 127 |
130 } // namespace content | 128 } // namespace content |
131 | 129 |
132 #endif // CONTENT_BROWSER_GAMEPAD_GAMEPAD_SERVICE_H_ | 130 #endif // CONTENT_BROWSER_GAMEPAD_GAMEPAD_SERVICE_H_ |
OLD | NEW |