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

#ifndef PROTOBUF_UsbProConfigMessages_2eproto__INCLUDED
#define PROTOBUF_UsbProConfigMessages_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 ola {
namespace plugin {
namespace usbpro {

// Internal implementation detail -- do not call these.
void  protobuf_AddDesc_UsbProConfigMessages_2eproto();
void protobuf_AssignDesc_UsbProConfigMessages_2eproto();
void protobuf_ShutdownFile_UsbProConfigMessages_2eproto();

class ParameterReply;
class ParameterRequest;
class SerialNumberReply;
class PortAssignmentReply;
class Request;
class Reply;

enum Request_RequestType {
  Request_RequestType_USBPRO_PARAMETER_REQUEST = 1,
  Request_RequestType_USBPRO_SERIAL_REQUEST = 2,
  Request_RequestType_USBPRO_PORT_ASSIGNMENT_REQUEST = 3
};
bool Request_RequestType_IsValid(int value);
const Request_RequestType Request_RequestType_RequestType_MIN = Request_RequestType_USBPRO_PARAMETER_REQUEST;
const Request_RequestType Request_RequestType_RequestType_MAX = Request_RequestType_USBPRO_PORT_ASSIGNMENT_REQUEST;
const int Request_RequestType_RequestType_ARRAYSIZE = Request_RequestType_RequestType_MAX + 1;

const ::google::protobuf::EnumDescriptor* Request_RequestType_descriptor();
inline const ::std::string& Request_RequestType_Name(Request_RequestType value) {
  return ::google::protobuf::internal::NameOfEnum(
    Request_RequestType_descriptor(), value);
}
inline bool Request_RequestType_Parse(
    const ::std::string& name, Request_RequestType* value) {
  return ::google::protobuf::internal::ParseNamedEnum<Request_RequestType>(
    Request_RequestType_descriptor(), name, value);
}
enum Reply_ReplyType {
  Reply_ReplyType_USBPRO_PARAMETER_REPLY = 1,
  Reply_ReplyType_USBPRO_SERIAL_REPLY = 2,
  Reply_ReplyType_USBPRO_PORT_ASSIGNMENT_REPLY = 3
};
bool Reply_ReplyType_IsValid(int value);
const Reply_ReplyType Reply_ReplyType_ReplyType_MIN = Reply_ReplyType_USBPRO_PARAMETER_REPLY;
const Reply_ReplyType Reply_ReplyType_ReplyType_MAX = Reply_ReplyType_USBPRO_PORT_ASSIGNMENT_REPLY;
const int Reply_ReplyType_ReplyType_ARRAYSIZE = Reply_ReplyType_ReplyType_MAX + 1;

const ::google::protobuf::EnumDescriptor* Reply_ReplyType_descriptor();
inline const ::std::string& Reply_ReplyType_Name(Reply_ReplyType value) {
  return ::google::protobuf::internal::NameOfEnum(
    Reply_ReplyType_descriptor(), value);
}
inline bool Reply_ReplyType_Parse(
    const ::std::string& name, Reply_ReplyType* value) {
  return ::google::protobuf::internal::ParseNamedEnum<Reply_ReplyType>(
    Reply_ReplyType_descriptor(), name, value);
}
// ===================================================================

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

  ParameterReply(const ParameterReply& from);

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

  void Swap(ParameterReply* other);

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

