// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: proto/topicData/topicDataRecord/dataStructure/myoEvent.proto

#ifndef PROTOBUF_INCLUDED_proto_2ftopicData_2ftopicDataRecord_2fdataStructure_2fmyoEvent_2eproto
#define PROTOBUF_INCLUDED_proto_2ftopicData_2ftopicDataRecord_2fdataStructure_2fmyoEvent_2eproto

#include <string>

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

#if GOOGLE_PROTOBUF_VERSION < 3006001
#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 3006001 < 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/io/coded_stream.h>
#include <google/protobuf/arena.h>
#include <google/protobuf/arenastring.h>
#include <google/protobuf/generated_message_table_driven.h>
#include <google/protobuf/generated_message_util.h>
#include <google/protobuf/inlined_string_field.h>
#include <google/protobuf/metadata.h>
#include <google/protobuf/message.h>
#include <google/protobuf/repeated_field.h>  // IWYU pragma: export
#include <google/protobuf/extension_set.h>  // IWYU pragma: export
#include <google/protobuf/unknown_field_set.h>
#include "proto/topicData/topicDataRecord/dataStructure/vector8.pb.h"
#include "proto/topicData/topicDataRecord/dataStructure/vector3.pb.h"
#include "proto/topicData/topicDataRecord/dataStructure/quaternion.pb.h"
#include "proto/topicData/topicDataRecord/dataStructure/handGestureType.pb.h"
// @@protoc_insertion_point(includes)
#define PROTOBUF_INTERNAL_EXPORT_protobuf_proto_2ftopicData_2ftopicDataRecord_2fdataStructure_2fmyoEvent_2eproto 

namespace protobuf_proto_2ftopicData_2ftopicDataRecord_2fdataStructure_2fmyoEvent_2eproto {
// Internal implementation detail -- do not use these members.
struct TableStruct {
  static const ::google::protobuf::internal::ParseTableField entries[];
  static const ::google::protobuf::internal::AuxillaryParseTableField aux[];
  static const ::google::protobuf::internal::ParseTable schema[1];
  static const ::google::protobuf::internal::FieldMetadata field_metadata[];
  static const ::google::protobuf::internal::SerializationTable serialization_table[];
  static const ::google::protobuf::uint32 offsets[];
};
void AddDescriptors();
}  // namespace protobuf_proto_2ftopicData_2ftopicDataRecord_2fdataStructure_2fmyoEvent_2eproto
namespace ubii {
namespace dataStructure {
class MyoEvent;
class MyoEventDefaultTypeInternal;
extern MyoEventDefaultTypeInternal _MyoEvent_default_instance_;
}  // namespace dataStructure
}  // namespace ubii
namespace google {
namespace protobuf {
template<> ::ubii::dataStructure::MyoEvent* Arena::CreateMaybeMessage<::ubii::dataStructure::MyoEvent>(Arena*);
}  // namespace protobuf
}  // namespace google
namespace ubii {
namespace dataStructure {

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

class MyoEvent : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:ubii.dataStructure.MyoEvent) */ {
 public:
  MyoEvent();
  virtual ~MyoEvent();

  MyoEvent(const MyoEvent& from);

  inline MyoEvent& operator=(const MyoEvent& from) {
    CopyFrom(from);
    return *this;
  }
  #if LANG_CXX11
  MyoEvent(MyoEvent&& from) noexcept
    : MyoEvent() {
    *this = ::std::move(from);
  }

  inline MyoEvent& operator=(MyoEvent&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }
  #endif
  static const ::google::protobuf::Descriptor* descriptor();
  static const MyoEvent& default_instance();

  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
  static inline const MyoEvent* internal_default_instance() {
    return reinterpret_cast<const MyoEvent*>(
               &_MyoEvent_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    0;

  void Swap(MyoEvent* other);
  friend void swap(MyoEvent& a, MyoEvent& b) {
    a.Swap(&b);
  }

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

  inline MyoEvent* New() const final {
    return CreateMaybeMessage<MyoEvent>(NULL);
  }

  MyoEvent* New(::google::protobuf::Arena* arena) const final {
    return CreateMaybeMessage<MyoEvent>(arena);
  }
  void CopyFrom(const ::google::protobuf::Message& from) final;
  void MergeFrom(const ::google::protobuf::Message& from) final;
  void CopyFrom(const MyoEvent& from);
  void MergeFrom(const MyoEvent& from);
  void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) final;
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const final;
  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
      bool deterministic, ::google::protobuf::uint8* target) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(MyoEvent* other);
  private:
  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    return NULL;
  }
  inline void* MaybeArenaPtr() const {
    return NULL;
  }
  public:

