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

#ifndef PROTOBUF_ArtnetConfigMessages_2eproto__INCLUDED
#define PROTOBUF_ArtnetConfigMessages_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 artnet {

// Internal implementation detail -- do not call these.
void  protobuf_AddDesc_ArtnetConfigMessages_2eproto();
void protobuf_AssignDesc_ArtnetConfigMessages_2eproto();
void protobuf_ShutdownFile_ArtnetConfigMessages_2eproto();

class OptionsRequest;
class OptionsReply;
class NodeListRequest;
class OutputNode;
class NodeListReply;
class Request;
class Reply;

enum Request_RequestType {
  Request_RequestType_ARTNET_OPTIONS_REQUEST = 1,
  Request_RequestType_ARTNET_NODE_LIST_REQUEST = 2
};
bool Request_RequestType_IsValid(int value);
const Request_RequestType Request_RequestType_RequestType_MIN = Request_RequestType_ARTNET_OPTIONS_REQUEST;
const Request_RequestType Request_RequestType_RequestType_MAX = Request_RequestType_ARTNET_NODE_LIST_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_ARTNET_OPTIONS_REPLY = 1,
  Reply_ReplyType_ARTNET_NODE_LIST_REPLY = 2
};
bool Reply_ReplyType_IsValid(int value);
const Reply_ReplyType Reply_ReplyType_ReplyType_MIN = Reply_ReplyType_ARTNET_OPTIONS_REPLY;
const Reply_ReplyType Reply_ReplyType_ReplyType_MAX = Reply_ReplyType_ARTNET_NODE_LIST_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 OptionsRequest : public ::google::protobuf::Message {
 public:
  OptionsRequest();
  virtual ~OptionsRequest();

  OptionsRequest(const OptionsRequest& from);

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

  void Swap(OptionsRequest* other);

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

  OptionsRequest* New() const;
  void CopyFrom(const ::google::protobuf::Message& from);
  void MergeFrom(const ::google::protobuf::Message& from);
  void CopyFrom(const OptionsRequest& from);
  void MergeFrom(const OptionsRequest& 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 -------------------------------------------------------

  // optional string short_name = 1;
  inline bool has_short_name() const;
  inline void clear_short_name();
  static const int kShortNameFieldNumber = 1;
  inline const ::std::string& short_name() const;
  inline void set_short_name(const ::std::string& value);
  inline void set_short_name(const char* value);
  inline void set_short_name(const char* value, size_t size);
  inline ::std::string* mutable_short_name();
  inline ::std::string* release_short_name();
  inline void set_allocated_short_name(::std::string* short_name);

  // optional string long_name = 2;
  inline bool has_long_name() const;
  inline void clear_long_name();
  static const int kLongNameFieldNumber = 2;
  inline const ::std::string& long_name() const;
  inline void set_long_name(const ::std::string& value);
  inline void set_long_name(const char* value);
  inline void set_long_name(const char* value, size_t size);
  inline ::std::string* mutable_long_name();
  inline ::std::string* release_long_name();
  inline void set_allocated_long_name(::std::string* long_name);

  // optional int32 subnet = 3;
  inline bool has_subnet() const;
  inline void clear_subnet();
  static const int kSubnetFieldNumber = 3;
  inline ::google::protobuf::int32 subnet() const;
  inline void set_subnet(::google::protobuf::int32 value);

  // optional int32 net = 4;
  inline bool has_net() const;
  inline void clear_net();
  static const int kNetFieldNumber = 4;
  inline ::google::protobuf::int32 net() const;
  inline void set_net(::google::protobuf::int32 value);

  // @@protoc_insertion_point(class_scope:ola.plugin.artnet.OptionsRequest)
 private:
  inline void set_has_short_name();
  inline void clear_has_short_name();
  inline void set_has_long_name();
  inline void clear_has_long_name();
  inline void set_has_subnet();
  inline void clear_has_subnet();
  inline void set_has_net();
  inline void clear_has_net();

  ::google::protobuf::UnknownFieldSet _unknown_fields_;

  ::google::protobuf::uint32 _has_bits_[1];
  mutable int _cached_size_;
  ::std::string* short_name_;
  ::std::string* long_name_;
  ::google::protobuf::int32 subnet_;
  ::google::protobuf::int32 net_;
  friend void  protobuf_AddDesc_ArtnetConfigMessages_2eproto();
  friend void protobuf_AssignDesc_ArtnetConfigMessages_2eproto();
  friend void protobuf_ShutdownFile_ArtnetConfigMessages_2eproto();

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

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

  OptionsReply(const OptionsReply& from);

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

  void Swap(OptionsReply* other);

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

  OptionsReply* New() const;
  void CopyFrom(const ::google::protobuf::Message& from);
  void MergeFrom(const ::google::protobuf::Message& from);
  void CopyFrom(const OptionsReply& from);
  void MergeFrom(const OptionsReply& 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 status = 1;
  inline bool has_status() const;
  inline void clear_status();
  static const int kStatusFieldNumber = 1;
  inline ::google::protobuf::uint32 status() const;
  inline void set_status(::google::protobuf::uint32 value);

  // required string short_name = 2;
  inline bool has_short_name() const;
  inline void clear_short_name();
  static const int kShortNameFieldNumber = 2;
  inline const ::std::string& short_name() const;
  inline void set_short_name(const ::std::string& value);
  inline void set_short_name(const char* value);
  inline void set_short_name(const char* value, size_t size);
  inline ::std::string* mutable_short_name();
  inline ::std::string* release_short_name();
  inline void set_allocated_short_name(::std::string* short_name);

  // required string long_name = 3;
  inline bool has_long_name() const;
  inline void clear_long_name();
  static const int kLongNameFieldNumber = 3;
  inline const ::std::string& long_name() const;
  inline void set_long_name(const ::std::string& value);
  inline void set_long_name(const char* value);
  inline void set_long_name(const char* value, size_t size);
  inline ::std::string* mutable_long_name();
  inline ::std::string* release_long_name();
  inline void set_allocated_long_name(::std::string* long_name);

  // required int32 subnet = 4;
  inline bool has_subnet() const;
  inline void clear_subnet();
  static const int kSubnetFieldNumber = 4;
  inline ::google::protobuf::int32 subnet() const;
  inline void set_subnet(::google::protobuf::int32 value);

  // required int32 net = 5;
  inline bool has_net() const;
  inline void clear_net();
  static const int kNetFieldNumber = 5;
  inline ::google::protobuf::int32 net() const;
  inline void set_net(::google::protobuf::int32 value);

  // @@protoc_insertion_point(class_scope:ola.plugin.artnet.OptionsReply)
 private:
  inline void set_has_status();
  inline void clear_has_status();
  inline void set_has_short_name();
  inline void clear_has_short_name();
  inline void set_has_long_name();
  inline void clear_has_long_name();
  inline void set_has_subnet();
  inline void clear_has_subnet();
  inline void set_has_net();
  inline void clear_has_net();

  ::google::protobuf::UnknownFieldSet _unknown_fields_;

  ::google::protobuf::uint32 _has_bits_[1];
  mutable int _cached_size_;
  ::std::string* short_name_;
  ::google::protobuf::uint32 status_;
  ::google::protobuf::int32 subnet_;
  ::std::string* long_name_;
  ::google::protobuf::int32 net_;
  friend void  protobuf_AddDesc_ArtnetConfigMessages_2eproto();
  friend void protobuf_AssignDesc_ArtnetConfigMessages_2eproto();
  friend void protobuf_ShutdownFile_ArtnetConfigMessages_2eproto();

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

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

  NodeListRequest(const NodeListRequest& from);

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

  void Swap(NodeListRequest* other);

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

  NodeListRequest* New() const;
  void CopyFrom(const ::google::protobuf::Message& from);
  void MergeFrom(const ::google::protobuf::Message& from);
  void CopyFrom(const NodeListRequest& from);
  void MergeFrom(const NodeListRequest& 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 int32 universe = 1;
  inline bool has_universe() const;
  inline void clear_universe();
  static const int kUniverseFieldNumber = 1;
  inline ::google::protobuf::int32 universe() const;
  inline void set_universe(::google::protobuf::int32 value);

  // @@protoc_insertion_point(class_scope:ola.plugin.artnet.NodeListRequest)
 private:
  inline void set_has_universe();
  inline void clear_has_universe();

  ::google::protobuf::UnknownFieldSet _unknown_fields_;

  ::google::protobuf::uint32 _has_bits_[1];
  mutable int _cached_size_;
  ::google::protobuf::int32 universe_;
  friend void  protobuf_AddDesc_ArtnetConfigMessages_2eproto();
  friend void protobuf_AssignDesc_ArtnetConfigMessages_2eproto();
  friend void protobuf_ShutdownFile_ArtnetConfigMessages_2eproto();

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

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

  OutputNode(const OutputNode& from);

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

  void Swap(OutputNode* other);

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

  OutputNode* New() const;
  void CopyFrom(const ::google::protobuf::Message& from);
  void MergeFrom(const ::google::protobuf::Message& from);
  void CopyFrom(const OutputNode& from);
  void MergeFrom(const OutputNode& 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 ip_address = 1;
  inline bool has_ip_address() const;
  inline void clear_ip_address();
  static const int kIpAddressFieldNumber = 1;
  inline ::google::protobuf::uint32 ip_address() const;
  inline void set_ip_address(::google::protobuf::uint32 value);

  // @@protoc_insertion_point(class_scope:ola.plugin.artnet.OutputNode)
 private:
  inline void set_has_ip_address();
  inline void clear_has_ip_address();

  ::google::protobuf::UnknownFieldSet _unknown_fields_;

  ::google::protobuf::uint32 _has_bits_[1];
  mutable int _cached_size_;
  ::google::protobuf::uint32 ip_address_;
  friend void  protobuf_AddDesc_ArtnetConfigMessages_2eproto();
  friend void protobuf_AssignDesc_ArtnetConfigMessages_2eproto();
  friend void protobuf_ShutdownFile_ArtnetConfigMessages_2eproto();

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

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

  NodeListReply(const NodeListReply& from);

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

  void Swap(NodeListReply* other);

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

  NodeListReply* New() const;
  void CopyFrom(const ::google::protobuf::Message& from);
  void MergeFrom(const ::google::protobuf::Message& from);
  void CopyFrom(const NodeListReply& from);
  void MergeFrom(const NodeListReply& 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 -------------------------------------------------------

  // repeated .ola.plugin.artnet.OutputNode node = 1;
  inline int node_size() const;
  inline void clear_node();
  static const int kNodeFieldNumber = 1;
  inline const ::ola::plugin::artnet::OutputNode& node(int index) const;
  inline ::ola::plugin::artnet::OutputNode* mutable_node(int index);
  inline ::ola::plugin::artnet::OutputNode* add_node();
  inline const ::google::protobuf::RepeatedPtrField< ::ola::plugin::artnet::OutputNode >&
      node() const;
  inline ::google::protobuf::RepeatedPtrField< ::ola::plugin::artnet::OutputNode >*
      mutable_node();

  // @@protoc_insertion_point(class_scope:ola.plugin.artnet.NodeListReply)
 private:

  ::google::protobuf::UnknownFieldSet _unknown_fields_;

  ::google::protobuf::uint32 _has_bits_[1];
  mutable int _cached_size_;
  ::google::protobuf::RepeatedPtrField< ::ola::plugin::artnet::OutputNode > node_;
  friend void  protobuf_AddDesc_ArtnetConfigMessages_2eproto();
  friend void protobuf_AssignDesc_ArtnetConfigMessages_2eproto();
  friend void protobuf_ShutdownFile_ArtnetConfigMessages_2eproto();

  void InitAsDefaultInstance();
  static NodeListReply* 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 ARTNET_OPTIONS_REQUEST = Request_RequestType_ARTNET_OPTIONS_REQUEST;
  static const RequestType ARTNET_NODE_LIST_REQUEST = Request_RequestType_ARTNET_NODE_LIST_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.artnet.Request.RequestType type = 1;
  inline bool has_type() const;
  inline void clear_type();
  static const int kTypeFieldNumber = 1;
  inline ::ola::plugin::artnet::Request_RequestType type() const;
  inline void set_type(::ola::plugin::artnet::Request_RequestType value);

  // optional .ola.plugin.artnet.OptionsRequest options = 2;
  inline bool has_options() const;
  inline void clear_options();
  static const int kOptionsFieldNumber = 2;
  inline const ::ola::plugin::artnet::OptionsRequest& options() const;
  inline ::ola::plugin::artnet::OptionsRequest* mutable_options();
  inline ::ola::plugin::artnet::OptionsRequest* release_options();
  inline void set_allocated_options(::ola::plugin::artnet::OptionsRequest* options);

  // optional .ola.plugin.artnet.NodeListRequest node_list = 3;
  inline bool has_node_list() const;
  inline void clear_node_list();
  static const int kNodeListFieldNumber = 3;
  inline const ::ola::plugin::artnet::NodeListRequest& node_list() const;
  inline ::ola::plugin::artnet::NodeListRequest* mutable_node_list();
  inline ::ola::plugin::artnet::NodeListRequest* release_node_list();
  inline void set_allocated_node_list(::ola::plugin::artnet::NodeListRequest* node_list);

  // @@protoc_insertion_point(class_scope:ola.plugin.artnet.Request)
 private:
  inline void set_has_type();
  inline void clear_has_type();
  inline void set_has_options();
  inline void clear_has_options();
  inline void set_has_node_list();
  inline void clear_has_node_list();

  ::google::protobuf::UnknownFieldSet _unknown_fields_;

  ::google::protobuf::uint32 _has_bits_[1];
  mutable int _cached_size_;
  ::ola::plugin::artnet::OptionsRequest* options_;
  ::ola::plugin::artnet::NodeListRequest* node_list_;
  int type_;
  friend void  protobuf_AddDesc_ArtnetConfigMessages_2eproto();
  friend void protobuf_AssignDesc_ArtnetConfigMessages_2eproto();
  friend void protobuf_ShutdownFile_ArtnetConfigMessages_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 ARTNET_OPTIONS_REPLY = Reply_ReplyType_ARTNET_OPTIONS_REPLY;
  static const ReplyType ARTNET_NODE_LIST_REPLY = Reply_ReplyType_ARTNET_NODE_LIST_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.artnet.Reply.ReplyType type = 1;
  inline bool has_type() const;
  inline void clear_type();
  static const int kTypeFieldNumber = 1;
  inline ::ola::plugin::artnet::Reply_ReplyType type() const;
  inline void set_type(::ola::plugin::artnet::Reply_ReplyType value);

  // optional .ola.plugin.artnet.OptionsReply options = 2;
  inline bool has_options() const;
  inline void clear_options();
  static const int kOptionsFieldNumber = 2;
  inline const ::ola::plugin::artnet::OptionsReply& options() const;
  inline ::ola::plugin::artnet::OptionsReply* mutable_options();
  inline ::ola::plugin::artnet::OptionsReply* release_options();
  inline void set_allocated_options(::ola::plugin::artnet::OptionsReply* options);

  // optional .ola.plugin.artnet.NodeListReply node_list = 3;
  inline bool has_node_list() const;
  inline void clear_node_list();
  static const int kNodeListFieldNumber = 3;
  inline const ::ola::plugin::artnet::NodeListReply& node_list() const;
  inline ::ola::plugin::artnet::NodeListReply* mutable_node_list();
  inline ::ola::plugin::artnet::NodeListReply* release_node_list();
  inline void set_allocated_node_list(::ola::plugin::artnet::NodeListReply* node_list);

  // @@protoc_insertion_point(class_scope:ola.plugin.artnet.Reply)
 private:
  inline void set_has_type();
  inline void clear_has_type();
  inline void set_has_options();
  inline void clear_has_options();
  inline void set_has_node_list();
  inline void clear_has_node_list();

  ::google::protobuf::UnknownFieldSet _unknown_fields_;

  ::google::protobuf::uint32 _has_bits_[1];
  mutable int _cached_size_;
  ::ola::plugin::artnet::OptionsReply* options_;
  ::ola::plugin::artnet::NodeListReply* node_list_;
  int type_;
  friend void  protobuf_AddDesc_ArtnetConfigMessages_2eproto();
  friend void protobuf_AssignDesc_ArtnetConfigMessages_2eproto();
  friend void protobuf_ShutdownFile_ArtnetConfigMessages_2eproto();

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


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

// OptionsRequest

// optional string short_name = 1;
inline bool OptionsRequest::has_short_name() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void OptionsRequest::set_has_short_name() {
  _has_bits_[0] |= 0x00000001u;
}
inline void OptionsRequest::clear_has_short_name() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void OptionsRequest::clear_short_name() {
  if (short_name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    short_name_->clear();
  }
  clear_has_short_name();
}
inline const ::std::string& OptionsRequest::short_name() const {
  // @@protoc_insertion_point(field_get:ola.plugin.artnet.OptionsRequest.short_name)
  return *short_name_;
}
inline void OptionsRequest::set_short_name(const ::std::string& value) {
  set_has_short_name();
  if (short_name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    short_name_ = new ::std::string;
  }
  short_name_->assign(value);
  // @@protoc_insertion_point(field_set:ola.plugin.artnet.OptionsRequest.short_name)
}
inline void OptionsRequest::set_short_name(const char* value) {
  set_has_short_name();
  if (short_name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    short_name_ = new ::std::string;
  }
  short_name_->assign(value);
  // @@protoc_insertion_point(field_set_char:ola.plugin.artnet.OptionsRequest.short_name)
}
inline void OptionsRequest::set_short_name(const char* value, size_t size) {
  set_has_short_name();
  if (short_name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    short_name_ = new ::std::string;
  }
  short_name_->assign(reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:ola.plugin.artnet.OptionsRequest.short_name)
}
inline ::std::string* OptionsRequest::mutable_short_name() {
  set_has_short_name();
  if (short_name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    short_name_ = new ::std::string;
  }
  // @@protoc_insertion_point(field_mutable:ola.plugin.artnet.OptionsRequest.short_name)
  return short_name_;
}
inline ::std::string* OptionsRequest::release_short_name() {
  clear_has_short_name();
  if (short_name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    return NULL;
  } else {
    ::std::string* temp = short_name_;
    short_name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    return temp;
  }
}
inline void OptionsRequest::set_allocated_short_name(::std::string* short_name) {
  if (short_name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    delete short_name_;
  }
  if (short_name) {
    set_has_short_name();
    short_name_ = short_name;
  } else {
    clear_has_short_name();
    short_name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  // @@protoc_insertion_point(field_set_allocated:ola.plugin.artnet.OptionsRequest.short_name)
}

// optional string long_name = 2;
inline bool OptionsRequest::has_long_name() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void OptionsRequest::set_has_long_name() {
  _has_bits_[0] |= 0x00000002u;
}
inline void OptionsRequest::clear_has_long_name() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void OptionsRequest::clear_long_name() {
  if (long_name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    long_name_->clear();
  }
  clear_has_long_name();
}
inline const ::std::string& OptionsRequest::long_name() const {
  // @@protoc_insertion_point(field_get:ola.plugin.artnet.OptionsRequest.long_name)
  return *long_name_;
}
inline void OptionsRequest::set_long_name(const ::std::string& value) {
  set_has_long_name();
  if (long_name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    long_name_ = new ::std::string;
  }
  long_name_->assign(value);
  // @@protoc_insertion_point(field_set:ola.plugin.artnet.OptionsRequest.long_name)
}
inline void OptionsRequest::set_long_name(const char* value) {
  set_has_long_name();
  if (long_name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    long_name_ = new ::std::string;
  }
  long_name_->assign(value);
  // @@protoc_insertion_point(field_set_char:ola.plugin.artnet.OptionsRequest.long_name)
}
inline void OptionsRequest::set_long_name(const char* value, size_t size) {
  set_has_long_name();
  if (long_name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    long_name_ = new ::std::string;
  }
  long_name_->assign(reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:ola.plugin.artnet.OptionsRequest.long_name)
}
inline ::std::string* OptionsRequest::mutable_long_name() {
  set_has_long_name();
  if (long_name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    long_name_ = new ::std::string;
  }
  // @@protoc_insertion_point(field_mutable:ola.plugin.artnet.OptionsRequest.long_name)
  return long_name_;
}
inline ::std::string* OptionsRequest::release_long_name() {
  clear_has_long_name();
  if (long_name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    return NULL;
  } else {
    ::std::string* temp = long_name_;
    long_name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    return temp;
  }
}
inline void OptionsRequest::set_allocated_long_name(::std::string* long_name) {
  if (long_name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    delete long_name_;
  }
  if (long_name) {
    set_has_long_name();
    long_name_ = long_name;
  } else {
    clear_has_long_name();
    long_name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  // @@protoc_insertion_point(field_set_allocated:ola.plugin.artnet.OptionsRequest.long_name)
}

// optional int32 subnet = 3;
inline bool OptionsRequest::has_subnet() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
inline void OptionsRequest::set_has_subnet() {
  _has_bits_[0] |= 0x00000004u;
}
inline void OptionsRequest::clear_has_subnet() {
  _has_bits_[0] &= ~0x00000004u;
}
inline void OptionsRequest::clear_subnet() {
  subnet_ = 0;
  clear_has_subnet();
}
inline ::google::protobuf::int32 OptionsRequest::subnet() const {
  // @@protoc_insertion_point(field_get:ola.plugin.artnet.OptionsRequest.subnet)
  return subnet_;
}
inline void OptionsRequest::set_subnet(::google::protobuf::int32 value) {
  set_has_subnet();
  subnet_ = value;
  // @@protoc_insertion_point(field_set:ola.plugin.artnet.OptionsRequest.subnet)
}

// optional int32 net = 4;
inline bool OptionsRequest::has_net() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
inline void OptionsRequest::set_has_net() {
  _has_bits_[0] |= 0x00000008u;
}
inline void OptionsRequest::clear_has_net() {
  _has_bits_[0] &= ~0x00000008u;
}
inline void OptionsRequest::clear_net() {
  net_ = 0;
  clear_has_net();
}
inline ::google::protobuf::int32 OptionsRequest::net() const {
  // @@protoc_insertion_point(field_get:ola.plugin.artnet.OptionsRequest.net)
  return net_;
}
inline void OptionsRequest::set_net(::google::protobuf::int32 value) {
  set_has_net();
  net_ = value;
  // @@protoc_insertion_point(field_set:ola.plugin.artnet.OptionsRequest.net)
}

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

// OptionsReply

// required uint32 status = 1;
inline bool OptionsReply::has_status() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void OptionsReply::set_has_status() {
  _has_bits_[0] |= 0x00000001u;
}
inline void OptionsReply::clear_has_status() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void OptionsReply::clear_status() {
  status_ = 0u;
  clear_has_status();
}
inline ::google::protobuf::uint32 OptionsReply::status() const {
  // @@protoc_insertion_point(field_get:ola.plugin.artnet.OptionsReply.status)
  return status_;
}
inline void OptionsReply::set_status(::google::protobuf::uint32 value) {
  set_has_status();
  status_ = value;
  // @@protoc_insertion_point(field_set:ola.plugin.artnet.OptionsReply.status)
}

// required string short_name = 2;
inline bool OptionsReply::has_short_name() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void OptionsReply::set_has_short_name() {
  _has_bits_[0] |= 0x00000002u;
}
inline void OptionsReply::clear_has_short_name() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void OptionsReply::clear_short_name() {
  if (short_name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    short_name_->clear();
  }
  clear_has_short_name();
}
inline const ::std::string& OptionsReply::short_name() const {
  // @@protoc_insertion_point(field_get:ola.plugin.artnet.OptionsReply.short_name)
  return *short_name_;
}
inline void OptionsReply::set_short_name(const ::std::string& value) {
  set_has_short_name();
  if (short_name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    short_name_ = new ::std::string;
  }
  short_name_->assign(value);
  // @@protoc_insertion_point(field_set:ola.plugin.artnet.OptionsReply.short_name)
}
inline void OptionsReply::set_short_name(const char* value) {
  set_has_short_name();
  if (short_name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    short_name_ = new ::std::string;
  }
  short_name_->assign(value);
  // @@protoc_insertion_point(field_set_char:ola.plugin.artnet.OptionsReply.short_name)
}
inline void OptionsReply::set_short_name(const char* value, size_t size) {
  set_has_short_name();
  if (short_name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    short_name_ = new ::std::string;
  }
  short_name_->assign(reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:ola.plugin.artnet.OptionsReply.short_name)
}
inline ::std::string* OptionsReply::mutable_short_name() {
  set_has_short_name();
  if (short_name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    short_name_ = new ::std::string;
  }
  // @@protoc_insertion_point(field_mutable:ola.plugin.artnet.OptionsReply.short_name)
  return short_name_;
}
inline ::std::string* OptionsReply::release_short_name() {
  clear_has_short_name();
  if (short_name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    return NULL;
  } else {
    ::std::string* temp = short_name_;
    short_name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    return temp;
  }
}
inline void OptionsReply::set_allocated_short_name(::std::string* short_name) {
  if (short_name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    delete short_name_;
  }
  if (short_name) {
    set_has_short_name();
    short_name_ = short_name;
  } else {
    clear_has_short_name();
    short_name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  // @@protoc_insertion_point(field_set_allocated:ola.plugin.artnet.OptionsReply.short_name)
}

// required string long_name = 3;
inline bool OptionsReply::has_long_name() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
inline void OptionsReply::set_has_long_name() {
  _has_bits_[0] |= 0x00000004u;
}
inline void OptionsReply::clear_has_long_name() {
  _has_bits_[0] &= ~0x00000004u;
}
inline void OptionsReply::clear_long_name() {
  if (long_name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    long_name_->clear();
  }
  clear_has_long_name();
}
inline const ::std::string& OptionsReply::long_name() const {
  // @@protoc_insertion_point(field_get:ola.plugin.artnet.OptionsReply.long_name)
  return *long_name_;
}
inline void OptionsReply::set_long_name(const ::std::string& value) {
  set_has_long_name();
  if (long_name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    long_name_ = new ::std::string;
  }
  long_name_->assign(value);
  // @@protoc_insertion_point(field_set:ola.plugin.artnet.OptionsReply.long_name)
}
inline void OptionsReply::set_long_name(const char* value) {
  set_has_long_name();
  if (long_name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    long_name_ = new ::std::string;
  }
  long_name_->assign(value);
  // @@protoc_insertion_point(field_set_char:ola.plugin.artnet.OptionsReply.long_name)
}
inline void OptionsReply::set_long_name(const char* value, size_t size) {
  set_has_long_name();
  if (long_name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    long_name_ = new ::std::string;
  }
  long_name_->assign(reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:ola.plugin.artnet.OptionsReply.long_name)
}
inline ::std::string* OptionsReply::mutable_long_name() {
  set_has_long_name();
  if (long_name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    long_name_ = new ::std::string;
  }
  // @@protoc_insertion_point(field_mutable:ola.plugin.artnet.OptionsReply.long_name)
  return long_name_;
}
inline ::std::string* OptionsReply::release_long_name() {
  clear_has_long_name();
  if (long_name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    return NULL;
  } else {
    ::std::string* temp = long_name_;
    long_name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    return temp;
  }
}
inline void OptionsReply::set_allocated_long_name(::std::string* long_name) {
  if (long_name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    delete long_name_;
  }
  if (long_name) {
    set_has_long_name();
    long_name_ = long_name;
  } else {
    clear_has_long_name();
    long_name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  // @@protoc_insertion_point(field_set_allocated:ola.plugin.artnet.OptionsReply.long_name)
}

// required int32 subnet = 4;
inline bool OptionsReply::has_subnet() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
inline void OptionsReply::set_has_subnet() {
  _has_bits_[0] |= 0x00000008u;
}
inline void OptionsReply::clear_has_subnet() {
  _has_bits_[0] &= ~0x00000008u;
}
inline void OptionsReply::clear_subnet() {
  subnet_ = 0;
  clear_has_subnet();
}
inline ::google::protobuf::int32 OptionsReply::subnet() const {
  // @@protoc_insertion_point(field_get:ola.plugin.artnet.OptionsReply.subnet)
  return subnet_;
}
inline void OptionsReply::set_subnet(::google::protobuf::int32 value) {
  set_has_subnet();
  subnet_ = value;
  // @@protoc_insertion_point(field_set:ola.plugin.artnet.OptionsReply.subnet)
}

// required int32 net = 5;
inline bool OptionsReply::has_net() const {
  return (_has_bits_[0] & 0x00000010u) != 0;
}
inline void OptionsReply::set_has_net() {
  _has_bits_[0] |= 0x00000010u;
}
inline void OptionsReply::clear_has_net() {
  _has_bits_[0] &= ~0x00000010u;
}
inline void OptionsReply::clear_net() {
  net_ = 0;
  clear_has_net();
}
inline ::google::protobuf::int32 OptionsReply::net() const {
  // @@protoc_insertion_point(field_get:ola.plugin.artnet.OptionsReply.net)
  return net_;
}
inline void OptionsReply::set_net(::google::protobuf::int32 value) {
  set_has_net();
  net_ = value;
  // @@protoc_insertion_point(field_set:ola.plugin.artnet.OptionsReply.net)
}

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

// NodeListRequest

// required int32 universe = 1;
inline bool NodeListRequest::has_universe() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void NodeListRequest::set_has_universe() {
  _has_bits_[0] |= 0x00000001u;
}
inline void NodeListRequest::clear_has_universe() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void NodeListRequest::clear_universe() {
  universe_ = 0;
  clear_has_universe();
}
inline ::google::protobuf::int32 NodeListRequest::universe() const {
  // @@protoc_insertion_point(field_get:ola.plugin.artnet.NodeListRequest.universe)
  return universe_;
}
inline void NodeListRequest::set_universe(::google::protobuf::int32 value) {
  set_has_universe();
  universe_ = value;
  // @@protoc_insertion_point(field_set:ola.plugin.artnet.NodeListRequest.universe)
}

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

// OutputNode

// required uint32 ip_address = 1;
inline bool OutputNode::has_ip_address() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void OutputNode::set_has_ip_address() {
  _has_bits_[0] |= 0x00000001u;
}
inline void OutputNode::clear_has_ip_address() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void OutputNode::clear_ip_address() {
  ip_address_ = 0u;
  clear_has_ip_address();
}
inline ::google::protobuf::uint32 OutputNode::ip_address() const {
  // @@protoc_insertion_point(field_get:ola.plugin.artnet.OutputNode.ip_address)
  return ip_address_;
}
inline void OutputNode::set_ip_address(::google::protobuf::uint32 value) {
  set_has_ip_address();
  ip_address_ = value;
  // @@protoc_insertion_point(field_set:ola.plugin.artnet.OutputNode.ip_address)
}

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

// NodeListReply

// repeated .ola.plugin.artnet.OutputNode node = 1;
inline int NodeListReply::node_size() const {
  return node_.size();
}
inline void NodeListReply::clear_node() {
  node_.Clear();
}
inline const ::ola::plugin::artnet::OutputNode& NodeListReply::node(int index) const {
  // @@protoc_insertion_point(field_get:ola.plugin.artnet.NodeListReply.node)
  return node_.Get(index);
}
inline ::ola::plugin::artnet::OutputNode* NodeListReply::mutable_node(int index) {
  // @@protoc_insertion_point(field_mutable:ola.plugin.artnet.NodeListReply.node)
  return node_.Mutable(index);
}
inline ::ola::plugin::artnet::OutputNode* NodeListReply::add_node() {
  // @@protoc_insertion_point(field_add:ola.plugin.artnet.NodeListReply.node)
  return node_.Add();
}
inline const ::google::protobuf::RepeatedPtrField< ::ola::plugin::artnet::OutputNode >&
NodeListReply::node() const {
  // @@protoc_insertion_point(field_list:ola.plugin.artnet.NodeListReply.node)
  return node_;
}
inline ::google::protobuf::RepeatedPtrField< ::ola::plugin::artnet::OutputNode >*
NodeListReply::mutable_node() {
  // @@protoc_insertion_point(field_mutable_list:ola.plugin.artnet.NodeListReply.node)
  return &node_;
}

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

// Request

// required .ola.plugin.artnet.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::artnet::Request_RequestType Request::type() const {
  // @@protoc_insertion_point(field_get:ola.plugin.artnet.Request.type)
  return static_cast< ::ola::plugin::artnet::Request_RequestType >(type_);
}
inline void Request::set_type(::ola::plugin::artnet::Request_RequestType value) {
  assert(::ola::plugin::artnet::Request_RequestType_IsValid(value));
  set_has_type();
  type_ = value;
  // @@protoc_insertion_point(field_set:ola.plugin.artnet.Request.type)
}

// optional .ola.plugin.artnet.OptionsRequest options = 2;
inline bool Request::has_options() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void Request::set_has_options() {
  _has_bits_[0] |= 0x00000002u;
}
inline void Request::clear_has_options() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void Request::clear_options() {
  if (options_ != NULL) options_->::ola::plugin::artnet::OptionsRequest::Clear();
  clear_has_options();
}
inline const ::ola::plugin::artnet::OptionsRequest& Request::options() const {
  // @@protoc_insertion_point(field_get:ola.plugin.artnet.Request.options)
  return options_ != NULL ? *options_ : *default_instance_->options_;
}
inline ::ola::plugin::artnet::OptionsRequest* Request::mutable_options() {
  set_has_options();
  if (options_ == NULL) options_ = new ::ola::plugin::artnet::OptionsRequest;
  // @@protoc_insertion_point(field_mutable:ola.plugin.artnet.Request.options)
  return options_;
}
inline ::ola::plugin::artnet::OptionsRequest* Request::release_options() {
  clear_has_options();
  ::ola::plugin::artnet::OptionsRequest* temp = options_;
  options_ = NULL;
  return temp;
}
inline void Request::set_allocated_options(::ola::plugin::artnet::OptionsRequest* options) {
  delete options_;
  options_ = options;
  if (options) {
    set_has_options();
  } else {
    clear_has_options();
  }
  // @@protoc_insertion_point(field_set_allocated:ola.plugin.artnet.Request.options)
}

// optional .ola.plugin.artnet.NodeListRequest node_list = 3;
inline bool Request::has_node_list() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
inline void Request::set_has_node_list() {
  _has_bits_[0] |= 0x00000004u;
}
inline void Request::clear_has_node_list() {
  _has_bits_[0] &= ~0x00000004u;
}
inline void Request::clear_node_list() {
  if (node_list_ != NULL) node_list_->::ola::plugin::artnet::NodeListRequest::Clear();
  clear_has_node_list();
}
inline const ::ola::plugin::artnet::NodeListRequest& Request::node_list() const {
  // @@protoc_insertion_point(field_get:ola.plugin.artnet.Request.node_list)
  return node_list_ != NULL ? *node_list_ : *default_instance_->node_list_;
}
inline ::ola::plugin::artnet::NodeListRequest* Request::mutable_node_list() {
  set_has_node_list();
  if (node_list_ == NULL) node_list_ = new ::ola::plugin::artnet::NodeListRequest;
  // @@protoc_insertion_point(field_mutable:ola.plugin.artnet.Request.node_list)
  return node_list_;
}
inline ::ola::plugin::artnet::NodeListRequest* Request::release_node_list() {
  clear_has_node_list();
  ::ola::plugin::artnet::NodeListRequest* temp = node_list_;
  node_list_ = NULL;
  return temp;
}
inline void Request::set_allocated_node_list(::ola::plugin::artnet::NodeListRequest* node_list) {
  delete node_list_;
  node_list_ = node_list;
  if (node_list) {
    set_has_node_list();
  } else {
    clear_has_node_list();
  }
  // @@protoc_insertion_point(field_set_allocated:ola.plugin.artnet.Request.node_list)
}

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

// Reply

// required .ola.plugin.artnet.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::artnet::Reply_ReplyType Reply::type() const {
  // @@protoc_insertion_point(field_get:ola.plugin.artnet.Reply.type)
  return static_cast< ::ola::plugin::artnet::Reply_ReplyType >(type_);
}
inline void Reply::set_type(::ola::plugin::artnet::Reply_ReplyType value) {
  assert(::ola::plugin::artnet::Reply_ReplyType_IsValid(value));
  set_has_type();
  type_ = value;
  // @@protoc_insertion_point(field_set:ola.plugin.artnet.Reply.type)
}

// optional .ola.plugin.artnet.OptionsReply options = 2;
inline bool Reply::has_options() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void Reply::set_has_options() {
  _has_bits_[0] |= 0x00000002u;
}
inline void Reply::clear_has_options() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void Reply::clear_options() {
  if (options_ != NULL) options_->::ola::plugin::artnet::OptionsReply::Clear();
  clear_has_options();
}
inline const ::ola::plugin::artnet::OptionsReply& Reply::options() const {
  // @@protoc_insertion_point(field_get:ola.plugin.artnet.Reply.options)
  return options_ != NULL ? *options_ : *default_instance_->options_;
}
inline ::ola::plugin::artnet::OptionsReply* Reply::mutable_options() {
  set_has_options();
  if (options_ == NULL) options_ = new ::ola::plugin::artnet::OptionsReply;
  // @@protoc_insertion_point(field_mutable:ola.plugin.artnet.Reply.options)
  return options_;
}
inline ::ola::plugin::artnet::OptionsReply* Reply::release_options() {
  clear_has_options();
  ::ola::plugin::artnet::OptionsReply* temp = options_;
  options_ = NULL;
  return temp;
}
inline void Reply::set_allocated_options(::ola::plugin::artnet::OptionsReply* options) {
  delete options_;
  options_ = options;
  if (options) {
    set_has_options();
  } else {
    clear_has_options();
  }
  // @@protoc_insertion_point(field_set_allocated:ola.plugin.artnet.Reply.options)
}

// optional .ola.plugin.artnet.NodeListReply node_list = 3;
inline bool Reply::has_node_list() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
inline void Reply::set_has_node_list() {
  _has_bits_[0] |= 0x00000004u;
}
inline void Reply::clear_has_node_list() {
  _has_bits_[0] &= ~0x00000004u;
}
inline void Reply::clear_node_list() {
  if (node_list_ != NULL) node_list_->::ola::plugin::artnet::NodeListReply::Clear();
  clear_has_node_list();
}
inline const ::ola::plugin::artnet::NodeListReply& Reply::node_list() const {
  // @@protoc_insertion_point(field_get:ola.plugin.artnet.Reply.node_list)
  return node_list_ != NULL ? *node_list_ : *default_instance_->node_list_;
}
inline ::ola::plugin::artnet::NodeListReply* Reply::mutable_node_list() {
  set_has_node_list();
  if (node_list_ == NULL) node_list_ = new ::ola::plugin::artnet::NodeListReply;
  // @@protoc_insertion_point(field_mutable:ola.plugin.artnet.Reply.node_list)
  return node_list_;
}
inline ::ola::plugin::artnet::NodeListReply* Reply::release_node_list() {
  clear_has_node_list();
  ::ola::plugin::artnet::NodeListReply* temp = node_list_;
  node_list_ = NULL;
  return temp;
}
inline void Reply::set_allocated_node_list(::ola::plugin::artnet::NodeListReply* node_list) {
  delete node_list_;
  node_list_ = node_list;
  if (node_list) {
    set_has_node_list();
  } else {
    clear_has_node_list();
  }
  // @@protoc_insertion_point(field_set_allocated:ola.plugin.artnet.Reply.node_list)
}


// @@protoc_insertion_point(namespace_scope)

}  // namespace artnet
}  // namespace plugin
}  // namespace ola

#ifndef SWIG
namespace google {
namespace protobuf {

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

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

// @@protoc_insertion_point(global_scope)

#endif  // PROTOBUF_ArtnetConfigMessages_2eproto__INCLUDED
