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

#ifndef PROTOBUF_ipcmsg_2eproto__INCLUDED
#define PROTOBUF_ipcmsg_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 2006001 < 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/generated_enum_reflection.h>
#include <google/protobuf/unknown_field_set.h>
// @@protoc_insertion_point(includes)

namespace pb {

// Internal implementation detail -- do not call these.
void  protobuf_AddDesc_ipcmsg_2eproto();
void protobuf_AssignDesc_ipcmsg_2eproto();
void protobuf_ShutdownFile_ipcmsg_2eproto();

class Message;

enum MessageType {
  IPC_JOG = 1,
  IPC_POSITION = 2,
  IPC_CONNECTED = 3
};
bool MessageType_IsValid(int value);
const MessageType MessageType_MIN = IPC_JOG;
const MessageType MessageType_MAX = IPC_CONNECTED;
const int MessageType_ARRAYSIZE = MessageType_MAX + 1;

const ::google::protobuf::EnumDescriptor* MessageType_descriptor();
inline const ::std::string& MessageType_Name(MessageType value) {
  return ::google::protobuf::internal::NameOfEnum(
    MessageType_descriptor(), value);
}
inline bool MessageType_Parse(
    const ::std::string& name, MessageType* value) {
  return ::google::protobuf::internal::ParseNamedEnum<MessageType>(
    MessageType_descriptor(), name, value);
}
enum JogType {
  JOG_STOP = 0,
  JOG_CONTINUOUS = 1,
  JOG_INCREMENTAL = 2
};
bool JogType_IsValid(int value);
const JogType JogType_MIN = JOG_STOP;
const JogType JogType_MAX = JOG_INCREMENTAL;
const int JogType_ARRAYSIZE = JogType_MAX + 1;

const ::google::protobuf::EnumDescriptor* JogType_descriptor();
inline const ::std::string& JogType_Name(JogType value) {
  return ::google::protobuf::internal::NameOfEnum(
    JogType_descriptor(), value);
}
inline bool JogType_Parse(
    const ::std::string& name, JogType* value) {
  return ::google::protobuf::internal::ParseNamedEnum<JogType>(
    JogType_descriptor(), name, value);
}
// ===================================================================

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

  Message(const Message& from);