  ::google::protobuf::Metadata GetMetadata() const final;

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

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

  // .ubii.dataStructure.Vector8 emg = 1;
  bool has_emg() const;
  void clear_emg();
  static const int kEmgFieldNumber = 1;
  private:
  const ::ubii::dataStructure::Vector8& _internal_emg() const;
  public:
  const ::ubii::dataStructure::Vector8& emg() const;
  ::ubii::dataStructure::Vector8* release_emg();
  ::ubii::dataStructure::Vector8* mutable_emg();
  void set_allocated_emg(::ubii::dataStructure::Vector8* emg);

  // .ubii.dataStructure.Quaternion orientation = 2;
  bool has_orientation() const;
  void clear_orientation();
  static const int kOrientationFieldNumber = 2;
  private:
  const ::ubii::dataStructure::Quaternion& _internal_orientation() const;
  public:
  const ::ubii::dataStructure::Quaternion& orientation() const;
  ::ubii::dataStructure::Quaternion* release_orientation();
  ::ubii::dataStructure::Quaternion* mutable_orientation();
  void set_allocated_orientation(::ubii::dataStructure::Quaternion* orientation);

  // .ubii.dataStructure.Vector3 gyroscope = 3;
  bool has_gyroscope() const;
  void clear_gyroscope();
  static const int kGyroscopeFieldNumber = 3;
  private:
  const ::ubii::dataStructure::Vector3& _internal_gyroscope() const;
  public:
  const ::ubii::dataStructure::Vector3& gyroscope() const;
  ::ubii::dataStructure::Vector3* release_gyroscope();
  ::ubii::dataStructure::Vector3* mutable_gyroscope();
  void set_allocated_gyroscope(::ubii::dataStructure::Vector3* gyroscope);

  // .ubii.dataStructure.Vector3 accelerometer = 4;
  bool has_accelerometer() const;
  void clear_accelerometer();
  static const int kAccelerometerFieldNumber = 4;
  private:
  const ::ubii::dataStructure::Vector3& _internal_accelerometer() const;
  public:
  const ::ubii::dataStructure::Vector3& accelerometer() const;
  ::ubii::dataStructure::Vector3* release_accelerometer();
  ::ubii::dataStructure::Vector3* mutable_accelerometer();
  void set_allocated_accelerometer(::ubii::dataStructure::Vector3* accelerometer);

  // .ubii.dataStructure.HandGestureType gesture = 5;
  void clear_gesture();
  static const int kGestureFieldNumber = 5;
  ::ubii::dataStructure::HandGestureType gesture() const;
  void set_gesture(::ubii::dataStructure::HandGestureType value);

  // @@protoc_insertion_point(class_scope:ubii.dataStructure.MyoEvent)
 private:

  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
  ::ubii::dataStructure::Vector8* emg_;
  ::ubii::dataStructure::Quaternion* orientation_;
  ::ubii::dataStructure::Vector3* gyroscope_;
  ::ubii::dataStructure::Vector3* accelerometer_;
  int gesture_;
  mutable ::google::protobuf::internal::CachedSize _cached_size_;
  friend struct ::protobuf_proto_2ftopicData_2ftopicDataRecord_2fdataStructure_2fmyoEvent_2eproto::TableStruct;
};
// ===================================================================


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

#ifdef __GNUC__
  #pragma GCC diagnostic push
  #pragma GCC diagnostic ignored "-Wstrict-aliasing"
#endif  // __GNUC__
// MyoEvent

