Index: device/gamepad/gamepad_shared_buffer.h |
diff --git a/device/gamepad/gamepad_shared_buffer.h b/device/gamepad/gamepad_shared_buffer.h |
index 04cb911df969e107bbeb82ef6831e3abaa6ba2ee..b393d4ba3297dfbf0e1a93765b90aca24de4f697 100644 |
--- a/device/gamepad/gamepad_shared_buffer.h |
+++ b/device/gamepad/gamepad_shared_buffer.h |
@@ -6,20 +6,29 @@ |
#define DEVICE_GAMEPAD_SHARED_BUFFER_H_ |
#include "base/memory/shared_memory.h" |
+#include "device/base/synchronization/shared_memory_seqlock_buffer.h" |
#include "device/gamepad/gamepad_export.h" |
#include "third_party/WebKit/public/platform/WebGamepads.h" |
namespace device { |
+typedef SharedMemorySeqLockBuffer<blink::WebGamepads> GamepadHardwareBuffer; |
+ |
class DEVICE_GAMEPAD_EXPORT GamepadSharedBuffer { |
public: |
- virtual ~GamepadSharedBuffer() {} |
+ GamepadSharedBuffer(); |
+ ~GamepadSharedBuffer(); |
+ |
+ base::SharedMemory* shared_memory(); |
+ blink::WebGamepads* buffer(); |
+ GamepadHardwareBuffer* hardware_buffer(); |
- virtual base::SharedMemory* shared_memory() = 0; |
- virtual blink::WebGamepads* buffer() = 0; |
+ void WriteBegin(); |
+ void WriteEnd(); |
- virtual void WriteBegin() = 0; |
- virtual void WriteEnd() = 0; |
+ private: |
+ base::SharedMemory shared_memory_; |
+ GamepadHardwareBuffer* hardware_buffer_; |
}; |
} // namespace device |