// Copyright 2018 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 DEVICE_GAMEPAD_DUALSHOCK4_CONTROLLER_BASE_
#define DEVICE_GAMEPAD_DUALSHOCK4_CONTROLLER_BASE_

#include "device/gamepad/abstract_haptic_gamepad.h"

namespace device {

class Dualshock4ControllerBase : public AbstractHapticGamepad {
 public:
  Dualshock4ControllerBase() = default;
  ~Dualshock4ControllerBase() override;

  static bool IsDualshock4(int vendor_id, int product_id);

  void SetVibration(double strong_magnitude, double weak_magnitude) override;

 private:
  virtual void WriteOutputReport(void* report, size_t report_length) {}
};

}  // namespace device

#endif  // DEVICE_GAMEPAD_DUALSHOCK4_CONTROLLER_BASE_
