| // Copyright 2013 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef CONTENT_COMMON_INPUT_SYNTHETIC_GESTURE_PACKET_H_ |
| #define CONTENT_COMMON_INPUT_SYNTHETIC_GESTURE_PACKET_H_ |
| |
| #include <memory> |
| #include <utility> |
| |
| #include "base/macros.h" |
| #include "content/common/content_export.h" |
| #include "content/common/input/synthetic_gesture_params.h" |
| |
| namespace content { |
| |
| // Wraps an object of type SyntheticGestureParams (or one of its subclasses) for |
| // sending it over IPC. |
| class CONTENT_EXPORT SyntheticGesturePacket { |
| public: |
| SyntheticGesturePacket(); |
| ~SyntheticGesturePacket(); |
| |
| void set_gesture_params( |
| std::unique_ptr<SyntheticGestureParams> gesture_params) { |
| gesture_params_ = std::move(gesture_params); |
| } |
| const SyntheticGestureParams* gesture_params() const { |
| return gesture_params_.get(); |
| } |
| std::unique_ptr<SyntheticGestureParams> pass_gesture_params() { |
| return std::move(gesture_params_); |
| } |
| |
| private: |
| std::unique_ptr<SyntheticGestureParams> gesture_params_; |
| |
| DISALLOW_COPY_AND_ASSIGN(SyntheticGesturePacket); |
| }; |
| |
| } // namespace content |
| |
| #endif // CONTENT_COMMON_INPUT_SYNTHETIC_GESTURE_PACKET_H_ |