// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: hxRobot.proto

#ifndef PROTOBUF_hxRobot_2eproto__INCLUDED
#define PROTOBUF_hxRobot_2eproto__INCLUDED

#include <string>

#include <google/protobuf/stubs/common.h>

#if GOOGLE_PROTOBUF_VERSION < 2006000
#error This file was generated by a newer version of protoc which is
#error incompatible with your Protocol Buffer headers.  Please update
#error your headers.
#endif
#if 2006000 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
#error This file was generated by an older version of protoc which is
#error incompatible with your Protocol Buffer headers.  Please
#error regenerate this file with a newer version of protoc.
#endif

#include <google/protobuf/generated_message_util.h>
#include <google/protobuf/message.h>
#include <google/protobuf/repeated_field.h>
#include <google/protobuf/extension_set.h>
#include <google/protobuf/unknown_field_set.h>
#pragma GCC system_header
#include <memory>
// @@protoc_insertion_point(includes)

namespace haptix {
namespace comm {
namespace msgs {

// Internal implementation detail -- do not call these.
void  protobuf_AddDesc_hxRobot_2eproto();
void protobuf_AssignDesc_hxRobot_2eproto();
void protobuf_ShutdownFile_hxRobot_2eproto();

class hxRobot;
class hxRobot_hxLimit;

// ===================================================================

class hxRobot_hxLimit : public ::google::protobuf::Message {
 public:
  hxRobot_hxLimit();
  virtual ~hxRobot_hxLimit();

  hxRobot_hxLimit(const hxRobot_hxLimit& from);

  inline hxRobot_hxLimit& operator=(const hxRobot_hxLimit& from) {
    CopyFrom(from);
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    return _unknown_fields_;
  }

  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return &_unknown_fields_;
  }

  static const ::google::protobuf::Descriptor* descriptor();
  static const hxRobot_hxLimit& default_instance();

  void Swap(hxRobot_hxLimit* other);

  // implements Message ----------------------------------------------

  hxRobot_hxLimit* New() const;
  void CopyFrom(const ::google::protobuf::Message& from);
  void MergeFrom(const ::google::protobuf::Message& from);
  void CopyFrom(const hxRobot_hxLimit& from);
  void MergeFrom(const hxRobot_hxLimit& from);
  void Clear();
  bool IsInitialized() const;

  int ByteSize() const;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input);
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const;
  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
  int GetCachedSize() const { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  public:
  ::google::protobuf::Metadata GetMetadata() const;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  // required float minimum = 1;
  inline bool has_minimum() const;
  inline void clear_minimum();
  static const int kMinimumFieldNumber = 1;
  inline float minimum() const;
  inline void set_minimum(float value);

  // required float maximum = 2;
  inline bool has_maximum() const;
  inline void clear_maximum();
  static const int kMaximumFieldNumber = 2;
  inline float maximum() const;
  inline void set_maximum(float value);

  // @@protoc_insertion_point(class_scope:haptix.comm.msgs.hxRobot.hxLimit)
 private:
  inline void set_has_minimum();
  inline void clear_has_minimum();
  inline void set_has_maximum();
  inline void clear_has_maximum();

  ::google::protobuf::UnknownFieldSet _unknown_fields_;

  ::google::protobuf::uint32 _has_bits_[1];
  mutable int _cached_size_;
  float minimum_;
  float maximum_;
  friend void  protobuf_AddDesc_hxRobot_2eproto();
  friend void protobuf_AssignDesc_hxRobot_2eproto();
  friend void protobuf_ShutdownFile_hxRobot_2eproto();

  void InitAsDefaultInstance();
  static hxRobot_hxLimit* default_instance_;
};
// -------------------------------------------------------------------

class hxRobot : public ::google::protobuf::Message {
 public:
  hxRobot();
  virtual ~hxRobot();

  hxRobot(const hxRobot& from);

  inline hxRobot& operator=(const hxRobot& from) {
    CopyFrom(from);
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    return _unknown_fields_;
  }

  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return &_unknown_fields_;
  }

  static const ::google::protobuf::Descriptor* descriptor();
  static const hxRobot& default_instance();

  void Swap(hxRobot* other);

  // implements Message ----------------------------------------------

  hxRobot* New() const;
  void CopyFrom(const ::google::protobuf::Message& from);
  void MergeFrom(const ::google::protobuf::Message& from);
  void CopyFrom(const hxRobot& from);
  void MergeFrom(const hxRobot& from);
  void Clear();
  bool IsInitialized() const;