// .ubii.dataStructure.Vector8 emg = 1;
inline bool MyoEvent::has_emg() const {
  return this != internal_default_instance() && emg_ != NULL;
}
inline const ::ubii::dataStructure::Vector8& MyoEvent::_internal_emg() const {
  return *emg_;
}
inline const ::ubii::dataStructure::Vector8& MyoEvent::emg() const {
  const ::ubii::dataStructure::Vector8* p = emg_;
  // @@protoc_insertion_point(field_get:ubii.dataStructure.MyoEvent.emg)
  return p != NULL ? *p : *reinterpret_cast<const ::ubii::dataStructure::Vector8*>(
      &::ubii::dataStructure::_Vector8_default_instance_);
}
inline ::ubii::dataStructure::Vector8* MyoEvent::release_emg() {
  // @@protoc_insertion_point(field_release:ubii.dataStructure.MyoEvent.emg)
  
  ::ubii::dataStructure::Vector8* temp = emg_;
  emg_ = NULL;
  return temp;
}
inline ::ubii::dataStructure::Vector8* MyoEvent::mutable_emg() {
  
  if (emg_ == NULL) {
    auto* p = CreateMaybeMessage<::ubii::dataStructure::Vector8>(GetArenaNoVirtual());
    emg_ = p;
  }
  // @@protoc_insertion_point(field_mutable:ubii.dataStructure.MyoEvent.emg)
  return emg_;
}
inline void MyoEvent::set_allocated_emg(::ubii::dataStructure::Vector8* emg) {
  ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
  if (message_arena == NULL) {
    delete reinterpret_cast< ::google::protobuf::MessageLite*>(emg_);
  }
  if (emg) {
    ::google::protobuf::Arena* submessage_arena = NULL;
    if (message_arena != submessage_arena) {
      emg = ::google::protobuf::internal::GetOwnedMessage(
          message_arena, emg, submessage_arena);
    }
    
  } else {
    
  }
  emg_ = emg;
  // @@protoc_insertion_point(field_set_allocated:ubii.dataStructure.MyoEvent.emg)
}

// .ubii.dataStructure.Quaternion orientation = 2;
inline bool MyoEvent::has_orientation() const {
  return this != internal_default_instance() && orientation_ != NULL;
}
inline const ::ubii::dataStructure::Quaternion& MyoEvent::_internal_orientation() const {
  return *orientation_;
}
inline const ::ubii::dataStructure::Quaternion& MyoEvent::orientation() const {
  const ::ubii::dataStructure::Quaternion* p = orientation_;
  // @@protoc_insertion_point(field_get:ubii.dataStructure.MyoEvent.orientation)
  return p != NULL ? *p : *reinterpret_cast<const ::ubii::dataStructure::Quaternion*>(
      &::ubii::dataStructure::_Quaternion_default_instance_);
}
inline ::ubii::dataStructure::Quaternion* MyoEvent::release_orientation() {
  // @@protoc_insertion_point(field_release:ubii.dataStructure.MyoEvent.orientation)
  
  ::ubii::dataStructure::Quaternion* temp = orientation_;
  orientation_ = NULL;
  return temp;
}
inline ::ubii::dataStructure::Quaternion* MyoEvent::mutable_orientation() {
  
  if (orientation_ == NULL) {
    auto* p = CreateMaybeMessage<::ubii::dataStructure::Quaternion>(GetArenaNoVirtual());
    orientation_ = p;
  }
  // @@protoc_insertion_point(field_mutable:ubii.dataStructure.MyoEvent.orientation)
  return orientation_;
}
inline void MyoEvent::set_allocated_orientation(::ubii::dataStructure::Quaternion* orientation) {
  ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
  if (message_arena == NULL) {
    delete reinterpret_cast< ::google::protobuf::MessageLite*>(orientation_);
  }
  if (orientation) {
    ::google::protobuf::Arena* submessage_arena = NULL;
    if (message_arena != submessage_arena) {
      orientation = ::google::protobuf::internal::GetOwnedMessage(
          message_arena, orientation, submessage_arena);
    }
    
  } else {
    
  }
  orientation_ = orientation;
  // @@protoc_insertion_point(field_set_allocated:ubii.dataStructure.MyoEvent.orientation)
}

