14e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)// Copyright 2013 The Chromium Authors. All rights reserved.
24e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
34e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)// found in the LICENSE file.
44e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)
54e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)#ifndef CONTENT_COMMON_INPUT_SYNTHETIC_GESTURE_PACKET_H_
64e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)#define CONTENT_COMMON_INPUT_SYNTHETIC_GESTURE_PACKET_H_
74e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)
84e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)#include "base/memory/scoped_ptr.h"
94e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)#include "content/common/content_export.h"
104e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)#include "content/common/input/synthetic_gesture_params.h"
114e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)
124e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)namespace content {
134e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)
144e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)// Wraps an object of type SyntheticGestureParams (or one of its subclasses) for
154e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)// sending it over IPC.
164e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)class CONTENT_EXPORT SyntheticGesturePacket {
174e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) public:
184e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)  SyntheticGesturePacket();
194e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)  ~SyntheticGesturePacket();
204e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)
214e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)  void set_gesture_params(scoped_ptr<SyntheticGestureParams> gesture_params) {
224e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)    gesture_params_ = gesture_params.Pass();
234e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)  }
244e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)  const SyntheticGestureParams* gesture_params() const {
254e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)    return gesture_params_.get();
264e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)  }
274e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)  scoped_ptr<SyntheticGestureParams> pass_gesture_params() {
284e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)    return gesture_params_.Pass();
294e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)  }
304e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)
314e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) private:
324e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)  scoped_ptr<SyntheticGestureParams> gesture_params_;
334e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)
344e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)  DISALLOW_COPY_AND_ASSIGN(SyntheticGesturePacket);
354e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)};
364e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)
374e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)}  // namespace content
384e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)
394e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)#endif  // CONTENT_COMMON_INPUT_SYNTHETIC_GESTURE_PACKET_H_
40