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

#ifndef PROTOBUF_engine_2eproto__INCLUDED
#define PROTOBUF_engine_2eproto__INCLUDED

#include <string>

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

#if GOOGLE_PROTOBUF_VERSION < 2003000
#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 2003000 < 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/repeated_field.h>
#include <google/protobuf/extension_set.h>
#include <google/protobuf/generated_message_reflection.h>
// @@protoc_insertion_point(includes)

namespace drizzled {
namespace message {

// Internal implementation detail -- do not call these.
void  protobuf_AddDesc_engine_2eproto();
void protobuf_AssignDesc_engine_2eproto();
void protobuf_ShutdownFile_engine_2eproto();

class Engine;
class Engine_Option;

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

class Engine_Option : public ::google::protobuf::Message {
 public:
  Engine_Option();
  virtual ~Engine_Option();
  
  Engine_Option(const Engine_Option& from);
  
  inline Engine_Option& operator=(const Engine_Option& 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 Engine_Option& default_instance();
  
  void Swap(Engine_Option* other);
  
  // implements Message ----------------------------------------------
  
  Engine_Option* New() const;
  void CopyFrom(const ::google::protobuf::Message& from);
  void MergeFrom(const ::google::protobuf::Message& from);
  void CopyFrom(const Engine_Option& from);
  void MergeFrom(const Engine_Option& 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 name = 1;
  inline bool has_name() const;
  inline void clear_name();
  static const int kNameFieldNumber = 1;
  inline const ::std::string& name() const;
  inline void set_name(const ::std::string& value);
  inline void set_name(const char* value);
  inline void set_name(const char* value, size_t size);
  inline ::std::string* mutable_name();
  
  // optional string state = 2;
  inline bool has_state() const;
  inline void clear_state();
  static const int kStateFieldNumber = 2;
  inline const ::std::string& state() const;
  inline void set_state(const ::std::string& value);
  inline void set_state(const char* value);
  inline void set_state(const char* value, size_t size);
  inline ::std::string* mutable_state();
  
  // @@protoc_insertion_point(class_scope:drizzled.message.Engine.Option)
 private:
  ::google::protobuf::UnknownFieldSet _unknown_fields_;
  mutable int _cached_size_;
  
  ::std::string* name_;
  static const ::std::string _default_name_;
  ::std::string* state_;
  static const ::std::string _default_state_;
  friend void  protobuf_AddDesc_engine_2eproto();
  friend void protobuf_AssignDesc_engine_2eproto();
  friend void protobuf_ShutdownFile_engine_2eproto();
  
  ::google::protobuf::uint32 _has_bits_[(2 + 31) / 32];
  
  // WHY DOES & HAVE LOWER PRECEDENCE THAN != !?
  inline bool _has_bit(int index) const {
    return (_has_bits_[index / 32] & (1u << (index % 32))) != 0;
  }
  inline void _set_bit(int index) {
    _has_bits_[index / 32] |= (1u << (index % 32));
  }
  inline void _clear_bit(int index) {
    _has_bits_[index / 32] &= ~(1u << (index % 32));
  }
  
  void InitAsDefaultInstance();
  static Engine_Option* default_instance_;
};
// -------------------------------------------------------------------

class Engine : public ::google::protobuf::Message {
 public:
  Engine();
  virtual ~Engine();
  
  Engine(const Engine& from);
  
  inline Engine& operator=(const Engine& 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 Engine& default_instance();
  
  void Swap(Engine* other);
  
  // implements Message ----------------------------------------------
  
  Engine* New() const;
  void CopyFrom(const ::google::protobuf::Message& from);
  void MergeFrom(const ::google::protobuf::Message& from);
  void CopyFrom(const Engine& from);
  void MergeFrom(const Engine& 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 Engine_Option Option;
  
  // accessors -------------------------------------------------------
  
  // required string name = 1;
  inline bool has_name() const;
  inline void clear_name();
  static const int kNameFieldNumber = 1;
  inline const ::std::string& name() const;
  inline void set_name(const ::std::string& value);
  inline void set_name(const char* value);
  inline void set_name(const char* value, size_t size);
  inline ::std::string* mutable_name();
  
  // repeated .drizzled.message.Engine.Option options = 2;
  inline int options_size() const;
  inline void clear_options();
  static const int kOptionsFieldNumber = 2;
  inline const ::drizzled::message::Engine_Option& options(int index) const;
  inline ::drizzled::message::Engine_Option* mutable_options(int index);
  inline ::drizzled::message::Engine_Option* add_options();
  inline const ::google::protobuf::RepeatedPtrField< ::drizzled::message::Engine_Option >&
      options() const;
  inline ::google::protobuf::RepeatedPtrField< ::drizzled::message::Engine_Option >*
      mutable_options();
  
  // @@protoc_insertion_point(class_scope:drizzled.message.Engine)
 private:
  ::google::protobuf::UnknownFieldSet _unknown_fields_;
  mutable int _cached_size_;
  
  ::std::string* name_;
  static const ::std::string _default_name_;
  ::google::protobuf::RepeatedPtrField< ::drizzled::message::Engine_Option > options_;
  friend void  protobuf_AddDesc_engine_2eproto();
  friend void protobuf_AssignDesc_engine_2eproto();
  friend void protobuf_ShutdownFile_engine_2eproto();
  
  ::google::protobuf::uint32 _has_bits_[(2 + 31) / 32];
  
  // WHY DOES & HAVE LOWER PRECEDENCE THAN != !?
  inline bool _has_bit(int index) const {
    return (_has_bits_[index / 32] & (1u << (index % 32))) != 0;
  }
  inline void _set_bit(int index) {
    _has_bits_[index / 32] |= (1u << (index % 32));
  }
  inline void _clear_bit(int index) {
    _has_bits_[index / 32] &= ~(1u << (index % 32));
  }
  
  void InitAsDefaultInstance();
  static Engine* default_instance_;
};
// ===================================================================


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

// Engine_Option

// required string name = 1;
inline bool Engine_Option::has_name() const {
  return _has_bit(0);
}
inline void Engine_Option::clear_name() {
  if (name_ != &_default_name_) {
    name_->clear();
  }
  _clear_bit(0);
}
inline const ::std::string& Engine_Option::name() const {
  return *name_;
}
inline void Engine_Option::set_name(const ::std::string& value) {
  _set_bit(0);
  if (name_ == &_default_name_) {
    name_ = new ::std::string;
  }
  name_->assign(value);
}
inline void Engine_Option::set_name(const char* value) {
  _set_bit(0);
  if (name_ == &_default_name_) {
    name_ = new ::std::string;
  }
  name_->assign(value);
}
inline void Engine_Option::set_name(const char* value, size_t size) {
  _set_bit(0);
  if (name_ == &_default_name_) {
    name_ = new ::std::string;
  }
  name_->assign(reinterpret_cast<const char*>(value), size);
}
inline ::std::string* Engine_Option::mutable_name() {
  _set_bit(0);
  if (name_ == &_default_name_) {
    name_ = new ::std::string;
  }
  return name_;
}

// optional string state = 2;
inline bool Engine_Option::has_state() const {
  return _has_bit(1);
}
inline void Engine_Option::clear_state() {
  if (state_ != &_default_state_) {
    state_->clear();
  }
  _clear_bit(1);
}
inline const ::std::string& Engine_Option::state() const {
  return *state_;
}
inline void Engine_Option::set_state(const ::std::string& value) {
  _set_bit(1);
  if (state_ == &_default_state_) {
    state_ = new ::std::string;
  }
  state_->assign(value);
}
inline void Engine_Option::set_state(const char* value) {
  _set_bit(1);
  if (state_ == &_default_state_) {
    state_ = new ::std::string;
  }
  state_->assign(value);
}
inline void Engine_Option::set_state(const char* value, size_t size) {
  _set_bit(1);
  if (state_ == &_default_state_) {
    state_ = new ::std::string;
  }
  state_->assign(reinterpret_cast<const char*>(value), size);
}
inline ::std::string* Engine_Option::mutable_state() {
  _set_bit(1);
  if (state_ == &_default_state_) {
    state_ = new ::std::string;
  }
  return state_;
}

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

// Engine

// required string name = 1;
inline bool Engine::has_name() const {
  return _has_bit(0);
}
inline void Engine::clear_name() {
  if (name_ != &_default_name_) {
    name_->clear();
  }
  _clear_bit(0);
}
inline const ::std::string& Engine::name() const {
  return *name_;
}
inline void Engine::set_name(const ::std::string& value) {
  _set_bit(0);
  if (name_ == &_default_name_) {
    name_ = new ::std::string;
  }
  name_->assign(value);
}
inline void Engine::set_name(const char* value) {
  _set_bit(0);
  if (name_ == &_default_name_) {
    name_ = new ::std::string;
  }
  name_->assign(value);
}
inline void Engine::set_name(const char* value, size_t size) {
  _set_bit(0);
  if (name_ == &_default_name_) {
    name_ = new ::std::string;
  }
  name_->assign(reinterpret_cast<const char*>(value), size);
}
inline ::std::string* Engine::mutable_name() {
  _set_bit(0);
  if (name_ == &_default_name_) {
    name_ = new ::std::string;
  }
  return name_;
}

// repeated .drizzled.message.Engine.Option options = 2;
inline int Engine::options_size() const {
  return options_.size();
}
inline void Engine::clear_options() {
  options_.Clear();
}
inline const ::drizzled::message::Engine_Option& Engine::options(int index) const {
  return options_.Get(index);
}
inline ::drizzled::message::Engine_Option* Engine::mutable_options(int index) {
  return options_.Mutable(index);
}
inline ::drizzled::message::Engine_Option* Engine::add_options() {
  return options_.Add();
}
inline const ::google::protobuf::RepeatedPtrField< ::drizzled::message::Engine_Option >&
Engine::options() const {
  return options_;
}
inline ::google::protobuf::RepeatedPtrField< ::drizzled::message::Engine_Option >*
Engine::mutable_options() {
  return &options_;
}


// @@protoc_insertion_point(namespace_scope)

}  // namespace message
}  // namespace drizzled

#ifndef SWIG
namespace google {
namespace protobuf {


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

// @@protoc_insertion_point(global_scope)

#endif  // PROTOBUF_engine_2eproto__INCLUDED