// .ubii.dataStructure.Vector3 gyroscope = 3;
inline bool MyoEvent::has_gyroscope() const {
  return this != internal_default_instance() && gyroscope_ != NULL;
}
inline const ::ubii::dataStructure::Vector3& MyoEvent::_internal_gyroscope() const {
  return *gyroscope_;
}
inline const ::ubii::dataStructure::Vector3& MyoEvent::gyroscope() const {
  const ::ubii::dataStructure::Vector3* p = gyroscope_;
  // @@protoc_insertion_point(field_get:ubii.dataStructure.MyoEvent.gyroscope)
  return p != NULL ? *p : *reinterpret_cast<const ::ubii::dataStructure::Vector3*>(
      &::ubii::dataStructure::_Vector3_default_instance_);
}
inline ::ubii::dataStructure::Vector3* MyoEvent::release_gyroscope() {
  // @@protoc_insertion_point(field_release:ubii.dataStructure.MyoEvent.gyroscope)
  
  ::ubii::dataStructure::Vector3* temp = gyroscope_;
  gyroscope_ = NULL;
  return temp;
}
inline ::ubii::dataStructure::Vector3* MyoEvent::mutable_gyroscope() {
  
  if (gyroscope_ == NULL) {
    auto* p = CreateMaybeMessage<::ubii::dataStructure::Vector3>(GetArenaNoVirtual());
    gyroscope_ = p;
  }
  // @@protoc_insertion_point(field_mutable:ubii.dataStructure.MyoEvent.gyroscope)
  return gyroscope_;
}
inline void MyoEvent::set_allocated_gyroscope(::ubii::dataStructure::Vector3* gyroscope) {
  ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
  if (message_arena == NULL) {
    delete reinterpret_cast< ::google::protobuf::MessageLite*>(gyroscope_);
  }
  if (gyroscope) {
    ::google::protobuf::Arena* submessage_arena = NULL;
    if (message_arena != submessage_arena) {
      gyroscope = ::google::protobuf::internal::GetOwnedMessage(
          message_arena, gyroscope, submessage_arena);
    }
    
  } else {
    
  }
  gyroscope_ = gyroscope;
  // @@protoc_insertion_point(field_set_allocated:ubii.dataStructure.MyoEvent.gyroscope)
}

// .ubii.dataStructure.Vector3 accelerometer = 4;
inline bool MyoEvent::has_accelerometer() const {
  return this != internal_default_instance() && accelerometer_ != NULL;
}
inline const ::ubii::dataStructure::Vector3& MyoEvent::_internal_accelerometer() const {
  return *accelerometer_;
}
inline const ::ubii::dataStructure::Vector3& MyoEvent::accelerometer() const {
  const ::ubii::dataStructure::Vector3* p = accelerometer_;
  // @@protoc_insertion_point(field_get:ubii.dataStructure.MyoEvent.accelerometer)
  return p != NULL ? *p : *reinterpret_cast<const ::ubii::dataStructure::Vector3*>(
      &::ubii::dataStructure::_Vector3_default_instance_);
}
inline ::ubii::dataStructure::Vector3* MyoEvent::release_accelerometer() {
  // @@protoc_insertion_point(field_release:ubii.dataStructure.MyoEvent.accelerometer)
  
  ::ubii::dataStructure::Vector3* temp = accelerometer_;
  accelerometer_ = NULL;
  return temp;
}
inline ::ubii::dataStructure::Vector3* MyoEvent::mutable_accelerometer() {
  
  if (accelerometer_ == NULL) {
    auto* p = CreateMaybeMessage<::ubii::dataStructure::Vector3>(GetArenaNoVirtual());
    accelerometer_ = p;
  }
  // @@protoc_insertion_point(field_mutable:ubii.dataStructure.MyoEvent.accelerometer)
  return accelerometer_;
}
inline void MyoEvent::set_allocated_accelerometer(::ubii::dataStructure::Vector3* accelerometer) {
  ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
  if (message_arena == NULL) {
    delete reinterpret_cast< ::google::protobuf::MessageLite*>(accelerometer_);
  }
  if (accelerometer) {
    ::google::protobuf::Arena* submessage_arena = NULL;
    if (message_arena != submessage_arena) {
      accelerometer = ::google::protobuf::internal::GetOwnedMessage(
          message_arena, accelerometer, submessage_arena);
    }
    
  } else {
    
  }
  accelerometer_ = accelerometer;
  // @@protoc_insertion_point(field_set_allocated:ubii.dataStructure.MyoEvent.accelerometer)
}

// .ubii.dataStructure.HandGestureType gesture = 5;
inline void MyoEvent::clear_gesture() {
  gesture_ = 0;
}
inline ::ubii::dataStructure::HandGestureType MyoEvent::gesture() const {
  // @@protoc_insertion_point(field_get:ubii.dataStructure.MyoEvent.gesture)
  return static_cast< ::ubii::dataStructure::HandGestureType >(gesture_);
}
inline void MyoEvent::set_gesture(::ubii::dataStructure::HandGestureType value) {
  
  gesture_ = value;
  // @@protoc_insertion_point(field_set:ubii.dataStructure.MyoEvent.gesture)
}

#ifdef __GNUC__
  #pragma GCC diagnostic pop
#endif  // __GNUC__

// @@protoc_insertion_point(namespace_scope)

}  // namespace dataStructure
}  // namespace ubii

// @@protoc_insertion_point(global_scope)

#endif  // PROTOBUF_INCLUDED_proto_2ftopicData_2ftopicDataRecord_2fdataStructure_2fmyoEvent_2eproto