  int ByteSize() const;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input);
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const;
  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
  int GetCachedSize() const { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  public:
  ::google::protobuf::Metadata GetMetadata() const;

  // nested types ----------------------------------------------------

  typedef hxRobot_hxLimit hxLimit;

  // accessors -------------------------------------------------------

  // required int32 motor_count = 1;
  inline bool has_motor_count() const;
  inline void clear_motor_count();
  static const int kMotorCountFieldNumber = 1;
  inline ::google::protobuf::int32 motor_count() const;
  inline void set_motor_count(::google::protobuf::int32 value);

  // required int32 joint_count = 2;
  inline bool has_joint_count() const;
  inline void clear_joint_count();
  static const int kJointCountFieldNumber = 2;
  inline ::google::protobuf::int32 joint_count() const;
  inline void set_joint_count(::google::protobuf::int32 value);

  // required int32 contact_sensor_count = 3;
  inline bool has_contact_sensor_count() const;
  inline void clear_contact_sensor_count();
  static const int kContactSensorCountFieldNumber = 3;
  inline ::google::protobuf::int32 contact_sensor_count() const;
  inline void set_contact_sensor_count(::google::protobuf::int32 value);

  // required int32 imu_count = 4;
  inline bool has_imu_count() const;
  inline void clear_imu_count();
  static const int kImuCountFieldNumber = 4;
  inline ::google::protobuf::int32 imu_count() const;
  inline void set_imu_count(::google::protobuf::int32 value);

  // repeated .haptix.comm.msgs.hxRobot.hxLimit joint_limit = 5;
  inline int joint_limit_size() const;
  inline void clear_joint_limit();
  static const int kJointLimitFieldNumber = 5;
  inline const ::haptix::comm::msgs::hxRobot_hxLimit& joint_limit(int index) const;
  inline ::haptix::comm::msgs::hxRobot_hxLimit* mutable_joint_limit(int index);
  inline ::haptix::comm::msgs::hxRobot_hxLimit* add_joint_limit();
  inline const ::google::protobuf::RepeatedPtrField< ::haptix::comm::msgs::hxRobot_hxLimit >&
      joint_limit() const;
  inline ::google::protobuf::RepeatedPtrField< ::haptix::comm::msgs::hxRobot_hxLimit >*
      mutable_joint_limit();

  // repeated .haptix.comm.msgs.hxRobot.hxLimit motor_limit = 6;
  inline int motor_limit_size() const;
  inline void clear_motor_limit();
  static const int kMotorLimitFieldNumber = 6;
  inline const ::haptix::comm::msgs::hxRobot_hxLimit& motor_limit(int index) const;
  inline ::haptix::comm::msgs::hxRobot_hxLimit* mutable_motor_limit(int index);
  inline ::haptix::comm::msgs::hxRobot_hxLimit* add_motor_limit();
  inline const ::google::protobuf::RepeatedPtrField< ::haptix::comm::msgs::hxRobot_hxLimit >&
      motor_limit() const;
  inline ::google::protobuf::RepeatedPtrField< ::haptix::comm::msgs::hxRobot_hxLimit >*
      mutable_motor_limit();

  // required float update_rate = 7;
  inline bool has_update_rate() const;
  inline void clear_update_rate();
  static const int kUpdateRateFieldNumber = 7;
  inline float update_rate() const;
  inline void set_update_rate(float value);

  // @@protoc_insertion_point(class_scope:haptix.comm.msgs.hxRobot)
 private:
  inline void set_has_motor_count();
  inline void clear_has_motor_count();
  inline void set_has_joint_count();
  inline void clear_has_joint_count();
  inline void set_has_contact_sensor_count();
  inline void clear_has_contact_sensor_count();
  inline void set_has_imu_count();
  inline void clear_has_imu_count();
  inline void set_has_update_rate();
  inline void clear_has_update_rate();

  ::google::protobuf::UnknownFieldSet _unknown_fields_;

  ::google::protobuf::uint32 _has_bits_[1];
  mutable int _cached_size_;
  ::google::protobuf::int32 motor_count_;
  ::google::protobuf::int32 joint_count_;
  ::google::protobuf::int32 contact_sensor_count_;
  ::google::protobuf::int32 imu_count_;
  ::google::protobuf::RepeatedPtrField< ::haptix::comm::msgs::hxRobot_hxLimit > joint_limit_;
  ::google::protobuf::RepeatedPtrField< ::haptix::comm::msgs::hxRobot_hxLimit > motor_limit_;
  float update_rate_;
  friend void  protobuf_AddDesc_hxRobot_2eproto();
  friend void protobuf_AssignDesc_hxRobot_2eproto();
  friend void protobuf_ShutdownFile_hxRobot_2eproto();

  void InitAsDefaultInstance();
  static hxRobot* default_instance_;
};
// ===================================================================


// ===================================================================

// hxRobot_hxLimit

// required float minimum = 1;
inline bool hxRobot_hxLimit::has_minimum() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void hxRobot_hxLimit::set_has_minimum() {
  _has_bits_[0] |= 0x00000001u;
}
inline void hxRobot_hxLimit::clear_has_minimum() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void hxRobot_hxLimit::clear_minimum() {
  minimum_ = 0;
  clear_has_minimum();
}
inline float hxRobot_hxLimit::minimum() const {
  // @@protoc_insertion_point(field_get:haptix.comm.msgs.hxRobot.hxLimit.minimum)
  return minimum_;
}
inline void hxRobot_hxLimit::set_minimum(float value) {
  set_has_minimum();
  minimum_ = value;
  // @@protoc_insertion_point(field_set:haptix.comm.msgs.hxRobot.hxLimit.minimum)
}

// required float maximum = 2;
inline bool hxRobot_hxLimit::has_maximum() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void hxRobot_hxLimit::set_has_maximum() {
  _has_bits_[0] |= 0x00000002u;
}
inline void hxRobot_hxLimit::clear_has_maximum() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void hxRobot_hxLimit::clear_maximum() {
  maximum_ = 0;
  clear_has_maximum();
}
inline float hxRobot_hxLimit::maximum() const {
  // @@protoc_insertion_point(field_get:haptix.comm.msgs.hxRobot.hxLimit.maximum)
  return maximum_;
}
inline void hxRobot_hxLimit::set_maximum(float value) {
  set_has_maximum();
  maximum_ = value;
  // @@protoc_insertion_point(field_set:haptix.comm.msgs.hxRobot.hxLimit.maximum)
}

// -------------------------------------------------------------------

// hxRobot

// required int32 motor_count = 1;
inline bool hxRobot::has_motor_count() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void hxRobot::set_has_motor_count() {
  _has_bits_[0] |= 0x00000001u;
}
inline void hxRobot::clear_has_motor_count() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void hxRobot::clear_motor_count() {
  motor_count_ = 0;
  clear_has_motor_count();
}
inline ::google::protobuf::int32 hxRobot::motor_count() const {
  // @@protoc_insertion_point(field_get:haptix.comm.msgs.hxRobot.motor_count)
  return motor_count_;
}
inline void hxRobot::set_motor_count(::google::protobuf::int32 value) {
  set_has_motor_count();
  motor_count_ = value;
  // @@protoc_insertion_point(field_set:haptix.comm.msgs.hxRobot.motor_count)
}

// required int32 joint_count = 2;
inline bool hxRobot::has_joint_count() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void hxRobot::set_has_joint_count() {
  _has_bits_[0] |= 0x00000002u;
}
inline void hxRobot::clear_has_joint_count() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void hxRobot::clear_joint_count() {
  joint_count_ = 0;
  clear_has_joint_count();
}
inline ::google::protobuf::int32 hxRobot::joint_count() const {
  // @@protoc_insertion_point(field_get:haptix.comm.msgs.hxRobot.joint_count)
  return joint_count_;
}
inline void hxRobot::set_joint_count(::google::protobuf::int32 value) {
  set_has_joint_count();
  joint_count_ = value;
  // @@protoc_insertion_point(field_set:haptix.comm.msgs.hxRobot.joint_count)
}

// required int32 contact_sensor_count = 3;
inline bool hxRobot::has_contact_sensor_count() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
inline void hxRobot::set_has_contact_sensor_count() {
  _has_bits_[0] |= 0x00000004u;
}
inline void hxRobot::clear_has_contact_sensor_count() {
  _has_bits_[0] &= ~0x00000004u;
}
inline void hxRobot::clear_contact_sensor_count() {
  contact_sensor_count_ = 0;
  clear_has_contact_sensor_count();
}
inline ::google::protobuf::int32 hxRobot::contact_sensor_count() const {
  // @@protoc_insertion_point(field_get:haptix.comm.msgs.hxRobot.contact_sensor_count)
  return contact_sensor_count_;
}
inline void hxRobot::set_contact_sensor_count(::google::protobuf::int32 value) {
  set_has_contact_sensor_count();
  contact_sensor_count_ = value;
  // @@protoc_insertion_point(field_set:haptix.comm.msgs.hxRobot.contact_sensor_count)
}

// required int32 imu_count = 4;
inline bool hxRobot::has_imu_count() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
inline void hxRobot::set_has_imu_count() {
  _has_bits_[0] |= 0x00000008u;
}
inline void hxRobot::clear_has_imu_count() {
  _has_bits_[0] &= ~0x00000008u;
}
inline void hxRobot::clear_imu_count() {
  imu_count_ = 0;
  clear_has_imu_count();
}
inline ::google::protobuf::int32 hxRobot::imu_count() const {
  // @@protoc_insertion_point(field_get:haptix.comm.msgs.hxRobot.imu_count)
  return imu_count_;
}
inline void hxRobot::set_imu_count(::google::protobuf::int32 value) {
  set_has_imu_count();
  imu_count_ = value;
  // @@protoc_insertion_point(field_set:haptix.comm.msgs.hxRobot.imu_count)
}

// repeated .haptix.comm.msgs.hxRobot.hxLimit joint_limit = 5;
inline int hxRobot::joint_limit_size() const {
  return joint_limit_.size();
}
inline void hxRobot::clear_joint_limit() {
  joint_limit_.Clear();
}
inline const ::haptix::comm::msgs::hxRobot_hxLimit& hxRobot::joint_limit(int index) const {
  // @@protoc_insertion_point(field_get:haptix.comm.msgs.hxRobot.joint_limit)
  return joint_limit_.Get(index);
}
inline ::haptix::comm::msgs::hxRobot_hxLimit* hxRobot::mutable_joint_limit(int index) {
  // @@protoc_insertion_point(field_mutable:haptix.comm.msgs.hxRobot.joint_limit)
  return joint_limit_.Mutable(index);
}
inline ::haptix::comm::msgs::hxRobot_hxLimit* hxRobot::add_joint_limit() {
  // @@protoc_insertion_point(field_add:haptix.comm.msgs.hxRobot.joint_limit)
  return joint_limit_.Add();
}
inline const ::google::protobuf::RepeatedPtrField< ::haptix::comm::msgs::hxRobot_hxLimit >&
hxRobot::joint_limit() const {
  // @@protoc_insertion_point(field_list:haptix.comm.msgs.hxRobot.joint_limit)
  return joint_limit_;
}
inline ::google::protobuf::RepeatedPtrField< ::haptix::comm::msgs::hxRobot_hxLimit >*
hxRobot::mutable_joint_limit() {
  // @@protoc_insertion_point(field_mutable_list:haptix.comm.msgs.hxRobot.joint_limit)
  return &joint_limit_;
}

// repeated .haptix.comm.msgs.hxRobot.hxLimit motor_limit = 6;
inline int hxRobot::motor_limit_size() const {
  return motor_limit_.size();
}
inline void hxRobot::clear_motor_limit() {
  motor_limit_.Clear();
}
inline const ::haptix::comm::msgs::hxRobot_hxLimit& hxRobot::motor_limit(int index) const {
  // @@protoc_insertion_point(field_get:haptix.comm.msgs.hxRobot.motor_limit)
  return motor_limit_.Get(index);
}
inline ::haptix::comm::msgs::hxRobot_hxLimit* hxRobot::mutable_motor_limit(int index) {
  // @@protoc_insertion_point(field_mutable:haptix.comm.msgs.hxRobot.motor_limit)
  return motor_limit_.Mutable(index);
}
inline ::haptix::comm::msgs::hxRobot_hxLimit* hxRobot::add_motor_limit() {
  // @@protoc_insertion_point(field_add:haptix.comm.msgs.hxRobot.motor_limit)
  return motor_limit_.Add();
}
inline const ::google::protobuf::RepeatedPtrField< ::haptix::comm::msgs::hxRobot_hxLimit >&
hxRobot::motor_limit() const {
  // @@protoc_insertion_point(field_list:haptix.comm.msgs.hxRobot.motor_limit)
  return motor_limit_;
}
inline ::google::protobuf::RepeatedPtrField< ::haptix::comm::msgs::hxRobot_hxLimit >*
hxRobot::mutable_motor_limit() {
  // @@protoc_insertion_point(field_mutable_list:haptix.comm.msgs.hxRobot.motor_limit)
  return &motor_limit_;
}

// required float update_rate = 7;
inline bool hxRobot::has_update_rate() const {
  return (_has_bits_[0] & 0x00000040u) != 0;
}
inline void hxRobot::set_has_update_rate() {
  _has_bits_[0] |= 0x00000040u;
}
inline void hxRobot::clear_has_update_rate() {
  _has_bits_[0] &= ~0x00000040u;
}
inline void hxRobot::clear_update_rate() {
  update_rate_ = 0;
  clear_has_update_rate();
}
inline float hxRobot::update_rate() const {
  // @@protoc_insertion_point(field_get:haptix.comm.msgs.hxRobot.update_rate)
  return update_rate_;
}
inline void hxRobot::set_update_rate(float value) {
  set_has_update_rate();
  update_rate_ = value;
  // @@protoc_insertion_point(field_set:haptix.comm.msgs.hxRobot.update_rate)
}


typedef std::shared_ptr<haptix::comm::msgs::hxRobot> hxRobotPtr;
// @@protoc_insertion_point(namespace_scope)

}  // namespace msgs
}  // namespace comm
}  // namespace haptix

#ifndef SWIG
namespace google {
namespace protobuf {


}  // namespace google
}  // namespace protobuf
#endif  // SWIG

typedef const std::shared_ptr<haptix::comm::msgs::hxRobot const> ConsthxRobotPtr;
// @@protoc_insertion_point(global_scope)

#endif  // PROTOBUF_hxRobot_2eproto__INCLUDED
