// Generated by gencpp from file robot_sensor_msgs/JoyFeedback.msg
// DO NOT EDIT!


#ifndef ROBOT_SENSOR_MSGS_MESSAGE_JOYFEEDBACK_H
#define ROBOT_SENSOR_MSGS_MESSAGE_JOYFEEDBACK_H


#include <string>
#include <vector>
#include <memory>
#include <boost/shared_ptr.hpp>

namespace robot_sensor_msgs
{
template <class ContainerAllocator>
struct JoyFeedback_
{
  typedef JoyFeedback_<ContainerAllocator> Type;

  JoyFeedback_()
    : type(0)
    , id(0)
    , intensity(0.0)  {
    }
  JoyFeedback_(const ContainerAllocator& _alloc)
    : type(0)
    , id(0)
    , intensity(0.0)  {
  (void)_alloc;
    }



   typedef uint8_t _type_type;
  _type_type type;

   typedef uint8_t _id_type;
  _id_type id;

   typedef float _intensity_type;
  _intensity_type intensity;



// reducing the odds to have name collisions with Windows.h 
#if defined(_WIN32) && defined(TYPE_LED)
  #undef TYPE_LED
#endif
#if defined(_WIN32) && defined(TYPE_RUMBLE)
  #undef TYPE_RUMBLE
#endif
#if defined(_WIN32) && defined(TYPE_BUZZER)
  #undef TYPE_BUZZER
#endif

  enum {
    TYPE_LED = 0u,
    TYPE_RUMBLE = 1u,
    TYPE_BUZZER = 2u,
  };


  typedef boost::shared_ptr< ::robot_sensor_msgs::JoyFeedback_<ContainerAllocator> > Ptr;
  typedef boost::shared_ptr< ::robot_sensor_msgs::JoyFeedback_<ContainerAllocator> const> ConstPtr;

}; // struct JoyFeedback_

typedef ::robot_sensor_msgs::JoyFeedback_<std::allocator<void> > JoyFeedback;

typedef boost::shared_ptr< ::robot_sensor_msgs::JoyFeedback > JoyFeedbackPtr;
typedef boost::shared_ptr< ::robot_sensor_msgs::JoyFeedback const> JoyFeedbackConstPtr;

// constants requiring out of line definition


template<typename ContainerAllocator1, typename ContainerAllocator2>
bool operator==(const ::robot_sensor_msgs::JoyFeedback_<ContainerAllocator1> & lhs, const ::robot_sensor_msgs::JoyFeedback_<ContainerAllocator2> & rhs)
{
  return lhs.type == rhs.type &&
    lhs.id == rhs.id &&
    lhs.intensity == rhs.intensity;
}

template<typename ContainerAllocator1, typename ContainerAllocator2>
bool operator!=(const ::robot_sensor_msgs::JoyFeedback_<ContainerAllocator1> & lhs, const ::robot_sensor_msgs::JoyFeedback_<ContainerAllocator2> & rhs)
{
  return !(lhs == rhs);
}


} // namespace robot_sensor_msgs

#endif // ROBOT_SENSOR_MSGS_MESSAGE_JOYFEEDBACK_H