  inline Message& operator=(const Message& 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 Message& default_instance();

  void Swap(Message* other);

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

  Message* New() const;
  void CopyFrom(const ::google::protobuf::Message& from);
  void MergeFrom(const ::google::protobuf::Message& from);
  void CopyFrom(const Message& from);
  void MergeFrom(const Message& 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 .pb.MessageType type = 1;
  inline bool has_type() const;
  inline void clear_type();
  static const int kTypeFieldNumber = 1;
  inline ::pb::MessageType type() const;
  inline void set_type(::pb::MessageType value);

  // optional int32 axis = 2;
  inline bool has_axis() const;
  inline void clear_axis();
  static const int kAxisFieldNumber = 2;
  inline ::google::protobuf::int32 axis() const;
  inline void set_axis(::google::protobuf::int32 value);

  // optional double velocity = 3;
  inline bool has_velocity() const;
  inline void clear_velocity();
  static const int kVelocityFieldNumber = 3;
  inline double velocity() const;
  inline void set_velocity(double value);

  // optional double distance = 4;
  inline bool has_distance() const;
  inline void clear_distance();
  static const int kDistanceFieldNumber = 4;
  inline double distance() const;
  inline void set_distance(double value);

  // optional .pb.JogType jog_type = 5;
  inline bool has_jog_type() const;
  inline void clear_jog_type();
  static const int kJogTypeFieldNumber = 5;
  inline ::pb::JogType jog_type() const;
  inline void set_jog_type(::pb::JogType value);

  // optional double x = 6;
  inline bool has_x() const;
  inline void clear_x();
  static const int kXFieldNumber = 6;
  inline double x() const;
  inline void set_x(double value);

  // optional double y = 7;
  inline bool has_y() const;
  inline void clear_y();
  static const int kYFieldNumber = 7;
  inline double y() const;
  inline void set_y(double value);

  // optional bool connected = 8;
  inline bool has_connected() const;
  inline void clear_connected();
  static const int kConnectedFieldNumber = 8;
  inline bool connected() const;
  inline void set_connected(bool value);

  // @@protoc_insertion_point(class_scope:pb.Message)
 private:
  inline void set_has_type();
  inline void clear_has_type();
  inline void set_has_axis();
  inline void clear_has_axis();
  inline void set_has_velocity();
  inline void clear_has_velocity();
  inline void set_has_distance();
  inline void clear_has_distance();
  inline void set_has_jog_type();
  inline void clear_has_jog_type();
  inline void set_has_x();
  inline void clear_has_x();
  inline void set_has_y();
  inline void clear_has_y();
  inline void set_has_connected();
  inline void clear_has_connected();

  ::google::protobuf::UnknownFieldSet _unknown_fields_;

  ::google::protobuf::uint32 _has_bits_[1];
  mutable int _cached_size_;
  int type_;
  ::google::protobuf::int32 axis_;
  double velocity_;
  double distance_;
  double x_;
  int jog_type_;
  bool connected_;
  double y_;
  friend void  protobuf_AddDesc_ipcmsg_2eproto();
  friend void protobuf_AssignDesc_ipcmsg_2eproto();
  friend void protobuf_ShutdownFile_ipcmsg_2eproto();

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


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

// Message

// required .pb.MessageType type = 1;
inline bool Message::has_type() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void Message::set_has_type() {
  _has_bits_[0] |= 0x00000001u;
}
inline void Message::clear_has_type() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void Message::clear_type() {
  type_ = 1;
  clear_has_type();
}
inline ::pb::MessageType Message::type() const {
  // @@protoc_insertion_point(field_get:pb.Message.type)
  return static_cast< ::pb::MessageType >(type_);
}
inline void Message::set_type(::pb::MessageType value) {
  assert(::pb::MessageType_IsValid(value));
  set_has_type();
  type_ = value;
  // @@protoc_insertion_point(field_set:pb.Message.type)
}

// optional int32 axis = 2;
inline bool Message::has_axis() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void Message::set_has_axis() {
  _has_bits_[0] |= 0x00000002u;
}
inline void Message::clear_has_axis() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void Message::clear_axis() {
  axis_ = 0;
  clear_has_axis();
}
inline ::google::protobuf::int32 Message::axis() const {
  // @@protoc_insertion_point(field_get:pb.Message.axis)
  return axis_;
}
inline void Message::set_axis(::google::protobuf::int32 value) {
  set_has_axis();
  axis_ = value;
  // @@protoc_insertion_point(field_set:pb.Message.axis)
}

// optional double velocity = 3;
inline bool Message::has_velocity() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
inline void Message::set_has_velocity() {
  _has_bits_[0] |= 0x00000004u;
}
inline void Message::clear_has_velocity() {
  _has_bits_[0] &= ~0x00000004u;
}
inline void Message::clear_velocity() {
  velocity_ = 0;
  clear_has_velocity();
}
inline double Message::velocity() const {
  // @@protoc_insertion_point(field_get:pb.Message.velocity)
  return velocity_;
}
inline void Message::set_velocity(double value) {
  set_has_velocity();
  velocity_ = value;
  // @@protoc_insertion_point(field_set:pb.Message.velocity)
}

// optional double distance = 4;
inline bool Message::has_distance() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
inline void Message::set_has_distance() {
  _has_bits_[0] |= 0x00000008u;
}
inline void Message::clear_has_distance() {
  _has_bits_[0] &= ~0x00000008u;
}
inline void Message::clear_distance() {
  distance_ = 0;
  clear_has_distance();
}
inline double Message::distance() const {
  // @@protoc_insertion_point(field_get:pb.Message.distance)
  return distance_;
}
inline void Message::set_distance(double value) {
  set_has_distance();
  distance_ = value;
  // @@protoc_insertion_point(field_set:pb.Message.distance)
}

// optional .pb.JogType jog_type = 5;
inline bool Message::has_jog_type() const {
  return (_has_bits_[0] & 0x00000010u) != 0;
}
inline void Message::set_has_jog_type() {
  _has_bits_[0] |= 0x00000010u;
}
inline void Message::clear_has_jog_type() {
  _has_bits_[0] &= ~0x00000010u;
}
inline void Message::clear_jog_type() {
  jog_type_ = 0;
  clear_has_jog_type();
}
inline ::pb::JogType Message::jog_type() const {
  // @@protoc_insertion_point(field_get:pb.Message.jog_type)
  return static_cast< ::pb::JogType >(jog_type_);
}
inline void Message::set_jog_type(::pb::JogType value) {
  assert(::pb::JogType_IsValid(value));
  set_has_jog_type();
  jog_type_ = value;
  // @@protoc_insertion_point(field_set:pb.Message.jog_type)
}

// optional double x = 6;
inline bool Message::has_x() const {
  return (_has_bits_[0] & 0x00000020u) != 0;
}
inline void Message::set_has_x() {
  _has_bits_[0] |= 0x00000020u;
}
inline void Message::clear_has_x() {
  _has_bits_[0] &= ~0x00000020u;
}
inline void Message::clear_x() {
  x_ = 0;
  clear_has_x();
}
inline double Message::x() const {
  // @@protoc_insertion_point(field_get:pb.Message.x)
  return x_;
}
inline void Message::set_x(double value) {
  set_has_x();
  x_ = value;
  // @@protoc_insertion_point(field_set:pb.Message.x)
}

// optional double y = 7;
inline bool Message::has_y() const {
  return (_has_bits_[0] & 0x00000040u) != 0;
}
inline void Message::set_has_y() {
  _has_bits_[0] |= 0x00000040u;
}
inline void Message::clear_has_y() {
  _has_bits_[0] &= ~0x00000040u;
}
inline void Message::clear_y() {
  y_ = 0;
  clear_has_y();
}
inline double Message::y() const {
  // @@protoc_insertion_point(field_get:pb.Message.y)
  return y_;
}
inline void Message::set_y(double value) {
  set_has_y();
  y_ = value;
  // @@protoc_insertion_point(field_set:pb.Message.y)
}

// optional bool connected = 8;
inline bool Message::has_connected() const {
  return (_has_bits_[0] & 0x00000080u) != 0;
}
inline void Message::set_has_connected() {
  _has_bits_[0] |= 0x00000080u;
}
inline void Message::clear_has_connected() {
  _has_bits_[0] &= ~0x00000080u;
}
inline void Message::clear_connected() {
  connected_ = false;
  clear_has_connected();
}
inline bool Message::connected() const {
  // @@protoc_insertion_point(field_get:pb.Message.connected)
  return connected_;
}
inline void Message::set_connected(bool value) {
  set_has_connected();
  connected_ = value;
  // @@protoc_insertion_point(field_set:pb.Message.connected)
}


// @@protoc_insertion_point(namespace_scope)

}  // namespace pb

#ifndef SWIG
namespace google {
namespace protobuf {

template <> struct is_proto_enum< ::pb::MessageType> : ::google::protobuf::internal::true_type {};
template <>
inline const EnumDescriptor* GetEnumDescriptor< ::pb::MessageType>() {
  return ::pb::MessageType_descriptor();
}
template <> struct is_proto_enum< ::pb::JogType> : ::google::protobuf::internal::true_type {};
template <>
inline const EnumDescriptor* GetEnumDescriptor< ::pb::JogType>() {
  return ::pb::JogType_descriptor();
}

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

// @@protoc_insertion_point(global_scope)

#endif  // PROTOBUF_ipcmsg_2eproto__INCLUDED