  ParameterReply* New() const;
  void CopyFrom(const ::google::protobuf::Message& from);
  void MergeFrom(const ::google::protobuf::Message& from);
  void CopyFrom(const ParameterReply& from);
  void MergeFrom(const ParameterReply& 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 uint32 firmware_high = 1;
  inline bool has_firmware_high() const;
  inline void clear_firmware_high();
  static const int kFirmwareHighFieldNumber = 1;
  inline ::google::protobuf::uint32 firmware_high() const;
  inline void set_firmware_high(::google::protobuf::uint32 value);

  // required uint32 firmware = 2;
  inline bool has_firmware() const;
  inline void clear_firmware();
  static const int kFirmwareFieldNumber = 2;
  inline ::google::protobuf::uint32 firmware() const;
  inline void set_firmware(::google::protobuf::uint32 value);

  // required uint32 break_time = 3;
  inline bool has_break_time() const;
  inline void clear_break_time();
  static const int kBreakTimeFieldNumber = 3;
  inline ::google::protobuf::uint32 break_time() const;
  inline void set_break_time(::google::protobuf::uint32 value);

  // required uint32 mab_time = 4;
  inline bool has_mab_time() const;
  inline void clear_mab_time();
  static const int kMabTimeFieldNumber = 4;
  inline ::google::protobuf::uint32 mab_time() const;
  inline void set_mab_time(::google::protobuf::uint32 value);

  // required uint32 rate = 5;
  inline bool has_rate() const;
  inline void clear_rate();
  static const int kRateFieldNumber = 5;
  inline ::google::protobuf::uint32 rate() const;
  inline void set_rate(::google::protobuf::uint32 value);

  // @@protoc_insertion_point(class_scope:ola.plugin.usbpro.ParameterReply)
 private:
  inline void set_has_firmware_high();
  inline void clear_has_firmware_high();
  inline void set_has_firmware();
  inline void clear_has_firmware();
  inline void set_has_break_time();
  inline void clear_has_break_time();
  inline void set_has_mab_time();
  inline void clear_has_mab_time();
  inline void set_has_rate();
  inline void clear_has_rate();

  ::google::protobuf::UnknownFieldSet _unknown_fields_;

  ::google::protobuf::uint32 _has_bits_[1];
  mutable int _cached_size_;
  ::google::protobuf::uint32 firmware_high_;
  ::google::protobuf::uint32 firmware_;
  ::google::protobuf::uint32 break_time_;
  ::google::protobuf::uint32 mab_time_;
  ::google::protobuf::uint32 rate_;
  friend void  protobuf_AddDesc_UsbProConfigMessages_2eproto();
  friend void protobuf_AssignDesc_UsbProConfigMessages_2eproto();
  friend void protobuf_ShutdownFile_UsbProConfigMessages_2eproto();

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

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

  ParameterRequest(const ParameterRequest& from);

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

  void Swap(ParameterRequest* other);

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

  ParameterRequest* New() const;
  void CopyFrom(const ::google::protobuf::Message& from);
  void MergeFrom(const ::google::protobuf::Message& from);
  void CopyFrom(const ParameterRequest& from);
  void MergeFrom(const ParameterRequest& 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 uint32 port_id = 4;
  inline bool has_port_id() const;
  inline void clear_port_id();
  static const int kPortIdFieldNumber = 4;
  inline ::google::protobuf::uint32 port_id() const;
  inline void set_port_id(::google::protobuf::uint32 value);

  // optional uint32 break_time = 1;
  inline bool has_break_time() const;
  inline void clear_break_time();
  static const int kBreakTimeFieldNumber = 1;
  inline ::google::protobuf::uint32 break_time() const;
  inline void set_break_time(::google::protobuf::uint32 value);

  // optional uint32 mab_time = 2;
  inline bool has_mab_time() const;
  inline void clear_mab_time();
  static const int kMabTimeFieldNumber = 2;
  inline ::google::protobuf::uint32 mab_time() const;
  inline void set_mab_time(::google::protobuf::uint32 value);

  // optional uint32 rate = 3;
  inline bool has_rate() const;
  inline void clear_rate();
  static const int kRateFieldNumber = 3;
  inline ::google::protobuf::uint32 rate() const;
  inline void set_rate(::google::protobuf::uint32 value);

  // @@protoc_insertion_point(class_scope:ola.plugin.usbpro.ParameterRequest)
 private:
  inline void set_has_port_id();
  inline void clear_has_port_id();
  inline void set_has_break_time();
  inline void clear_has_break_time();
  inline void set_has_mab_time();
  inline void clear_has_mab_time();
  inline void set_has_rate();
  inline void clear_has_rate();

  ::google::protobuf::UnknownFieldSet _unknown_fields_;

  ::google::protobuf::uint32 _has_bits_[1];
  mutable int _cached_size_;
  ::google::protobuf::uint32 port_id_;
  ::google::protobuf::uint32 break_time_;
  ::google::protobuf::uint32 mab_time_;
  ::google::protobuf::uint32 rate_;
  friend void  protobuf_AddDesc_UsbProConfigMessages_2eproto();
  friend void protobuf_AssignDesc_UsbProConfigMessages_2eproto();
  friend void protobuf_ShutdownFile_UsbProConfigMessages_2eproto();

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

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

  SerialNumberReply(const SerialNumberReply& from);

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

  void Swap(SerialNumberReply* other);

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

  SerialNumberReply* New() const;
  void CopyFrom(const ::google::protobuf::Message& from);
  void MergeFrom(const ::google::protobuf::Message& from);
  void CopyFrom(const SerialNumberReply& from);
  void MergeFrom(const SerialNumberReply& 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 string serial = 1;
  inline bool has_serial() const;
  inline void clear_serial();
  static const int kSerialFieldNumber = 1;
  inline const ::std::string& serial() const;
  inline void set_serial(const ::std::string& value);
  inline void set_serial(const char* value);
  inline void set_serial(const char* value, size_t size);
  inline ::std::string* mutable_serial();
  inline ::std::string* release_serial();
  inline void set_allocated_serial(::std::string* serial);

  // @@protoc_insertion_point(class_scope:ola.plugin.usbpro.SerialNumberReply)
 private:
  inline void set_has_serial();
  inline void clear_has_serial();

  ::google::protobuf::UnknownFieldSet _unknown_fields_;

  ::google::protobuf::uint32 _has_bits_[1];
  mutable int _cached_size_;
  ::std::string* serial_;
  friend void  protobuf_AddDesc_UsbProConfigMessages_2eproto();
  friend void protobuf_AssignDesc_UsbProConfigMessages_2eproto();
  friend void protobuf_ShutdownFile_UsbProConfigMessages_2eproto();

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

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

  PortAssignmentReply(const PortAssignmentReply& from);

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

  void Swap(PortAssignmentReply* other);

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

  PortAssignmentReply* New() const;
  void CopyFrom(const ::google::protobuf::Message& from);
  void MergeFrom(const ::google::protobuf::Message& from);
  void CopyFrom(const PortAssignmentReply& from);
  void MergeFrom(const PortAssignmentReply& 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 uint32 port_assignment1 = 1;
  inline bool has_port_assignment1() const;
  inline void clear_port_assignment1();
  static const int kPortAssignment1FieldNumber = 1;
  inline ::google::protobuf::uint32 port_assignment1() const;
  inline void set_port_assignment1(::google::protobuf::uint32 value);

  // required uint32 port_assignment2 = 2;
  inline bool has_port_assignment2() const;
  inline void clear_port_assignment2();
  static const int kPortAssignment2FieldNumber = 2;
  inline ::google::protobuf::uint32 port_assignment2() const;
  inline void set_port_assignment2(::google::protobuf::uint32 value);

  // @@protoc_insertion_point(class_scope:ola.plugin.usbpro.PortAssignmentReply)
 private:
  inline void set_has_port_assignment1();
  inline void clear_has_port_assignment1();
  inline void set_has_port_assignment2();
  inline void clear_has_port_assignment2();

  ::google::protobuf::UnknownFieldSet _unknown_fields_;

  ::google::protobuf::uint32 _has_bits_[1];
  mutable int _cached_size_;
  ::google::protobuf::uint32 port_assignment1_;
  ::google::protobuf::uint32 port_assignment2_;
  friend void  protobuf_AddDesc_UsbProConfigMessages_2eproto();
  friend void protobuf_AssignDesc_UsbProConfigMessages_2eproto();
  friend void protobuf_ShutdownFile_UsbProConfigMessages_2eproto();

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

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

  Request(const Request& from);

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

  void Swap(Request* other);

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

  Request* New() const;
  void CopyFrom(const ::google::protobuf::Message& from);
  void MergeFrom(const ::google::protobuf::Message& from);
  void CopyFrom(const Request& from);
  void MergeFrom(const Request& 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 Request_RequestType RequestType;
  static const RequestType USBPRO_PARAMETER_REQUEST = Request_RequestType_USBPRO_PARAMETER_REQUEST;
  static const RequestType USBPRO_SERIAL_REQUEST = Request_RequestType_USBPRO_SERIAL_REQUEST;
  static const RequestType USBPRO_PORT_ASSIGNMENT_REQUEST = Request_RequestType_USBPRO_PORT_ASSIGNMENT_REQUEST;
  static inline bool RequestType_IsValid(int value) {
    return Request_RequestType_IsValid(value);
  }
  static const RequestType RequestType_MIN =
    Request_RequestType_RequestType_MIN;
  static const RequestType RequestType_MAX =
    Request_RequestType_RequestType_MAX;
  static const int RequestType_ARRAYSIZE =
    Request_RequestType_RequestType_ARRAYSIZE;
  static inline const ::google::protobuf::EnumDescriptor*
  RequestType_descriptor() {
    return Request_RequestType_descriptor();
  }
  static inline const ::std::string& RequestType_Name(RequestType value) {
    return Request_RequestType_Name(value);
  }
  static inline bool RequestType_Parse(const ::std::string& name,
      RequestType* value) {
    return Request_RequestType_Parse(name, value);
  }

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

  // required .ola.plugin.usbpro.Request.RequestType type = 1;
  inline bool has_type() const;
  inline void clear_type();
  static const int kTypeFieldNumber = 1;
  inline ::ola::plugin::usbpro::Request_RequestType type() const;
  inline void set_type(::ola::plugin::usbpro::Request_RequestType value);

  // optional .ola.plugin.usbpro.ParameterRequest parameters = 2;
  inline bool has_parameters() const;
  inline void clear_parameters();
  static const int kParametersFieldNumber = 2;
  inline const ::ola::plugin::usbpro::ParameterRequest& parameters() const;
  inline ::ola::plugin::usbpro::ParameterRequest* mutable_parameters();
  inline ::ola::plugin::usbpro::ParameterRequest* release_parameters();
  inline void set_allocated_parameters(::ola::plugin::usbpro::ParameterRequest* parameters);

  // @@protoc_insertion_point(class_scope:ola.plugin.usbpro.Request)
 private:
  inline void set_has_type();
  inline void clear_has_type();
  inline void set_has_parameters();
  inline void clear_has_parameters();

  ::google::protobuf::UnknownFieldSet _unknown_fields_;

  ::google::protobuf::uint32 _has_bits_[1];
  mutable int _cached_size_;
  ::ola::plugin::usbpro::ParameterRequest* parameters_;
  int type_;
  friend void  protobuf_AddDesc_UsbProConfigMessages_2eproto();
  friend void protobuf_AssignDesc_UsbProConfigMessages_2eproto();
  friend void protobuf_ShutdownFile_UsbProConfigMessages_2eproto();

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

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

  Reply(const Reply& from);

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

  void Swap(Reply* other);

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

  Reply* New() const;
  void CopyFrom(const ::google::protobuf::Message& from);
  void MergeFrom(const ::google::protobuf::Message& from);
  void CopyFrom(const Reply& from);
  void MergeFrom(const Reply& 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 Reply_ReplyType ReplyType;
  static const ReplyType USBPRO_PARAMETER_REPLY = Reply_ReplyType_USBPRO_PARAMETER_REPLY;
  static const ReplyType USBPRO_SERIAL_REPLY = Reply_ReplyType_USBPRO_SERIAL_REPLY;
  static const ReplyType USBPRO_PORT_ASSIGNMENT_REPLY = Reply_ReplyType_USBPRO_PORT_ASSIGNMENT_REPLY;
  static inline bool ReplyType_IsValid(int value) {
    return Reply_ReplyType_IsValid(value);
  }
  static const ReplyType ReplyType_MIN =
    Reply_ReplyType_ReplyType_MIN;
  static const ReplyType ReplyType_MAX =
    Reply_ReplyType_ReplyType_MAX;
  static const int ReplyType_ARRAYSIZE =
    Reply_ReplyType_ReplyType_ARRAYSIZE;
  static inline const ::google::protobuf::EnumDescriptor*
  ReplyType_descriptor() {
    return Reply_ReplyType_descriptor();
  }
  static inline const ::std::string& ReplyType_Name(ReplyType value) {
    return Reply_ReplyType_Name(value);
  }
  static inline bool ReplyType_Parse(const ::std::string& name,
      ReplyType* value) {
    return Reply_ReplyType_Parse(name, value);
  }

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

  // required .ola.plugin.usbpro.Reply.ReplyType type = 1;
  inline bool has_type() const;
  inline void clear_type();
  static const int kTypeFieldNumber = 1;
  inline ::ola::plugin::usbpro::Reply_ReplyType type() const;
  inline void set_type(::ola::plugin::usbpro::Reply_ReplyType value);

  // optional .ola.plugin.usbpro.ParameterReply parameters = 2;
  inline bool has_parameters() const;
  inline void clear_parameters();
  static const int kParametersFieldNumber = 2;
  inline const ::ola::plugin::usbpro::ParameterReply& parameters() const;
  inline ::ola::plugin::usbpro::ParameterReply* mutable_parameters();
  inline ::ola::plugin::usbpro::ParameterReply* release_parameters();
  inline void set_allocated_parameters(::ola::plugin::usbpro::ParameterReply* parameters);

  // optional .ola.plugin.usbpro.SerialNumberReply serial_number = 3;
  inline bool has_serial_number() const;
  inline void clear_serial_number();
  static const int kSerialNumberFieldNumber = 3;
  inline const ::ola::plugin::usbpro::SerialNumberReply& serial_number() const;
  inline ::ola::plugin::usbpro::SerialNumberReply* mutable_serial_number();
  inline ::ola::plugin::usbpro::SerialNumberReply* release_serial_number();
  inline void set_allocated_serial_number(::ola::plugin::usbpro::SerialNumberReply* serial_number);

  // optional .ola.plugin.usbpro.PortAssignmentReply port_assignment = 4;
  inline bool has_port_assignment() const;
  inline void clear_port_assignment();
  static const int kPortAssignmentFieldNumber = 4;
  inline const ::ola::plugin::usbpro::PortAssignmentReply& port_assignment() const;
  inline ::ola::plugin::usbpro::PortAssignmentReply* mutable_port_assignment();
  inline ::ola::plugin::usbpro::PortAssignmentReply* release_port_assignment();
  inline void set_allocated_port_assignment(::ola::plugin::usbpro::PortAssignmentReply* port_assignment);

  // @@protoc_insertion_point(class_scope:ola.plugin.usbpro.Reply)
 private:
  inline void set_has_type();
  inline void clear_has_type();
  inline void set_has_parameters();
  inline void clear_has_parameters();
  inline void set_has_serial_number();
  inline void clear_has_serial_number();
  inline void set_has_port_assignment();
  inline void clear_has_port_assignment();

  ::google::protobuf::UnknownFieldSet _unknown_fields_;

  ::google::protobuf::uint32 _has_bits_[1];
  mutable int _cached_size_;
  ::ola::plugin::usbpro::ParameterReply* parameters_;
  ::ola::plugin::usbpro::SerialNumberReply* serial_number_;
  ::ola::plugin::usbpro::PortAssignmentReply* port_assignment_;
  int type_;
  friend void  protobuf_AddDesc_UsbProConfigMessages_2eproto();
  friend void protobuf_AssignDesc_UsbProConfigMessages_2eproto();
  friend void protobuf_ShutdownFile_UsbProConfigMessages_2eproto();

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


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

// ParameterReply

// required uint32 firmware_high = 1;
inline bool ParameterReply::has_firmware_high() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void ParameterReply::set_has_firmware_high() {
  _has_bits_[0] |= 0x00000001u;
}
inline void ParameterReply::clear_has_firmware_high() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void ParameterReply::clear_firmware_high() {
  firmware_high_ = 0u;
  clear_has_firmware_high();
}
inline ::google::protobuf::uint32 ParameterReply::firmware_high() const {
  // @@protoc_insertion_point(field_get:ola.plugin.usbpro.ParameterReply.firmware_high)
  return firmware_high_;
}
inline void ParameterReply::set_firmware_high(::google::protobuf::uint32 value) {
  set_has_firmware_high();
  firmware_high_ = value;
  // @@protoc_insertion_point(field_set:ola.plugin.usbpro.ParameterReply.firmware_high)
}

// required uint32 firmware = 2;
inline bool ParameterReply::has_firmware() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void ParameterReply::set_has_firmware() {
  _has_bits_[0] |= 0x00000002u;
}
inline void ParameterReply::clear_has_firmware() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void ParameterReply::clear_firmware() {
  firmware_ = 0u;
  clear_has_firmware();
}
inline ::google::protobuf::uint32 ParameterReply::firmware() const {
  // @@protoc_insertion_point(field_get:ola.plugin.usbpro.ParameterReply.firmware)
  return firmware_;
}
inline void ParameterReply::set_firmware(::google::protobuf::uint32 value) {
  set_has_firmware();
  firmware_ = value;
  // @@protoc_insertion_point(field_set:ola.plugin.usbpro.ParameterReply.firmware)
}

// required uint32 break_time = 3;
inline bool ParameterReply::has_break_time() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
inline void ParameterReply::set_has_break_time() {
  _has_bits_[0] |= 0x00000004u;
}
inline void ParameterReply::clear_has_break_time() {
  _has_bits_[0] &= ~0x00000004u;
}
inline void ParameterReply::clear_break_time() {
  break_time_ = 0u;
  clear_has_break_time();
}
inline ::google::protobuf::uint32 ParameterReply::break_time() const {
  // @@protoc_insertion_point(field_get:ola.plugin.usbpro.ParameterReply.break_time)
  return break_time_;
}
inline void ParameterReply::set_break_time(::google::protobuf::uint32 value) {
  set_has_break_time();
  break_time_ = value;
  // @@protoc_insertion_point(field_set:ola.plugin.usbpro.ParameterReply.break_time)
}

// required uint32 mab_time = 4;
inline bool ParameterReply::has_mab_time() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
inline void ParameterReply::set_has_mab_time() {
  _has_bits_[0] |= 0x00000008u;
}
inline void ParameterReply::clear_has_mab_time() {
  _has_bits_[0] &= ~0x00000008u;
}
inline void ParameterReply::clear_mab_time() {
  mab_time_ = 0u;
  clear_has_mab_time();
}
inline ::google::protobuf::uint32 ParameterReply::mab_time() const {
  // @@protoc_insertion_point(field_get:ola.plugin.usbpro.ParameterReply.mab_time)
  return mab_time_;
}
inline void ParameterReply::set_mab_time(::google::protobuf::uint32 value) {
  set_has_mab_time();
  mab_time_ = value;
  // @@protoc_insertion_point(field_set:ola.plugin.usbpro.ParameterReply.mab_time)
}

// required uint32 rate = 5;
inline bool ParameterReply::has_rate() const {
  return (_has_bits_[0] & 0x00000010u) != 0;
}
inline void ParameterReply::set_has_rate() {
  _has_bits_[0] |= 0x00000010u;
}
inline void ParameterReply::clear_has_rate() {
  _has_bits_[0] &= ~0x00000010u;
}
inline void ParameterReply::clear_rate() {
  rate_ = 0u;
  clear_has_rate();
}
inline ::google::protobuf::uint32 ParameterReply::rate() const {
  // @@protoc_insertion_point(field_get:ola.plugin.usbpro.ParameterReply.rate)
  return rate_;
}
inline void ParameterReply::set_rate(::google::protobuf::uint32 value) {
  set_has_rate();
  rate_ = value;
  // @@protoc_insertion_point(field_set:ola.plugin.usbpro.ParameterReply.rate)
}

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

// ParameterRequest

// required uint32 port_id = 4;
inline bool ParameterRequest::has_port_id() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void ParameterRequest::set_has_port_id() {
  _has_bits_[0] |= 0x00000001u;
}
inline void ParameterRequest::clear_has_port_id() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void ParameterRequest::clear_port_id() {
  port_id_ = 0u;
  clear_has_port_id();
}
inline ::google::protobuf::uint32 ParameterRequest::port_id() const {
  // @@protoc_insertion_point(field_get:ola.plugin.usbpro.ParameterRequest.port_id)
  return port_id_;
}
inline void ParameterRequest::set_port_id(::google::protobuf::uint32 value) {
  set_has_port_id();
  port_id_ = value;
  // @@protoc_insertion_point(field_set:ola.plugin.usbpro.ParameterRequest.port_id)
}

// optional uint32 break_time = 1;
inline bool ParameterRequest::has_break_time() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void ParameterRequest::set_has_break_time() {
  _has_bits_[0] |= 0x00000002u;
}
inline void ParameterRequest::clear_has_break_time() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void ParameterRequest::clear_break_time() {
  break_time_ = 0u;
  clear_has_break_time();
}
inline ::google::protobuf::uint32 ParameterRequest::break_time() const {
  // @@protoc_insertion_point(field_get:ola.plugin.usbpro.ParameterRequest.break_time)
  return break_time_;
}
inline void ParameterRequest::set_break_time(::google::protobuf::uint32 value) {
  set_has_break_time();
  break_time_ = value;
  // @@protoc_insertion_point(field_set:ola.plugin.usbpro.ParameterRequest.break_time)
}

// optional uint32 mab_time = 2;
inline bool ParameterRequest::has_mab_time() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
inline void ParameterRequest::set_has_mab_time() {
  _has_bits_[0] |= 0x00000004u;
}
inline void ParameterRequest::clear_has_mab_time() {
  _has_bits_[0] &= ~0x00000004u;
}
inline void ParameterRequest::clear_mab_time() {
  mab_time_ = 0u;
  clear_has_mab_time();
}
inline ::google::protobuf::uint32 ParameterRequest::mab_time() const {
  // @@protoc_insertion_point(field_get:ola.plugin.usbpro.ParameterRequest.mab_time)
  return mab_time_;
}
inline void ParameterRequest::set_mab_time(::google::protobuf::uint32 value) {
  set_has_mab_time();
  mab_time_ = value;
  // @@protoc_insertion_point(field_set:ola.plugin.usbpro.ParameterRequest.mab_time)
}

// optional uint32 rate = 3;
inline bool ParameterRequest::has_rate() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
inline void ParameterRequest::set_has_rate() {
  _has_bits_[0] |= 0x00000008u;
}
inline void ParameterRequest::clear_has_rate() {
  _has_bits_[0] &= ~0x00000008u;
}
inline void ParameterRequest::clear_rate() {
  rate_ = 0u;
  clear_has_rate();
}
inline ::google::protobuf::uint32 ParameterRequest::rate() const {
  // @@protoc_insertion_point(field_get:ola.plugin.usbpro.ParameterRequest.rate)
  return rate_;
}
inline void ParameterRequest::set_rate(::google::protobuf::uint32 value) {
  set_has_rate();
  rate_ = value;
  // @@protoc_insertion_point(field_set:ola.plugin.usbpro.ParameterRequest.rate)
}

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

// SerialNumberReply

// required string serial = 1;
inline bool SerialNumberReply::has_serial() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void SerialNumberReply::set_has_serial() {
  _has_bits_[0] |= 0x00000001u;
}
inline void SerialNumberReply::clear_has_serial() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void SerialNumberReply::clear_serial() {
  if (serial_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    serial_->clear();
  }
  clear_has_serial();
}
inline const ::std::string& SerialNumberReply::serial() const {
  // @@protoc_insertion_point(field_get:ola.plugin.usbpro.SerialNumberReply.serial)
  return *serial_;
}
inline void SerialNumberReply::set_serial(const ::std::string& value) {
  set_has_serial();
  if (serial_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    serial_ = new ::std::string;
  }
  serial_->assign(value);
  // @@protoc_insertion_point(field_set:ola.plugin.usbpro.SerialNumberReply.serial)
}
inline void SerialNumberReply::set_serial(const char* value) {
  set_has_serial();
  if (serial_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    serial_ = new ::std::string;
  }
  serial_->assign(value);
  // @@protoc_insertion_point(field_set_char:ola.plugin.usbpro.SerialNumberReply.serial)
}
inline void SerialNumberReply::set_serial(const char* value, size_t size) {
  set_has_serial();
  if (serial_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    serial_ = new ::std::string;
  }
  serial_->assign(reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:ola.plugin.usbpro.SerialNumberReply.serial)
}
inline ::std::string* SerialNumberReply::mutable_serial() {
  set_has_serial();
  if (serial_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    serial_ = new ::std::string;
  }
  // @@protoc_insertion_point(field_mutable:ola.plugin.usbpro.SerialNumberReply.serial)
  return serial_;
}
inline ::std::string* SerialNumberReply::release_serial() {
  clear_has_serial();
  if (serial_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    return NULL;
  } else {
    ::std::string* temp = serial_;
    serial_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    return temp;
  }
}
inline void SerialNumberReply::set_allocated_serial(::std::string* serial) {
  if (serial_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    delete serial_;
  }
  if (serial) {
    set_has_serial();
    serial_ = serial;
  } else {
    clear_has_serial();
    serial_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  // @@protoc_insertion_point(field_set_allocated:ola.plugin.usbpro.SerialNumberReply.serial)
}

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

// PortAssignmentReply

// required uint32 port_assignment1 = 1;
inline bool PortAssignmentReply::has_port_assignment1() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void PortAssignmentReply::set_has_port_assignment1() {
  _has_bits_[0] |= 0x00000001u;
}
inline void PortAssignmentReply::clear_has_port_assignment1() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void PortAssignmentReply::clear_port_assignment1() {
  port_assignment1_ = 0u;
  clear_has_port_assignment1();
}
inline ::google::protobuf::uint32 PortAssignmentReply::port_assignment1() const {
  // @@protoc_insertion_point(field_get:ola.plugin.usbpro.PortAssignmentReply.port_assignment1)
  return port_assignment1_;
}
inline void PortAssignmentReply::set_port_assignment1(::google::protobuf::uint32 value) {
  set_has_port_assignment1();
  port_assignment1_ = value;
  // @@protoc_insertion_point(field_set:ola.plugin.usbpro.PortAssignmentReply.port_assignment1)
}

// required uint32 port_assignment2 = 2;
inline bool PortAssignmentReply::has_port_assignment2() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void PortAssignmentReply::set_has_port_assignment2() {
  _has_bits_[0] |= 0x00000002u;
}
inline void PortAssignmentReply::clear_has_port_assignment2() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void PortAssignmentReply::clear_port_assignment2() {
  port_assignment2_ = 0u;
  clear_has_port_assignment2();
}
inline ::google::protobuf::uint32 PortAssignmentReply::port_assignment2() const {
  // @@protoc_insertion_point(field_get:ola.plugin.usbpro.PortAssignmentReply.port_assignment2)
  return port_assignment2_;
}
inline void PortAssignmentReply::set_port_assignment2(::google::protobuf::uint32 value) {
  set_has_port_assignment2();
  port_assignment2_ = value;
  // @@protoc_insertion_point(field_set:ola.plugin.usbpro.PortAssignmentReply.port_assignment2)
}

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

// Request

// required .ola.plugin.usbpro.Request.RequestType type = 1;
inline bool Request::has_type() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void Request::set_has_type() {
  _has_bits_[0] |= 0x00000001u;
}
inline void Request::clear_has_type() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void Request::clear_type() {
  type_ = 1;
  clear_has_type();
}
inline ::ola::plugin::usbpro::Request_RequestType Request::type() const {
  // @@protoc_insertion_point(field_get:ola.plugin.usbpro.Request.type)
  return static_cast< ::ola::plugin::usbpro::Request_RequestType >(type_);
}
inline void Request::set_type(::ola::plugin::usbpro::Request_RequestType value) {
  assert(::ola::plugin::usbpro::Request_RequestType_IsValid(value));
  set_has_type();
  type_ = value;
  // @@protoc_insertion_point(field_set:ola.plugin.usbpro.Request.type)
}

// optional .ola.plugin.usbpro.ParameterRequest parameters = 2;
inline bool Request::has_parameters() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void Request::set_has_parameters() {
  _has_bits_[0] |= 0x00000002u;
}
inline void Request::clear_has_parameters() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void Request::clear_parameters() {
  if (parameters_ != NULL) parameters_->::ola::plugin::usbpro::ParameterRequest::Clear();
  clear_has_parameters();
}
inline const ::ola::plugin::usbpro::ParameterRequest& Request::parameters() const {
  // @@protoc_insertion_point(field_get:ola.plugin.usbpro.Request.parameters)
  return parameters_ != NULL ? *parameters_ : *default_instance_->parameters_;
}
inline ::ola::plugin::usbpro::ParameterRequest* Request::mutable_parameters() {
  set_has_parameters();
  if (parameters_ == NULL) parameters_ = new ::ola::plugin::usbpro::ParameterRequest;
  // @@protoc_insertion_point(field_mutable:ola.plugin.usbpro.Request.parameters)
  return parameters_;
}
inline ::ola::plugin::usbpro::ParameterRequest* Request::release_parameters() {
  clear_has_parameters();
  ::ola::plugin::usbpro::ParameterRequest* temp = parameters_;
  parameters_ = NULL;
  return temp;
}
inline void Request::set_allocated_parameters(::ola::plugin::usbpro::ParameterRequest* parameters) {
  delete parameters_;
  parameters_ = parameters;
  if (parameters) {
    set_has_parameters();
  } else {
    clear_has_parameters();
  }
  // @@protoc_insertion_point(field_set_allocated:ola.plugin.usbpro.Request.parameters)
}

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

// Reply

// required .ola.plugin.usbpro.Reply.ReplyType type = 1;
inline bool Reply::has_type() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void Reply::set_has_type() {
  _has_bits_[0] |= 0x00000001u;
}
inline void Reply::clear_has_type() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void Reply::clear_type() {
  type_ = 1;
  clear_has_type();
}
inline ::ola::plugin::usbpro::Reply_ReplyType Reply::type() const {
  // @@protoc_insertion_point(field_get:ola.plugin.usbpro.Reply.type)
  return static_cast< ::ola::plugin::usbpro::Reply_ReplyType >(type_);
}
inline void Reply::set_type(::ola::plugin::usbpro::Reply_ReplyType value) {
  assert(::ola::plugin::usbpro::Reply_ReplyType_IsValid(value));
  set_has_type();
  type_ = value;
  // @@protoc_insertion_point(field_set:ola.plugin.usbpro.Reply.type)
}

// optional .ola.plugin.usbpro.ParameterReply parameters = 2;
inline bool Reply::has_parameters() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void Reply::set_has_parameters() {
  _has_bits_[0] |= 0x00000002u;
}
inline void Reply::clear_has_parameters() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void Reply::clear_parameters() {
  if (parameters_ != NULL) parameters_->::ola::plugin::usbpro::ParameterReply::Clear();
  clear_has_parameters();
}
inline const ::ola::plugin::usbpro::ParameterReply& Reply::parameters() const {
  // @@protoc_insertion_point(field_get:ola.plugin.usbpro.Reply.parameters)
  return parameters_ != NULL ? *parameters_ : *default_instance_->parameters_;
}
inline ::ola::plugin::usbpro::ParameterReply* Reply::mutable_parameters() {
  set_has_parameters();
  if (parameters_ == NULL) parameters_ = new ::ola::plugin::usbpro::ParameterReply;
  // @@protoc_insertion_point(field_mutable:ola.plugin.usbpro.Reply.parameters)
  return parameters_;
}
inline ::ola::plugin::usbpro::ParameterReply* Reply::release_parameters() {
  clear_has_parameters();
  ::ola::plugin::usbpro::ParameterReply* temp = parameters_;
  parameters_ = NULL;
  return temp;
}
inline void Reply::set_allocated_parameters(::ola::plugin::usbpro::ParameterReply* parameters) {
  delete parameters_;
  parameters_ = parameters;
  if (parameters) {
    set_has_parameters();
  } else {
    clear_has_parameters();
  }
  // @@protoc_insertion_point(field_set_allocated:ola.plugin.usbpro.Reply.parameters)
}

// optional .ola.plugin.usbpro.SerialNumberReply serial_number = 3;
inline bool Reply::has_serial_number() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
inline void Reply::set_has_serial_number() {
  _has_bits_[0] |= 0x00000004u;
}
inline void Reply::clear_has_serial_number() {
  _has_bits_[0] &= ~0x00000004u;
}
inline void Reply::clear_serial_number() {
  if (serial_number_ != NULL) serial_number_->::ola::plugin::usbpro::SerialNumberReply::Clear();
  clear_has_serial_number();
}
inline const ::ola::plugin::usbpro::SerialNumberReply& Reply::serial_number() const {
  // @@protoc_insertion_point(field_get:ola.plugin.usbpro.Reply.serial_number)
  return serial_number_ != NULL ? *serial_number_ : *default_instance_->serial_number_;
}
inline ::ola::plugin::usbpro::SerialNumberReply* Reply::mutable_serial_number() {
  set_has_serial_number();
  if (serial_number_ == NULL) serial_number_ = new ::ola::plugin::usbpro::SerialNumberReply;
  // @@protoc_insertion_point(field_mutable:ola.plugin.usbpro.Reply.serial_number)
  return serial_number_;
}
inline ::ola::plugin::usbpro::SerialNumberReply* Reply::release_serial_number() {
  clear_has_serial_number();
  ::ola::plugin::usbpro::SerialNumberReply* temp = serial_number_;
  serial_number_ = NULL;
  return temp;
}
inline void Reply::set_allocated_serial_number(::ola::plugin::usbpro::SerialNumberReply* serial_number) {
  delete serial_number_;
  serial_number_ = serial_number;
  if (serial_number) {
    set_has_serial_number();
  } else {
    clear_has_serial_number();
  }
  // @@protoc_insertion_point(field_set_allocated:ola.plugin.usbpro.Reply.serial_number)
}

// optional .ola.plugin.usbpro.PortAssignmentReply port_assignment = 4;
inline bool Reply::has_port_assignment() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
inline void Reply::set_has_port_assignment() {
  _has_bits_[0] |= 0x00000008u;
}
inline void Reply::clear_has_port_assignment() {
  _has_bits_[0] &= ~0x00000008u;
}
inline void Reply::clear_port_assignment() {
  if (port_assignment_ != NULL) port_assignment_->::ola::plugin::usbpro::PortAssignmentReply::Clear();
  clear_has_port_assignment();
}
inline const ::ola::plugin::usbpro::PortAssignmentReply& Reply::port_assignment() const {
  // @@protoc_insertion_point(field_get:ola.plugin.usbpro.Reply.port_assignment)
  return port_assignment_ != NULL ? *port_assignment_ : *default_instance_->port_assignment_;
}
inline ::ola::plugin::usbpro::PortAssignmentReply* Reply::mutable_port_assignment() {
  set_has_port_assignment();
  if (port_assignment_ == NULL) port_assignment_ = new ::ola::plugin::usbpro::PortAssignmentReply;
  // @@protoc_insertion_point(field_mutable:ola.plugin.usbpro.Reply.port_assignment)
  return port_assignment_;
}
inline ::ola::plugin::usbpro::PortAssignmentReply* Reply::release_port_assignment() {
  clear_has_port_assignment();
  ::ola::plugin::usbpro::PortAssignmentReply* temp = port_assignment_;
  port_assignment_ = NULL;
  return temp;
}
inline void Reply::set_allocated_port_assignment(::ola::plugin::usbpro::PortAssignmentReply* port_assignment) {
  delete port_assignment_;
  port_assignment_ = port_assignment;
  if (port_assignment) {
    set_has_port_assignment();
  } else {
    clear_has_port_assignment();
  }
  // @@protoc_insertion_point(field_set_allocated:ola.plugin.usbpro.Reply.port_assignment)
}


// @@protoc_insertion_point(namespace_scope)

}  // namespace usbpro
}  // namespace plugin
}  // namespace ola

#ifndef SWIG
namespace google {
namespace protobuf {

template <> struct is_proto_enum< ::ola::plugin::usbpro::Request_RequestType> : ::google::protobuf::internal::true_type {};
template <>
inline const EnumDescriptor* GetEnumDescriptor< ::ola::plugin::usbpro::Request_RequestType>() {
  return ::ola::plugin::usbpro::Request_RequestType_descriptor();
}
template <> struct is_proto_enum< ::ola::plugin::usbpro::Reply_ReplyType> : ::google::protobuf::internal::true_type {};
template <>
inline const EnumDescriptor* GetEnumDescriptor< ::ola::plugin::usbpro::Reply_ReplyType>() {
  return ::ola::plugin::usbpro::Reply_ReplyType_descriptor();
}

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

// @@protoc_insertion_point(global_scope)

#endif  // PROTOBUF_UsbProConfigMessages_2eproto__INCLUDED
