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

#ifndef GOOGLE_PROTOBUF_INCLUDED_measure_5fmessage_2eproto
#define GOOGLE_PROTOBUF_INCLUDED_measure_5fmessage_2eproto

#include <limits>
#include <string>

#include <google/protobuf/port_def.inc>
#if PROTOBUF_VERSION < 4000000
#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 4000000 < 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/port_undef.inc>
#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_lite.h>
#include <google/protobuf/generated_message_reflection.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/generated_enum_reflection.h>
#include <google/protobuf/unknown_field_set.h>
#include "message_base.pb.h"
// @@protoc_insertion_point(includes)
#include <google/protobuf/port_def.inc>
#define PROTOBUF_INTERNAL_EXPORT_measure_5fmessage_2eproto
PROTOBUF_NAMESPACE_OPEN
namespace internal {
class AnyMetadata;
}  // namespace internal
PROTOBUF_NAMESPACE_CLOSE

// Internal implementation detail -- do not use these members.
struct TableStruct_measure_5fmessage_2eproto {
  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[]
    PROTOBUF_SECTION_VARIABLE(protodesc_cold);
  static const ::PROTOBUF_NAMESPACE_ID::internal::AuxiliaryParseTableField aux[]
    PROTOBUF_SECTION_VARIABLE(protodesc_cold);
  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[10]
    PROTOBUF_SECTION_VARIABLE(protodesc_cold);
  static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[];
  static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[];
  static const ::PROTOBUF_NAMESPACE_ID::uint32 offsets[];
};
extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_measure_5fmessage_2eproto;
namespace message {
class Cloud_coordinate;
class Cloud_coordinateDefaultTypeInternal;
extern Cloud_coordinateDefaultTypeInternal _Cloud_coordinate_default_instance_;
class Cloud_type;
class Cloud_typeDefaultTypeInternal;
extern Cloud_typeDefaultTypeInternal _Cloud_type_default_instance_;
class Ground_detect_request_msg;
class Ground_detect_request_msgDefaultTypeInternal;
extern Ground_detect_request_msgDefaultTypeInternal _Ground_detect_request_msg_default_instance_;
class Ground_detect_response_msg;
class Ground_detect_response_msgDefaultTypeInternal;
extern Ground_detect_response_msgDefaultTypeInternal _Ground_detect_response_msg_default_instance_;
class Ground_status_msg;
class Ground_status_msgDefaultTypeInternal;
extern Ground_status_msgDefaultTypeInternal _Ground_status_msg_default_instance_;
class Locate_sift_request_msg;
class Locate_sift_request_msgDefaultTypeInternal;
extern Locate_sift_request_msgDefaultTypeInternal _Locate_sift_request_msg_default_instance_;
class Locate_sift_response_msg;
class Locate_sift_response_msgDefaultTypeInternal;
extern Locate_sift_response_msgDefaultTypeInternal _Locate_sift_response_msg_default_instance_;
class Measure_request_msg;
class Measure_request_msgDefaultTypeInternal;
extern Measure_request_msgDefaultTypeInternal _Measure_request_msg_default_instance_;
class Measure_response_msg;
class Measure_response_msgDefaultTypeInternal;
extern Measure_response_msgDefaultTypeInternal _Measure_response_msg_default_instance_;
class Measure_status_msg;
class Measure_status_msgDefaultTypeInternal;
extern Measure_status_msgDefaultTypeInternal _Measure_status_msg_default_instance_;
}  // namespace message
PROTOBUF_NAMESPACE_OPEN
template<> ::message::Cloud_coordinate* Arena::CreateMaybeMessage<::message::Cloud_coordinate>(Arena*);
template<> ::message::Cloud_type* Arena::CreateMaybeMessage<::message::Cloud_type>(Arena*);
template<> ::message::Ground_detect_request_msg* Arena::CreateMaybeMessage<::message::Ground_detect_request_msg>(Arena*);
template<> ::message::Ground_detect_response_msg* Arena::CreateMaybeMessage<::message::Ground_detect_response_msg>(Arena*);
template<> ::message::Ground_status_msg* Arena::CreateMaybeMessage<::message::Ground_status_msg>(Arena*);
template<> ::message::Locate_sift_request_msg* Arena::CreateMaybeMessage<::message::Locate_sift_request_msg>(Arena*);
template<> ::message::Locate_sift_response_msg* Arena::CreateMaybeMessage<::message::Locate_sift_response_msg>(Arena*);
template<> ::message::Measure_request_msg* Arena::CreateMaybeMessage<::message::Measure_request_msg>(Arena*);
template<> ::message::Measure_response_msg* Arena::CreateMaybeMessage<::message::Measure_response_msg>(Arena*);
template<> ::message::Measure_status_msg* Arena::CreateMaybeMessage<::message::Measure_status_msg>(Arena*);
PROTOBUF_NAMESPACE_CLOSE
namespace message {

enum Laser_manager_status : int {
  LASER_MANAGER_UNKNOW = 0,
  LASER_MANAGER_READY = 1,
  LASER_MANAGER_ISSUED_TASK = 2,
  LASER_MANAGER_WAIT_REPLY = 3,
  LASER_MANAGER_FAULT = 4
};
bool Laser_manager_status_IsValid(int value);
constexpr Laser_manager_status Laser_manager_status_MIN = LASER_MANAGER_UNKNOW;
constexpr Laser_manager_status Laser_manager_status_MAX = LASER_MANAGER_FAULT;
constexpr int Laser_manager_status_ARRAYSIZE = Laser_manager_status_MAX + 1;

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* Laser_manager_status_descriptor();
template<typename T>
inline const std::string& Laser_manager_status_Name(T enum_t_value) {
  static_assert(::std::is_same<T, Laser_manager_status>::value ||
    ::std::is_integral<T>::value,
    "Incorrect type passed to function Laser_manager_status_Name.");
  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
    Laser_manager_status_descriptor(), enum_t_value);
}
inline bool Laser_manager_status_Parse(
    ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, Laser_manager_status* value) {
  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<Laser_manager_status>(
    Laser_manager_status_descriptor(), name, value);
}
enum Laser_statu : int {
  LASER_DISCONNECT = 0,
  LASER_READY = 1,
  LASER_BUSY = 2,
  LASER_FAULT = 3
};
bool Laser_statu_IsValid(int value);
constexpr Laser_statu Laser_statu_MIN = LASER_DISCONNECT;
constexpr Laser_statu Laser_statu_MAX = LASER_FAULT;
constexpr int Laser_statu_ARRAYSIZE = Laser_statu_MAX + 1;

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* Laser_statu_descriptor();
template<typename T>
inline const std::string& Laser_statu_Name(T enum_t_value) {
  static_assert(::std::is_same<T, Laser_statu>::value ||
    ::std::is_integral<T>::value,
    "Incorrect type passed to function Laser_statu_Name.");
  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
    Laser_statu_descriptor(), enum_t_value);
}
inline bool Laser_statu_Parse(
    ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, Laser_statu* value) {
  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<Laser_statu>(
    Laser_statu_descriptor(), name, value);
}
enum Locate_manager_status : int {
  LOCATE_MANAGER_UNKNOW = 0,
  LOCATE_MANAGER_READY = 1,
  LOCATE_MANAGER_SIFT = 2,
  LOCATE_MANAGER_CAR = 3,
  LOCATE_MANAGER_WHEEL = 4,
  LOCATE_MANAGER_FAULT = 5
};
bool Locate_manager_status_IsValid(int value);
constexpr Locate_manager_status Locate_manager_status_MIN = LOCATE_MANAGER_UNKNOW;
constexpr Locate_manager_status Locate_manager_status_MAX = LOCATE_MANAGER_FAULT;
constexpr int Locate_manager_status_ARRAYSIZE = Locate_manager_status_MAX + 1;

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* Locate_manager_status_descriptor();
template<typename T>
inline const std::string& Locate_manager_status_Name(T enum_t_value) {
  static_assert(::std::is_same<T, Locate_manager_status>::value ||
    ::std::is_integral<T>::value,
    "Incorrect type passed to function Locate_manager_status_Name.");
  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
    Locate_manager_status_descriptor(), enum_t_value);
}
inline bool Locate_manager_status_Parse(
    ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, Locate_manager_status* value) {
  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<Locate_manager_status>(
    Locate_manager_status_descriptor(), name, value);
}
enum Wanji_manager_status : int {
  WANJI_MANAGER_UNKNOWN = 0,
  WANJI_MANAGER_READY = 1,
  WANJI_MANAGER_BUSY = 2,
  WANJI_MANAGER_ISSUED_SCAN = 3,
  WANJI_MANAGER_WAIT_SCAN = 4,
  WANJI_MANAGER_ISSUED_DETECT = 5,
  WANJI_MANAGER_WAIT_DETECT = 6,
  WANJI_MANAGER_FAULT = 10
};
bool Wanji_manager_status_IsValid(int value);
constexpr Wanji_manager_status Wanji_manager_status_MIN = WANJI_MANAGER_UNKNOWN;
constexpr Wanji_manager_status Wanji_manager_status_MAX = WANJI_MANAGER_FAULT;
constexpr int Wanji_manager_status_ARRAYSIZE = Wanji_manager_status_MAX + 1;

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* Wanji_manager_status_descriptor();
template<typename T>
inline const std::string& Wanji_manager_status_Name(T enum_t_value) {
  static_assert(::std::is_same<T, Wanji_manager_status>::value ||
    ::std::is_integral<T>::value,
    "Incorrect type passed to function Wanji_manager_status_Name.");
  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
    Wanji_manager_status_descriptor(), enum_t_value);
}
inline bool Wanji_manager_status_Parse(
    ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, Wanji_manager_status* value) {
  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<Wanji_manager_status>(
    Wanji_manager_status_descriptor(), name, value);
}
enum Wanji_lidar_device_status : int {
  WANJI_LIDAR_DEVICE_UNKNOWN = 0,
  WANJI_LIDAR_DEVICE_READY = 1,
  WANJI_LIDAR_DEVICE_DISCONNECT = 2,
  WANJI_LIDAR_DEVICE_BUSY = 3,
  WANJI_LIDAR_DEVICE_FAULT = 10
};
bool Wanji_lidar_device_status_IsValid(int value);
constexpr Wanji_lidar_device_status Wanji_lidar_device_status_MIN = WANJI_LIDAR_DEVICE_UNKNOWN;
constexpr Wanji_lidar_device_status Wanji_lidar_device_status_MAX = WANJI_LIDAR_DEVICE_FAULT;
constexpr int Wanji_lidar_device_status_ARRAYSIZE = Wanji_lidar_device_status_MAX + 1;

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* Wanji_lidar_device_status_descriptor();
template<typename T>
inline const std::string& Wanji_lidar_device_status_Name(T enum_t_value) {
  static_assert(::std::is_same<T, Wanji_lidar_device_status>::value ||
    ::std::is_integral<T>::value,
    "Incorrect type passed to function Wanji_lidar_device_status_Name.");
  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
    Wanji_lidar_device_status_descriptor(), enum_t_value);
}
inline bool Wanji_lidar_device_status_Parse(
    ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, Wanji_lidar_device_status* value) {
  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<Wanji_lidar_device_status>(
    Wanji_lidar_device_status_descriptor(), name, value);
}
enum Region_worker_status : int {
  REGION_WORKER_UNKNOWN = 0,
  REGION_WORKER_READY = 1,
  REGION_WORKER_BUSY = 2,
  REGION_WORKER_FAULT = 10
};
bool Region_worker_status_IsValid(int value);
constexpr Region_worker_status Region_worker_status_MIN = REGION_WORKER_UNKNOWN;
constexpr Region_worker_status Region_worker_status_MAX = REGION_WORKER_FAULT;
constexpr int Region_worker_status_ARRAYSIZE = Region_worker_status_MAX + 1;

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* Region_worker_status_descriptor();
template<typename T>
inline const std::string& Region_worker_status_Name(T enum_t_value) {
  static_assert(::std::is_same<T, Region_worker_status>::value ||
    ::std::is_integral<T>::value,
    "Incorrect type passed to function Region_worker_status_Name.");
  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
    Region_worker_status_descriptor(), enum_t_value);
}
inline bool Region_worker_status_Parse(
    ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, Region_worker_status* value) {
  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<Region_worker_status>(
    Region_worker_status_descriptor(), name, value);
}
enum Ground_statu : int {
  Nothing = 0,
  Noise = 1,
  Car_correct = 2,
  Car_border_reached = 3
};
bool Ground_statu_IsValid(int value);
constexpr Ground_statu Ground_statu_MIN = Nothing;
constexpr Ground_statu Ground_statu_MAX = Car_border_reached;
constexpr int Ground_statu_ARRAYSIZE = Ground_statu_MAX + 1;

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* Ground_statu_descriptor();
template<typename T>
inline const std::string& Ground_statu_Name(T enum_t_value) {
  static_assert(::std::is_same<T, Ground_statu>::value ||
    ::std::is_integral<T>::value,
    "Incorrect type passed to function Ground_statu_Name.");
  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
    Ground_statu_descriptor(), enum_t_value);
}
inline bool Ground_statu_Parse(
    ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, Ground_statu* value) {
  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<Ground_statu>(
    Ground_statu_descriptor(), name, value);
}
// ===================================================================

class Measure_status_msg PROTOBUF_FINAL :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:message.Measure_status_msg) */ {
 public:
  inline Measure_status_msg() : Measure_status_msg(nullptr) {}
  virtual ~Measure_status_msg();

  Measure_status_msg(const Measure_status_msg& from);
  Measure_status_msg(Measure_status_msg&& from) noexcept
    : Measure_status_msg() {
    *this = ::std::move(from);
  }

  inline Measure_status_msg& operator=(const Measure_status_msg& from) {
    CopyFrom(from);
    return *this;
  }
  inline Measure_status_msg& operator=(Measure_status_msg&& from) noexcept {
    if (GetArena() == from.GetArena()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return GetMetadataStatic().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return GetMetadataStatic().reflection;
  }
  static const Measure_status_msg& default_instance();

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

  friend void swap(Measure_status_msg& a, Measure_status_msg& b) {
    a.Swap(&b);
  }
  inline void Swap(Measure_status_msg* other) {
    if (other == this) return;
    if (GetArena() == other->GetArena()) {
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(Measure_status_msg* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

  inline Measure_status_msg* New() const final {
    return CreateMaybeMessage<Measure_status_msg>(nullptr);
  }

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

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  inline void SharedCtor();
  inline void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(Measure_status_msg* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "message.Measure_status_msg";
  }
  protected:
  explicit Measure_status_msg(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_measure_5fmessage_2eproto);
    return ::descriptor_table_measure_5fmessage_2eproto.file_level_metadata[kIndexInFileMessages];
  }

  public:

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

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

  enum : int {
    kLaserStatuVectorFieldNumber = 4,
    kBaseInfoFieldNumber = 1,
    kIdStructFieldNumber = 2,
    kErrorManagerFieldNumber = 6,
    kLaserManagerStatusFieldNumber = 3,
    kLocateManagerStatusFieldNumber = 5,
  };
  // repeated .message.Laser_statu laser_statu_vector = 4;
  int laser_statu_vector_size() const;
  private:
  int _internal_laser_statu_vector_size() const;
  public:
  void clear_laser_statu_vector();
  private:
  ::message::Laser_statu _internal_laser_statu_vector(int index) const;
  void _internal_add_laser_statu_vector(::message::Laser_statu value);
  ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>* _internal_mutable_laser_statu_vector();
  public:
  ::message::Laser_statu laser_statu_vector(int index) const;
  void set_laser_statu_vector(int index, ::message::Laser_statu value);
  void add_laser_statu_vector(::message::Laser_statu value);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>& laser_statu_vector() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>* mutable_laser_statu_vector();

  // required .message.Base_info base_info = 1;
  bool has_base_info() const;
  private:
  bool _internal_has_base_info() const;
  public:
  void clear_base_info();
  const ::message::Base_info& base_info() const;
  ::message::Base_info* release_base_info();
  ::message::Base_info* mutable_base_info();
  void set_allocated_base_info(::message::Base_info* base_info);
  private:
  const ::message::Base_info& _internal_base_info() const;
  ::message::Base_info* _internal_mutable_base_info();
  public:
  void unsafe_arena_set_allocated_base_info(
      ::message::Base_info* base_info);
  ::message::Base_info* unsafe_arena_release_base_info();

  // required .message.Id_struct id_struct = 2;
  bool has_id_struct() const;
  private:
  bool _internal_has_id_struct() const;
  public:
  void clear_id_struct();
  const ::message::Id_struct& id_struct() const;
  ::message::Id_struct* release_id_struct();
  ::message::Id_struct* mutable_id_struct();
  void set_allocated_id_struct(::message::Id_struct* id_struct);
  private:
  const ::message::Id_struct& _internal_id_struct() const;
  ::message::Id_struct* _internal_mutable_id_struct();
  public:
  void unsafe_arena_set_allocated_id_struct(
      ::message::Id_struct* id_struct);
  ::message::Id_struct* unsafe_arena_release_id_struct();

  // required .message.Error_manager error_manager = 6;
  bool has_error_manager() const;
  private:
  bool _internal_has_error_manager() const;
  public:
  void clear_error_manager();
  const ::message::Error_manager& error_manager() const;
  ::message::Error_manager* release_error_manager();
  ::message::Error_manager* mutable_error_manager();
  void set_allocated_error_manager(::message::Error_manager* error_manager);
  private:
  const ::message::Error_manager& _internal_error_manager() const;
  ::message::Error_manager* _internal_mutable_error_manager();
  public:
  void unsafe_arena_set_allocated_error_manager(
      ::message::Error_manager* error_manager);
  ::message::Error_manager* unsafe_arena_release_error_manager();

  // required .message.Laser_manager_status laser_manager_status = 3;
  bool has_laser_manager_status() const;
  private:
  bool _internal_has_laser_manager_status() const;
  public:
  void clear_laser_manager_status();
  ::message::Laser_manager_status laser_manager_status() const;
  void set_laser_manager_status(::message::Laser_manager_status value);
  private:
  ::message::Laser_manager_status _internal_laser_manager_status() const;
  void _internal_set_laser_manager_status(::message::Laser_manager_status value);
  public:

  // required .message.Locate_manager_status locate_manager_status = 5;
  bool has_locate_manager_status() const;
  private:
  bool _internal_has_locate_manager_status() const;
  public:
  void clear_locate_manager_status();
  ::message::Locate_manager_status locate_manager_status() const;
  void set_locate_manager_status(::message::Locate_manager_status value);
  private:
  ::message::Locate_manager_status _internal_locate_manager_status() const;
  void _internal_set_locate_manager_status(::message::Locate_manager_status value);
  public:

  // @@protoc_insertion_point(class_scope:message.Measure_status_msg)
 private:
  class _Internal;

  // helper for ByteSizeLong()
  size_t RequiredFieldsByteSizeFallback() const;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField<int> laser_statu_vector_;
  ::message::Base_info* base_info_;
  ::message::Id_struct* id_struct_;
  ::message::Error_manager* error_manager_;
  int laser_manager_status_;
  int locate_manager_status_;
  friend struct ::TableStruct_measure_5fmessage_2eproto;
};
// -------------------------------------------------------------------

class Measure_request_msg PROTOBUF_FINAL :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:message.Measure_request_msg) */ {
 public:
  inline Measure_request_msg() : Measure_request_msg(nullptr) {}
  virtual ~Measure_request_msg();

  Measure_request_msg(const Measure_request_msg& from);
  Measure_request_msg(Measure_request_msg&& from) noexcept
    : Measure_request_msg() {
    *this = ::std::move(from);
  }

  inline Measure_request_msg& operator=(const Measure_request_msg& from) {
    CopyFrom(from);
    return *this;
  }
  inline Measure_request_msg& operator=(Measure_request_msg&& from) noexcept {
    if (GetArena() == from.GetArena()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return GetMetadataStatic().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return GetMetadataStatic().reflection;
  }
  static const Measure_request_msg& default_instance();

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

  friend void swap(Measure_request_msg& a, Measure_request_msg& b) {
    a.Swap(&b);
  }
  inline void Swap(Measure_request_msg* other) {
    if (other == this) return;
    if (GetArena() == other->GetArena()) {
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(Measure_request_msg* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

  inline Measure_request_msg* New() const final {
    return CreateMaybeMessage<Measure_request_msg>(nullptr);
  }

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

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  inline void SharedCtor();
  inline void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(Measure_request_msg* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "message.Measure_request_msg";
  }
  protected:
  explicit Measure_request_msg(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_measure_5fmessage_2eproto);
    return ::descriptor_table_measure_5fmessage_2eproto.file_level_metadata[kIndexInFileMessages];
  }

  public:

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

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

  enum : int {
    kCommandKeyFieldNumber = 2,
    kBaseInfoFieldNumber = 1,
    kIdStructFieldNumber = 3,
  };
  // required string command_key = 2;
  bool has_command_key() const;
  private:
  bool _internal_has_command_key() const;
  public:
  void clear_command_key();
  const std::string& command_key() const;
  void set_command_key(const std::string& value);
  void set_command_key(std::string&& value);
  void set_command_key(const char* value);
  void set_command_key(const char* value, size_t size);
  std::string* mutable_command_key();
  std::string* release_command_key();
  void set_allocated_command_key(std::string* command_key);
  private:
  const std::string& _internal_command_key() const;
  void _internal_set_command_key(const std::string& value);
  std::string* _internal_mutable_command_key();
  public:

  // required .message.Base_info base_info = 1;
  bool has_base_info() const;
  private:
  bool _internal_has_base_info() const;
  public:
  void clear_base_info();
  const ::message::Base_info& base_info() const;
  ::message::Base_info* release_base_info();
  ::message::Base_info* mutable_base_info();
  void set_allocated_base_info(::message::Base_info* base_info);
  private:
  const ::message::Base_info& _internal_base_info() const;
  ::message::Base_info* _internal_mutable_base_info();
  public:
  void unsafe_arena_set_allocated_base_info(
      ::message::Base_info* base_info);
  ::message::Base_info* unsafe_arena_release_base_info();

  // required .message.Id_struct id_struct = 3;
  bool has_id_struct() const;
  private:
  bool _internal_has_id_struct() const;
  public:
  void clear_id_struct();
  const ::message::Id_struct& id_struct() const;
  ::message::Id_struct* release_id_struct();
  ::message::Id_struct* mutable_id_struct();
  void set_allocated_id_struct(::message::Id_struct* id_struct);
  private:
  const ::message::Id_struct& _internal_id_struct() const;
  ::message::Id_struct* _internal_mutable_id_struct();
  public:
  void unsafe_arena_set_allocated_id_struct(
      ::message::Id_struct* id_struct);
  ::message::Id_struct* unsafe_arena_release_id_struct();

  // @@protoc_insertion_point(class_scope:message.Measure_request_msg)
 private:
  class _Internal;

  // helper for ByteSizeLong()
  size_t RequiredFieldsByteSizeFallback() const;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr command_key_;
  ::message::Base_info* base_info_;
  ::message::Id_struct* id_struct_;
  friend struct ::TableStruct_measure_5fmessage_2eproto;
};
// -------------------------------------------------------------------

class Measure_response_msg PROTOBUF_FINAL :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:message.Measure_response_msg) */ {
 public:
  inline Measure_response_msg() : Measure_response_msg(nullptr) {}
  virtual ~Measure_response_msg();

  Measure_response_msg(const Measure_response_msg& from);
  Measure_response_msg(Measure_response_msg&& from) noexcept
    : Measure_response_msg() {
    *this = ::std::move(from);
  }

  inline Measure_response_msg& operator=(const Measure_response_msg& from) {
    CopyFrom(from);
    return *this;
  }
  inline Measure_response_msg& operator=(Measure_response_msg&& from) noexcept {
    if (GetArena() == from.GetArena()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return GetMetadataStatic().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return GetMetadataStatic().reflection;
  }
  static const Measure_response_msg& default_instance();

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

  friend void swap(Measure_response_msg& a, Measure_response_msg& b) {
    a.Swap(&b);
  }
  inline void Swap(Measure_response_msg* other) {
    if (other == this) return;
    if (GetArena() == other->GetArena()) {
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(Measure_response_msg* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

  inline Measure_response_msg* New() const final {
    return CreateMaybeMessage<Measure_response_msg>(nullptr);
  }

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

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  inline void SharedCtor();
  inline void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(Measure_response_msg* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "message.Measure_response_msg";
  }
  protected:
  explicit Measure_response_msg(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_measure_5fmessage_2eproto);
    return ::descriptor_table_measure_5fmessage_2eproto.file_level_metadata[kIndexInFileMessages];
  }

  public:

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

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

  enum : int {
    kCommandKeyFieldNumber = 2,
    kBaseInfoFieldNumber = 1,
    kIdStructFieldNumber = 3,
    kLocateInformationFieldNumber = 4,
    kErrorManagerFieldNumber = 5,
  };
  // required string command_key = 2;
  bool has_command_key() const;
  private:
  bool _internal_has_command_key() const;
  public:
  void clear_command_key();
  const std::string& command_key() const;
  void set_command_key(const std::string& value);
  void set_command_key(std::string&& value);
  void set_command_key(const char* value);
  void set_command_key(const char* value, size_t size);
  std::string* mutable_command_key();
  std::string* release_command_key();
  void set_allocated_command_key(std::string* command_key);
  private:
  const std::string& _internal_command_key() const;
  void _internal_set_command_key(const std::string& value);
  std::string* _internal_mutable_command_key();
  public:

  // required .message.Base_info base_info = 1;
  bool has_base_info() const;
  private:
  bool _internal_has_base_info() const;
  public:
  void clear_base_info();
  const ::message::Base_info& base_info() const;
  ::message::Base_info* release_base_info();
  ::message::Base_info* mutable_base_info();
  void set_allocated_base_info(::message::Base_info* base_info);
  private:
  const ::message::Base_info& _internal_base_info() const;
  ::message::Base_info* _internal_mutable_base_info();
  public:
  void unsafe_arena_set_allocated_base_info(
      ::message::Base_info* base_info);
  ::message::Base_info* unsafe_arena_release_base_info();

  // required .message.Id_struct id_struct = 3;
  bool has_id_struct() const;
  private:
  bool _internal_has_id_struct() const;
  public:
  void clear_id_struct();
  const ::message::Id_struct& id_struct() const;
  ::message::Id_struct* release_id_struct();
  ::message::Id_struct* mutable_id_struct();
  void set_allocated_id_struct(::message::Id_struct* id_struct);
  private:
  const ::message::Id_struct& _internal_id_struct() const;
  ::message::Id_struct* _internal_mutable_id_struct();
  public:
  void unsafe_arena_set_allocated_id_struct(
      ::message::Id_struct* id_struct);
  ::message::Id_struct* unsafe_arena_release_id_struct();

  // optional .message.Locate_information locate_information = 4;
  bool has_locate_information() const;
  private:
  bool _internal_has_locate_information() const;
  public:
  void clear_locate_information();
  const ::message::Locate_information& locate_information() const;
  ::message::Locate_information* release_locate_information();
  ::message::Locate_information* mutable_locate_information();
  void set_allocated_locate_information(::message::Locate_information* locate_information);
  private:
  const ::message::Locate_information& _internal_locate_information() const;
  ::message::Locate_information* _internal_mutable_locate_information();
  public:
  void unsafe_arena_set_allocated_locate_information(
      ::message::Locate_information* locate_information);
  ::message::Locate_information* unsafe_arena_release_locate_information();

  // required .message.Error_manager error_manager = 5;
  bool has_error_manager() const;
  private:
  bool _internal_has_error_manager() const;
  public:
  void clear_error_manager();
  const ::message::Error_manager& error_manager() const;
  ::message::Error_manager* release_error_manager();
  ::message::Error_manager* mutable_error_manager();
  void set_allocated_error_manager(::message::Error_manager* error_manager);
  private:
  const ::message::Error_manager& _internal_error_manager() const;
  ::message::Error_manager* _internal_mutable_error_manager();
  public:
  void unsafe_arena_set_allocated_error_manager(
      ::message::Error_manager* error_manager);
  ::message::Error_manager* unsafe_arena_release_error_manager();

  // @@protoc_insertion_point(class_scope:message.Measure_response_msg)
 private:
  class _Internal;

  // helper for ByteSizeLong()
  size_t RequiredFieldsByteSizeFallback() const;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr command_key_;
  ::message::Base_info* base_info_;
  ::message::Id_struct* id_struct_;
  ::message::Locate_information* locate_information_;
  ::message::Error_manager* error_manager_;
  friend struct ::TableStruct_measure_5fmessage_2eproto;
};
// -------------------------------------------------------------------

class Ground_detect_request_msg PROTOBUF_FINAL :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:message.Ground_detect_request_msg) */ {
 public:
  inline Ground_detect_request_msg() : Ground_detect_request_msg(nullptr) {}
  virtual ~Ground_detect_request_msg();

  Ground_detect_request_msg(const Ground_detect_request_msg& from);
  Ground_detect_request_msg(Ground_detect_request_msg&& from) noexcept
    : Ground_detect_request_msg() {
    *this = ::std::move(from);
  }

  inline Ground_detect_request_msg& operator=(const Ground_detect_request_msg& from) {
    CopyFrom(from);
    return *this;
  }
  inline Ground_detect_request_msg& operator=(Ground_detect_request_msg&& from) noexcept {
    if (GetArena() == from.GetArena()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return GetMetadataStatic().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return GetMetadataStatic().reflection;
  }
  static const Ground_detect_request_msg& default_instance();

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

  friend void swap(Ground_detect_request_msg& a, Ground_detect_request_msg& b) {
    a.Swap(&b);
  }
  inline void Swap(Ground_detect_request_msg* other) {
    if (other == this) return;
    if (GetArena() == other->GetArena()) {
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(Ground_detect_request_msg* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

  inline Ground_detect_request_msg* New() const final {
    return CreateMaybeMessage<Ground_detect_request_msg>(nullptr);
  }

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

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  inline void SharedCtor();
  inline void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(Ground_detect_request_msg* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "message.Ground_detect_request_msg";
  }
  protected:
  explicit Ground_detect_request_msg(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_measure_5fmessage_2eproto);
    return ::descriptor_table_measure_5fmessage_2eproto.file_level_metadata[kIndexInFileMessages];
  }

  public:

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

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

  enum : int {
    kCommandKeyFieldNumber = 2,
    kBaseInfoFieldNumber = 1,
    kIdStructFieldNumber = 3,
  };
  // required string command_key = 2;
  bool has_command_key() const;
  private:
  bool _internal_has_command_key() const;
  public:
  void clear_command_key();
  const std::string& command_key() const;
  void set_command_key(const std::string& value);
  void set_command_key(std::string&& value);
  void set_command_key(const char* value);
  void set_command_key(const char* value, size_t size);
  std::string* mutable_command_key();
  std::string* release_command_key();
  void set_allocated_command_key(std::string* command_key);
  private:
  const std::string& _internal_command_key() const;
  void _internal_set_command_key(const std::string& value);
  std::string* _internal_mutable_command_key();
  public:

  // required .message.Base_info base_info = 1;
  bool has_base_info() const;
  private:
  bool _internal_has_base_info() const;
  public:
  void clear_base_info();
  const ::message::Base_info& base_info() const;
  ::message::Base_info* release_base_info();
  ::message::Base_info* mutable_base_info();
  void set_allocated_base_info(::message::Base_info* base_info);
  private:
  const ::message::Base_info& _internal_base_info() const;
  ::message::Base_info* _internal_mutable_base_info();
  public:
  void unsafe_arena_set_allocated_base_info(
      ::message::Base_info* base_info);
  ::message::Base_info* unsafe_arena_release_base_info();

  // required .message.Id_struct id_struct = 3;
  bool has_id_struct() const;
  private:
  bool _internal_has_id_struct() const;
  public:
  void clear_id_struct();
  const ::message::Id_struct& id_struct() const;
  ::message::Id_struct* release_id_struct();
  ::message::Id_struct* mutable_id_struct();
  void set_allocated_id_struct(::message::Id_struct* id_struct);
  private:
  const ::message::Id_struct& _internal_id_struct() const;
  ::message::Id_struct* _internal_mutable_id_struct();
  public:
  void unsafe_arena_set_allocated_id_struct(
      ::message::Id_struct* id_struct);
  ::message::Id_struct* unsafe_arena_release_id_struct();

  // @@protoc_insertion_point(class_scope:message.Ground_detect_request_msg)
 private:
  class _Internal;

  // helper for ByteSizeLong()
  size_t RequiredFieldsByteSizeFallback() const;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr command_key_;
  ::message::Base_info* base_info_;
  ::message::Id_struct* id_struct_;
  friend struct ::TableStruct_measure_5fmessage_2eproto;
};
// -------------------------------------------------------------------

class Ground_detect_response_msg PROTOBUF_FINAL :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:message.Ground_detect_response_msg) */ {
 public:
  inline Ground_detect_response_msg() : Ground_detect_response_msg(nullptr) {}
  virtual ~Ground_detect_response_msg();

  Ground_detect_response_msg(const Ground_detect_response_msg& from);
  Ground_detect_response_msg(Ground_detect_response_msg&& from) noexcept
    : Ground_detect_response_msg() {
    *this = ::std::move(from);
  }

  inline Ground_detect_response_msg& operator=(const Ground_detect_response_msg& from) {
    CopyFrom(from);
    return *this;
  }
  inline Ground_detect_response_msg& operator=(Ground_detect_response_msg&& from) noexcept {
    if (GetArena() == from.GetArena()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return GetMetadataStatic().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return GetMetadataStatic().reflection;
  }
  static const Ground_detect_response_msg& default_instance();

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

  friend void swap(Ground_detect_response_msg& a, Ground_detect_response_msg& b) {
    a.Swap(&b);
  }
  inline void Swap(Ground_detect_response_msg* other) {
    if (other == this) return;
    if (GetArena() == other->GetArena()) {
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(Ground_detect_response_msg* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

  inline Ground_detect_response_msg* New() const final {
    return CreateMaybeMessage<Ground_detect_response_msg>(nullptr);
  }

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

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  inline void SharedCtor();
  inline void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(Ground_detect_response_msg* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "message.Ground_detect_response_msg";
  }
  protected:
  explicit Ground_detect_response_msg(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_measure_5fmessage_2eproto);
    return ::descriptor_table_measure_5fmessage_2eproto.file_level_metadata[kIndexInFileMessages];
  }

  public:

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

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

  enum : int {
    kCommandKeyFieldNumber = 2,
    kBaseInfoFieldNumber = 1,
    kIdStructFieldNumber = 3,
    kLocateInformationFieldNumber = 4,
    kErrorManagerFieldNumber = 5,
  };
  // required string command_key = 2;
  bool has_command_key() const;
  private:
  bool _internal_has_command_key() const;
  public:
  void clear_command_key();
  const std::string& command_key() const;
  void set_command_key(const std::string& value);
  void set_command_key(std::string&& value);
  void set_command_key(const char* value);
  void set_command_key(const char* value, size_t size);
  std::string* mutable_command_key();
  std::string* release_command_key();
  void set_allocated_command_key(std::string* command_key);
  private:
  const std::string& _internal_command_key() const;
  void _internal_set_command_key(const std::string& value);
  std::string* _internal_mutable_command_key();
  public:

  // required .message.Base_info base_info = 1;
  bool has_base_info() const;
  private:
  bool _internal_has_base_info() const;
  public:
  void clear_base_info();
  const ::message::Base_info& base_info() const;
  ::message::Base_info* release_base_info();
  ::message::Base_info* mutable_base_info();
  void set_allocated_base_info(::message::Base_info* base_info);
  private:
  const ::message::Base_info& _internal_base_info() const;
  ::message::Base_info* _internal_mutable_base_info();
  public:
  void unsafe_arena_set_allocated_base_info(
      ::message::Base_info* base_info);
  ::message::Base_info* unsafe_arena_release_base_info();

  // required .message.Id_struct id_struct = 3;
  bool has_id_struct() const;
  private:
  bool _internal_has_id_struct() const;
  public:
  void clear_id_struct();
  const ::message::Id_struct& id_struct() const;
  ::message::Id_struct* release_id_struct();
  ::message::Id_struct* mutable_id_struct();
  void set_allocated_id_struct(::message::Id_struct* id_struct);
  private:
  const ::message::Id_struct& _internal_id_struct() const;
  ::message::Id_struct* _internal_mutable_id_struct();
  public:
  void unsafe_arena_set_allocated_id_struct(
      ::message::Id_struct* id_struct);
  ::message::Id_struct* unsafe_arena_release_id_struct();

  // optional .message.Locate_information locate_information = 4;
  bool has_locate_information() const;
  private:
  bool _internal_has_locate_information() const;
  public:
  void clear_locate_information();
  const ::message::Locate_information& locate_information() const;
  ::message::Locate_information* release_locate_information();
  ::message::Locate_information* mutable_locate_information();
  void set_allocated_locate_information(::message::Locate_information* locate_information);
  private:
  const ::message::Locate_information& _internal_locate_information() const;
  ::message::Locate_information* _internal_mutable_locate_information();
  public:
  void unsafe_arena_set_allocated_locate_information(
      ::message::Locate_information* locate_information);
  ::message::Locate_information* unsafe_arena_release_locate_information();

  // required .message.Error_manager error_manager = 5;
  bool has_error_manager() const;
  private:
  bool _internal_has_error_manager() const;
  public:
  void clear_error_manager();
  const ::message::Error_manager& error_manager() const;
  ::message::Error_manager* release_error_manager();
  ::message::Error_manager* mutable_error_manager();
  void set_allocated_error_manager(::message::Error_manager* error_manager);
  private:
  const ::message::Error_manager& _internal_error_manager() const;
  ::message::Error_manager* _internal_mutable_error_manager();
  public:
  void unsafe_arena_set_allocated_error_manager(
      ::message::Error_manager* error_manager);
  ::message::Error_manager* unsafe_arena_release_error_manager();

  // @@protoc_insertion_point(class_scope:message.Ground_detect_response_msg)
 private:
  class _Internal;

  // helper for ByteSizeLong()
  size_t RequiredFieldsByteSizeFallback() const;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr command_key_;
  ::message::Base_info* base_info_;
  ::message::Id_struct* id_struct_;
  ::message::Locate_information* locate_information_;
  ::message::Error_manager* error_manager_;
  friend struct ::TableStruct_measure_5fmessage_2eproto;
};
// -------------------------------------------------------------------

class Ground_status_msg PROTOBUF_FINAL :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:message.Ground_status_msg) */ {
 public:
  inline Ground_status_msg() : Ground_status_msg(nullptr) {}
  virtual ~Ground_status_msg();

  Ground_status_msg(const Ground_status_msg& from);
  Ground_status_msg(Ground_status_msg&& from) noexcept
    : Ground_status_msg() {
    *this = ::std::move(from);
  }

  inline Ground_status_msg& operator=(const Ground_status_msg& from) {
    CopyFrom(from);
    return *this;
  }
  inline Ground_status_msg& operator=(Ground_status_msg&& from) noexcept {
    if (GetArena() == from.GetArena()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return GetMetadataStatic().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return GetMetadataStatic().reflection;
  }
  static const Ground_status_msg& default_instance();

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

  friend void swap(Ground_status_msg& a, Ground_status_msg& b) {
    a.Swap(&b);
  }
  inline void Swap(Ground_status_msg* other) {
    if (other == this) return;
    if (GetArena() == other->GetArena()) {
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(Ground_status_msg* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

  inline Ground_status_msg* New() const final {
    return CreateMaybeMessage<Ground_status_msg>(nullptr);
  }

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

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  inline void SharedCtor();
  inline void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(Ground_status_msg* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "message.Ground_status_msg";
  }
  protected:
  explicit Ground_status_msg(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_measure_5fmessage_2eproto);
    return ::descriptor_table_measure_5fmessage_2eproto.file_level_metadata[kIndexInFileMessages];
  }

  public:

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

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

  enum : int {
    kWanjiLidarDeviceStatusFieldNumber = 4,
    kCloudFieldNumber = 10,
    kBaseInfoFieldNumber = 1,
    kIdStructFieldNumber = 2,
    kLocateInformationRealtimeFieldNumber = 6,
    kErrorManagerFieldNumber = 9,
    kWanjiManagerStatusFieldNumber = 3,
    kRegionWorkerStatusFieldNumber = 5,
    kGroundStatusFieldNumber = 7,
    kBorderStatusFieldNumber = 8,
  };
  // repeated .message.Wanji_lidar_device_status wanji_lidar_device_status = 4;
  int wanji_lidar_device_status_size() const;
  private:
  int _internal_wanji_lidar_device_status_size() const;
  public:
  void clear_wanji_lidar_device_status();
  private:
  ::message::Wanji_lidar_device_status _internal_wanji_lidar_device_status(int index) const;
  void _internal_add_wanji_lidar_device_status(::message::Wanji_lidar_device_status value);
  ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>* _internal_mutable_wanji_lidar_device_status();
  public:
  ::message::Wanji_lidar_device_status wanji_lidar_device_status(int index) const;
  void set_wanji_lidar_device_status(int index, ::message::Wanji_lidar_device_status value);
  void add_wanji_lidar_device_status(::message::Wanji_lidar_device_status value);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>& wanji_lidar_device_status() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>* mutable_wanji_lidar_device_status();

  // repeated .message.Cloud_coordinate cloud = 10;
  int cloud_size() const;
  private:
  int _internal_cloud_size() const;
  public:
  void clear_cloud();
  ::message::Cloud_coordinate* mutable_cloud(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::message::Cloud_coordinate >*
      mutable_cloud();
  private:
  const ::message::Cloud_coordinate& _internal_cloud(int index) const;
  ::message::Cloud_coordinate* _internal_add_cloud();
  public:
  const ::message::Cloud_coordinate& cloud(int index) const;
  ::message::Cloud_coordinate* add_cloud();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::message::Cloud_coordinate >&
      cloud() const;

  // required .message.Base_info base_info = 1;
  bool has_base_info() const;
  private:
  bool _internal_has_base_info() const;
  public:
  void clear_base_info();
  const ::message::Base_info& base_info() const;
  ::message::Base_info* release_base_info();
  ::message::Base_info* mutable_base_info();
  void set_allocated_base_info(::message::Base_info* base_info);
  private:
  const ::message::Base_info& _internal_base_info() const;
  ::message::Base_info* _internal_mutable_base_info();
  public:
  void unsafe_arena_set_allocated_base_info(
      ::message::Base_info* base_info);
  ::message::Base_info* unsafe_arena_release_base_info();

  // required .message.Id_struct id_struct = 2;
  bool has_id_struct() const;
  private:
  bool _internal_has_id_struct() const;
  public:
  void clear_id_struct();
  const ::message::Id_struct& id_struct() const;
  ::message::Id_struct* release_id_struct();
  ::message::Id_struct* mutable_id_struct();
  void set_allocated_id_struct(::message::Id_struct* id_struct);
  private:
  const ::message::Id_struct& _internal_id_struct() const;
  ::message::Id_struct* _internal_mutable_id_struct();
  public:
  void unsafe_arena_set_allocated_id_struct(
      ::message::Id_struct* id_struct);
  ::message::Id_struct* unsafe_arena_release_id_struct();

  // required .message.Locate_information locate_information_realtime = 6;
  bool has_locate_information_realtime() const;
  private:
  bool _internal_has_locate_information_realtime() const;
  public:
  void clear_locate_information_realtime();
  const ::message::Locate_information& locate_information_realtime() const;
  ::message::Locate_information* release_locate_information_realtime();
  ::message::Locate_information* mutable_locate_information_realtime();
  void set_allocated_locate_information_realtime(::message::Locate_information* locate_information_realtime);
  private:
  const ::message::Locate_information& _internal_locate_information_realtime() const;
  ::message::Locate_information* _internal_mutable_locate_information_realtime();
  public:
  void unsafe_arena_set_allocated_locate_information_realtime(
      ::message::Locate_information* locate_information_realtime);
  ::message::Locate_information* unsafe_arena_release_locate_information_realtime();

  // required .message.Error_manager error_manager = 9;
  bool has_error_manager() const;
  private:
  bool _internal_has_error_manager() const;
  public:
  void clear_error_manager();
  const ::message::Error_manager& error_manager() const;
  ::message::Error_manager* release_error_manager();
  ::message::Error_manager* mutable_error_manager();
  void set_allocated_error_manager(::message::Error_manager* error_manager);
  private:
  const ::message::Error_manager& _internal_error_manager() const;
  ::message::Error_manager* _internal_mutable_error_manager();
  public:
  void unsafe_arena_set_allocated_error_manager(
      ::message::Error_manager* error_manager);
  ::message::Error_manager* unsafe_arena_release_error_manager();

  // required .message.Wanji_manager_status wanji_manager_status = 3;
  bool has_wanji_manager_status() const;
  private:
  bool _internal_has_wanji_manager_status() const;
  public:
  void clear_wanji_manager_status();
  ::message::Wanji_manager_status wanji_manager_status() const;
  void set_wanji_manager_status(::message::Wanji_manager_status value);
  private:
  ::message::Wanji_manager_status _internal_wanji_manager_status() const;
  void _internal_set_wanji_manager_status(::message::Wanji_manager_status value);
  public:

  // required .message.Region_worker_status region_worker_status = 5;
  bool has_region_worker_status() const;
  private:
  bool _internal_has_region_worker_status() const;
  public:
  void clear_region_worker_status();
  ::message::Region_worker_status region_worker_status() const;
  void set_region_worker_status(::message::Region_worker_status value);
  private:
  ::message::Region_worker_status _internal_region_worker_status() const;
  void _internal_set_region_worker_status(::message::Region_worker_status value);
  public:

  // required .message.Ground_statu ground_status = 7;
  bool has_ground_status() const;
  private:
  bool _internal_has_ground_status() const;
  public:
  void clear_ground_status();
  ::message::Ground_statu ground_status() const;
  void set_ground_status(::message::Ground_statu value);
  private:
  ::message::Ground_statu _internal_ground_status() const;
  void _internal_set_ground_status(::message::Ground_statu value);
  public:

  // required int32 border_status = 8;
  bool has_border_status() const;
  private:
  bool _internal_has_border_status() const;
  public:
  void clear_border_status();
  ::PROTOBUF_NAMESPACE_ID::int32 border_status() const;
  void set_border_status(::PROTOBUF_NAMESPACE_ID::int32 value);
  private:
  ::PROTOBUF_NAMESPACE_ID::int32 _internal_border_status() const;
  void _internal_set_border_status(::PROTOBUF_NAMESPACE_ID::int32 value);
  public:

  // @@protoc_insertion_point(class_scope:message.Ground_status_msg)
 private:
  class _Internal;

  // helper for ByteSizeLong()
  size_t RequiredFieldsByteSizeFallback() const;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField<int> wanji_lidar_device_status_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::message::Cloud_coordinate > cloud_;
  ::message::Base_info* base_info_;
  ::message::Id_struct* id_struct_;
  ::message::Locate_information* locate_information_realtime_;
  ::message::Error_manager* error_manager_;
  int wanji_manager_status_;
  int region_worker_status_;
  int ground_status_;
  ::PROTOBUF_NAMESPACE_ID::int32 border_status_;
  friend struct ::TableStruct_measure_5fmessage_2eproto;
};
// -------------------------------------------------------------------

class Cloud_coordinate PROTOBUF_FINAL :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:message.Cloud_coordinate) */ {
 public:
  inline Cloud_coordinate() : Cloud_coordinate(nullptr) {}
  virtual ~Cloud_coordinate();

  Cloud_coordinate(const Cloud_coordinate& from);
  Cloud_coordinate(Cloud_coordinate&& from) noexcept
    : Cloud_coordinate() {
    *this = ::std::move(from);
  }

  inline Cloud_coordinate& operator=(const Cloud_coordinate& from) {
    CopyFrom(from);
    return *this;
  }
  inline Cloud_coordinate& operator=(Cloud_coordinate&& from) noexcept {
    if (GetArena() == from.GetArena()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return GetMetadataStatic().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return GetMetadataStatic().reflection;
  }
  static const Cloud_coordinate& default_instance();

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

  friend void swap(Cloud_coordinate& a, Cloud_coordinate& b) {
    a.Swap(&b);
  }
  inline void Swap(Cloud_coordinate* other) {
    if (other == this) return;
    if (GetArena() == other->GetArena()) {
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(Cloud_coordinate* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

  inline Cloud_coordinate* New() const final {
    return CreateMaybeMessage<Cloud_coordinate>(nullptr);
  }

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

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  inline void SharedCtor();
  inline void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(Cloud_coordinate* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "message.Cloud_coordinate";
  }
  protected:
  explicit Cloud_coordinate(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_measure_5fmessage_2eproto);
    return ::descriptor_table_measure_5fmessage_2eproto.file_level_metadata[kIndexInFileMessages];
  }

  public:

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

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

  enum : int {
    kXFieldNumber = 1,
    kYFieldNumber = 2,
    kZFieldNumber = 3,
  };
  // required float x = 1;
  bool has_x() const;
  private:
  bool _internal_has_x() const;
  public:
  void clear_x();
  float x() const;
  void set_x(float value);
  private:
  float _internal_x() const;
  void _internal_set_x(float value);
  public:

  // required float y = 2;
  bool has_y() const;
  private:
  bool _internal_has_y() const;
  public:
  void clear_y();
  float y() const;
  void set_y(float value);
  private:
  float _internal_y() const;
  void _internal_set_y(float value);
  public:

  // required float z = 3;
  bool has_z() const;
  private:
  bool _internal_has_z() const;
  public:
  void clear_z();
  float z() const;
  void set_z(float value);
  private:
  float _internal_z() const;
  void _internal_set_z(float value);
  public:

  // @@protoc_insertion_point(class_scope:message.Cloud_coordinate)
 private:
  class _Internal;

  // helper for ByteSizeLong()
  size_t RequiredFieldsByteSizeFallback() const;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  float x_;
  float y_;
  float z_;
  friend struct ::TableStruct_measure_5fmessage_2eproto;
};
// -------------------------------------------------------------------

class Cloud_type PROTOBUF_FINAL :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:message.Cloud_type) */ {
 public:
  inline Cloud_type() : Cloud_type(nullptr) {}
  virtual ~Cloud_type();

  Cloud_type(const Cloud_type& from);
  Cloud_type(Cloud_type&& from) noexcept
    : Cloud_type() {
    *this = ::std::move(from);
  }

  inline Cloud_type& operator=(const Cloud_type& from) {
    CopyFrom(from);
    return *this;
  }
  inline Cloud_type& operator=(Cloud_type&& from) noexcept {
    if (GetArena() == from.GetArena()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return GetMetadataStatic().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return GetMetadataStatic().reflection;
  }
  static const Cloud_type& default_instance();

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

  friend void swap(Cloud_type& a, Cloud_type& b) {
    a.Swap(&b);
  }
  inline void Swap(Cloud_type* other) {
    if (other == this) return;
    if (GetArena() == other->GetArena()) {
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(Cloud_type* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

  inline Cloud_type* New() const final {
    return CreateMaybeMessage<Cloud_type>(nullptr);
  }

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

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  inline void SharedCtor();
  inline void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(Cloud_type* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "message.Cloud_type";
  }
  protected:
  explicit Cloud_type(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_measure_5fmessage_2eproto);
    return ::descriptor_table_measure_5fmessage_2eproto.file_level_metadata[kIndexInFileMessages];
  }

  public:

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

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

  enum : int {
    kTypeFieldNumber = 1,
  };
  // required int32 type = 1;
  bool has_type() const;
  private:
  bool _internal_has_type() const;
  public:
  void clear_type();
  ::PROTOBUF_NAMESPACE_ID::int32 type() const;
  void set_type(::PROTOBUF_NAMESPACE_ID::int32 value);
  private:
  ::PROTOBUF_NAMESPACE_ID::int32 _internal_type() const;
  void _internal_set_type(::PROTOBUF_NAMESPACE_ID::int32 value);
  public:

  // @@protoc_insertion_point(class_scope:message.Cloud_type)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  ::PROTOBUF_NAMESPACE_ID::int32 type_;
  friend struct ::TableStruct_measure_5fmessage_2eproto;
};
// -------------------------------------------------------------------

class Locate_sift_request_msg PROTOBUF_FINAL :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:message.Locate_sift_request_msg) */ {
 public:
  inline Locate_sift_request_msg() : Locate_sift_request_msg(nullptr) {}
  virtual ~Locate_sift_request_msg();

  Locate_sift_request_msg(const Locate_sift_request_msg& from);
  Locate_sift_request_msg(Locate_sift_request_msg&& from) noexcept
    : Locate_sift_request_msg() {
    *this = ::std::move(from);
  }

  inline Locate_sift_request_msg& operator=(const Locate_sift_request_msg& from) {
    CopyFrom(from);
    return *this;
  }
  inline Locate_sift_request_msg& operator=(Locate_sift_request_msg&& from) noexcept {
    if (GetArena() == from.GetArena()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return GetMetadataStatic().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return GetMetadataStatic().reflection;
  }
  static const Locate_sift_request_msg& default_instance();

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

  friend void swap(Locate_sift_request_msg& a, Locate_sift_request_msg& b) {
    a.Swap(&b);
  }
  inline void Swap(Locate_sift_request_msg* other) {
    if (other == this) return;
    if (GetArena() == other->GetArena()) {
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(Locate_sift_request_msg* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

  inline Locate_sift_request_msg* New() const final {
    return CreateMaybeMessage<Locate_sift_request_msg>(nullptr);
  }

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

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  inline void SharedCtor();
  inline void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(Locate_sift_request_msg* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "message.Locate_sift_request_msg";
  }
  protected:
  explicit Locate_sift_request_msg(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_measure_5fmessage_2eproto);
    return ::descriptor_table_measure_5fmessage_2eproto.file_level_metadata[kIndexInFileMessages];
  }

  public:

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

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

  enum : int {
    kCloudCoordinatesFieldNumber = 5,
    kCommandKeyFieldNumber = 2,
    kBaseInfoFieldNumber = 1,
    kIdStructFieldNumber = 3,
    kLidarIdFieldNumber = 4,
  };
  // repeated .message.Cloud_coordinate cloud_coordinates = 5;
  int cloud_coordinates_size() const;
  private:
  int _internal_cloud_coordinates_size() const;
  public:
  void clear_cloud_coordinates();
  ::message::Cloud_coordinate* mutable_cloud_coordinates(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::message::Cloud_coordinate >*
      mutable_cloud_coordinates();
  private:
  const ::message::Cloud_coordinate& _internal_cloud_coordinates(int index) const;
  ::message::Cloud_coordinate* _internal_add_cloud_coordinates();
  public:
  const ::message::Cloud_coordinate& cloud_coordinates(int index) const;
  ::message::Cloud_coordinate* add_cloud_coordinates();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::message::Cloud_coordinate >&
      cloud_coordinates() const;

  // required string command_key = 2;
  bool has_command_key() const;
  private:
  bool _internal_has_command_key() const;
  public:
  void clear_command_key();
  const std::string& command_key() const;
  void set_command_key(const std::string& value);
  void set_command_key(std::string&& value);
  void set_command_key(const char* value);
  void set_command_key(const char* value, size_t size);
  std::string* mutable_command_key();
  std::string* release_command_key();
  void set_allocated_command_key(std::string* command_key);
  private:
  const std::string& _internal_command_key() const;
  void _internal_set_command_key(const std::string& value);
  std::string* _internal_mutable_command_key();
  public:

  // required .message.Base_info base_info = 1;
  bool has_base_info() const;
  private:
  bool _internal_has_base_info() const;
  public:
  void clear_base_info();
  const ::message::Base_info& base_info() const;
  ::message::Base_info* release_base_info();
  ::message::Base_info* mutable_base_info();
  void set_allocated_base_info(::message::Base_info* base_info);
  private:
  const ::message::Base_info& _internal_base_info() const;
  ::message::Base_info* _internal_mutable_base_info();
  public:
  void unsafe_arena_set_allocated_base_info(
      ::message::Base_info* base_info);
  ::message::Base_info* unsafe_arena_release_base_info();

  // required .message.Id_struct id_struct = 3;
  bool has_id_struct() const;
  private:
  bool _internal_has_id_struct() const;
  public:
  void clear_id_struct();
  const ::message::Id_struct& id_struct() const;
  ::message::Id_struct* release_id_struct();
  ::message::Id_struct* mutable_id_struct();
  void set_allocated_id_struct(::message::Id_struct* id_struct);
  private:
  const ::message::Id_struct& _internal_id_struct() const;
  ::message::Id_struct* _internal_mutable_id_struct();
  public:
  void unsafe_arena_set_allocated_id_struct(
      ::message::Id_struct* id_struct);
  ::message::Id_struct* unsafe_arena_release_id_struct();

  // required int32 lidar_id = 4;
  bool has_lidar_id() const;
  private:
  bool _internal_has_lidar_id() const;
  public:
  void clear_lidar_id();
  ::PROTOBUF_NAMESPACE_ID::int32 lidar_id() const;
  void set_lidar_id(::PROTOBUF_NAMESPACE_ID::int32 value);
  private:
  ::PROTOBUF_NAMESPACE_ID::int32 _internal_lidar_id() const;
  void _internal_set_lidar_id(::PROTOBUF_NAMESPACE_ID::int32 value);
  public:

  // @@protoc_insertion_point(class_scope:message.Locate_sift_request_msg)
 private:
  class _Internal;

  // helper for ByteSizeLong()
  size_t RequiredFieldsByteSizeFallback() const;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::message::Cloud_coordinate > cloud_coordinates_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr command_key_;
  ::message::Base_info* base_info_;
  ::message::Id_struct* id_struct_;
  ::PROTOBUF_NAMESPACE_ID::int32 lidar_id_;
  friend struct ::TableStruct_measure_5fmessage_2eproto;
};
// -------------------------------------------------------------------

class Locate_sift_response_msg PROTOBUF_FINAL :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:message.Locate_sift_response_msg) */ {
 public:
  inline Locate_sift_response_msg() : Locate_sift_response_msg(nullptr) {}
  virtual ~Locate_sift_response_msg();

  Locate_sift_response_msg(const Locate_sift_response_msg& from);
  Locate_sift_response_msg(Locate_sift_response_msg&& from) noexcept
    : Locate_sift_response_msg() {
    *this = ::std::move(from);
  }

  inline Locate_sift_response_msg& operator=(const Locate_sift_response_msg& from) {
    CopyFrom(from);
    return *this;
  }
  inline Locate_sift_response_msg& operator=(Locate_sift_response_msg&& from) noexcept {
    if (GetArena() == from.GetArena()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return GetMetadataStatic().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return GetMetadataStatic().reflection;
  }
  static const Locate_sift_response_msg& default_instance();

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

  friend void swap(Locate_sift_response_msg& a, Locate_sift_response_msg& b) {
    a.Swap(&b);
  }
  inline void Swap(Locate_sift_response_msg* other) {
    if (other == this) return;
    if (GetArena() == other->GetArena()) {
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(Locate_sift_response_msg* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

  inline Locate_sift_response_msg* New() const final {
    return CreateMaybeMessage<Locate_sift_response_msg>(nullptr);
  }

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

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  inline void SharedCtor();
  inline void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(Locate_sift_response_msg* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "message.Locate_sift_response_msg";
  }
  protected:
  explicit Locate_sift_response_msg(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_measure_5fmessage_2eproto);
    return ::descriptor_table_measure_5fmessage_2eproto.file_level_metadata[kIndexInFileMessages];
  }

  public:

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

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

  enum : int {
    kCloudTypeFieldNumber = 5,
    kCommandKeyFieldNumber = 2,
    kBaseInfoFieldNumber = 1,
    kIdStructFieldNumber = 3,
    kErrorManagerFieldNumber = 6,
    kLidarIdFieldNumber = 4,
  };
  // repeated .message.Cloud_type cloud_type = 5;
  int cloud_type_size() const;
  private:
  int _internal_cloud_type_size() const;
  public:
  void clear_cloud_type();
  ::message::Cloud_type* mutable_cloud_type(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::message::Cloud_type >*
      mutable_cloud_type();
  private:
  const ::message::Cloud_type& _internal_cloud_type(int index) const;
  ::message::Cloud_type* _internal_add_cloud_type();
  public:
  const ::message::Cloud_type& cloud_type(int index) const;
  ::message::Cloud_type* add_cloud_type();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::message::Cloud_type >&
      cloud_type() const;

  // required string command_key = 2;
  bool has_command_key() const;
  private:
  bool _internal_has_command_key() const;
  public:
  void clear_command_key();
  const std::string& command_key() const;
  void set_command_key(const std::string& value);
  void set_command_key(std::string&& value);
  void set_command_key(const char* value);
  void set_command_key(const char* value, size_t size);
  std::string* mutable_command_key();
  std::string* release_command_key();
  void set_allocated_command_key(std::string* command_key);
  private:
  const std::string& _internal_command_key() const;
  void _internal_set_command_key(const std::string& value);
  std::string* _internal_mutable_command_key();
  public:

  // required .message.Base_info base_info = 1;
  bool has_base_info() const;
  private:
  bool _internal_has_base_info() const;
  public:
  void clear_base_info();
  const ::message::Base_info& base_info() const;
  ::message::Base_info* release_base_info();
  ::message::Base_info* mutable_base_info();
  void set_allocated_base_info(::message::Base_info* base_info);
  private:
  const ::message::Base_info& _internal_base_info() const;
  ::message::Base_info* _internal_mutable_base_info();
  public:
  void unsafe_arena_set_allocated_base_info(
      ::message::Base_info* base_info);
  ::message::Base_info* unsafe_arena_release_base_info();

  // required .message.Id_struct id_struct = 3;
  bool has_id_struct() const;
  private:
  bool _internal_has_id_struct() const;
  public:
  void clear_id_struct();
  const ::message::Id_struct& id_struct() const;
  ::message::Id_struct* release_id_struct();
  ::message::Id_struct* mutable_id_struct();
  void set_allocated_id_struct(::message::Id_struct* id_struct);
  private:
  const ::message::Id_struct& _internal_id_struct() const;
  ::message::Id_struct* _internal_mutable_id_struct();
  public:
  void unsafe_arena_set_allocated_id_struct(
      ::message::Id_struct* id_struct);
  ::message::Id_struct* unsafe_arena_release_id_struct();

  // required .message.Error_manager error_manager = 6;
  bool has_error_manager() const;
  private:
  bool _internal_has_error_manager() const;
  public:
  void clear_error_manager();
  const ::message::Error_manager& error_manager() const;
  ::message::Error_manager* release_error_manager();
  ::message::Error_manager* mutable_error_manager();
  void set_allocated_error_manager(::message::Error_manager* error_manager);
  private:
  const ::message::Error_manager& _internal_error_manager() const;
  ::message::Error_manager* _internal_mutable_error_manager();
  public:
  void unsafe_arena_set_allocated_error_manager(
      ::message::Error_manager* error_manager);
  ::message::Error_manager* unsafe_arena_release_error_manager();

  // required int32 lidar_id = 4;
  bool has_lidar_id() const;
  private:
  bool _internal_has_lidar_id() const;
  public:
  void clear_lidar_id();
  ::PROTOBUF_NAMESPACE_ID::int32 lidar_id() const;
  void set_lidar_id(::PROTOBUF_NAMESPACE_ID::int32 value);
  private:
  ::PROTOBUF_NAMESPACE_ID::int32 _internal_lidar_id() const;
  void _internal_set_lidar_id(::PROTOBUF_NAMESPACE_ID::int32 value);
  public:

  // @@protoc_insertion_point(class_scope:message.Locate_sift_response_msg)
 private:
  class _Internal;

  // helper for ByteSizeLong()
  size_t RequiredFieldsByteSizeFallback() const;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::message::Cloud_type > cloud_type_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr command_key_;
  ::message::Base_info* base_info_;
  ::message::Id_struct* id_struct_;
  ::message::Error_manager* error_manager_;
  ::PROTOBUF_NAMESPACE_ID::int32 lidar_id_;
  friend struct ::TableStruct_measure_5fmessage_2eproto;
};
// ===================================================================


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

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

// required .message.Base_info base_info = 1;
inline bool Measure_status_msg::_internal_has_base_info() const {
  bool value = (_has_bits_[0] & 0x00000001u) != 0;
  PROTOBUF_ASSUME(!value || base_info_ != nullptr);
  return value;
}
inline bool Measure_status_msg::has_base_info() const {
  return _internal_has_base_info();
}
inline const ::message::Base_info& Measure_status_msg::_internal_base_info() const {
  const ::message::Base_info* p = base_info_;
  return p != nullptr ? *p : *reinterpret_cast<const ::message::Base_info*>(
      &::message::_Base_info_default_instance_);
}
inline const ::message::Base_info& Measure_status_msg::base_info() const {
  // @@protoc_insertion_point(field_get:message.Measure_status_msg.base_info)
  return _internal_base_info();
}
inline void Measure_status_msg::unsafe_arena_set_allocated_base_info(
    ::message::Base_info* base_info) {
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(base_info_);
  }
  base_info_ = base_info;
  if (base_info) {
    _has_bits_[0] |= 0x00000001u;
  } else {
    _has_bits_[0] &= ~0x00000001u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:message.Measure_status_msg.base_info)
}
inline ::message::Base_info* Measure_status_msg::release_base_info() {
  _has_bits_[0] &= ~0x00000001u;
  ::message::Base_info* temp = base_info_;
  base_info_ = nullptr;
  if (GetArena() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
  return temp;
}
inline ::message::Base_info* Measure_status_msg::unsafe_arena_release_base_info() {
  // @@protoc_insertion_point(field_release:message.Measure_status_msg.base_info)
  _has_bits_[0] &= ~0x00000001u;
  ::message::Base_info* temp = base_info_;
  base_info_ = nullptr;
  return temp;
}
inline ::message::Base_info* Measure_status_msg::_internal_mutable_base_info() {
  _has_bits_[0] |= 0x00000001u;
  if (base_info_ == nullptr) {
    auto* p = CreateMaybeMessage<::message::Base_info>(GetArena());
    base_info_ = p;
  }
  return base_info_;
}
inline ::message::Base_info* Measure_status_msg::mutable_base_info() {
  // @@protoc_insertion_point(field_mutable:message.Measure_status_msg.base_info)
  return _internal_mutable_base_info();
}
inline void Measure_status_msg::set_allocated_base_info(::message::Base_info* base_info) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(base_info_);
  }
  if (base_info) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(base_info)->GetArena();
    if (message_arena != submessage_arena) {
      base_info = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, base_info, submessage_arena);
    }
    _has_bits_[0] |= 0x00000001u;
  } else {
    _has_bits_[0] &= ~0x00000001u;
  }
  base_info_ = base_info;
  // @@protoc_insertion_point(field_set_allocated:message.Measure_status_msg.base_info)
}

// required .message.Id_struct id_struct = 2;
inline bool Measure_status_msg::_internal_has_id_struct() const {
  bool value = (_has_bits_[0] & 0x00000002u) != 0;
  PROTOBUF_ASSUME(!value || id_struct_ != nullptr);
  return value;
}
inline bool Measure_status_msg::has_id_struct() const {
  return _internal_has_id_struct();
}
inline const ::message::Id_struct& Measure_status_msg::_internal_id_struct() const {
  const ::message::Id_struct* p = id_struct_;
  return p != nullptr ? *p : *reinterpret_cast<const ::message::Id_struct*>(
      &::message::_Id_struct_default_instance_);
}
inline const ::message::Id_struct& Measure_status_msg::id_struct() const {
  // @@protoc_insertion_point(field_get:message.Measure_status_msg.id_struct)
  return _internal_id_struct();
}
inline void Measure_status_msg::unsafe_arena_set_allocated_id_struct(
    ::message::Id_struct* id_struct) {
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(id_struct_);
  }
  id_struct_ = id_struct;
  if (id_struct) {
    _has_bits_[0] |= 0x00000002u;
  } else {
    _has_bits_[0] &= ~0x00000002u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:message.Measure_status_msg.id_struct)
}
inline ::message::Id_struct* Measure_status_msg::release_id_struct() {
  _has_bits_[0] &= ~0x00000002u;
  ::message::Id_struct* temp = id_struct_;
  id_struct_ = nullptr;
  if (GetArena() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
  return temp;
}
inline ::message::Id_struct* Measure_status_msg::unsafe_arena_release_id_struct() {
  // @@protoc_insertion_point(field_release:message.Measure_status_msg.id_struct)
  _has_bits_[0] &= ~0x00000002u;
  ::message::Id_struct* temp = id_struct_;
  id_struct_ = nullptr;
  return temp;
}
inline ::message::Id_struct* Measure_status_msg::_internal_mutable_id_struct() {
  _has_bits_[0] |= 0x00000002u;
  if (id_struct_ == nullptr) {
    auto* p = CreateMaybeMessage<::message::Id_struct>(GetArena());
    id_struct_ = p;
  }
  return id_struct_;
}
inline ::message::Id_struct* Measure_status_msg::mutable_id_struct() {
  // @@protoc_insertion_point(field_mutable:message.Measure_status_msg.id_struct)
  return _internal_mutable_id_struct();
}
inline void Measure_status_msg::set_allocated_id_struct(::message::Id_struct* id_struct) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(id_struct_);
  }
  if (id_struct) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(id_struct)->GetArena();
    if (message_arena != submessage_arena) {
      id_struct = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, id_struct, submessage_arena);
    }
    _has_bits_[0] |= 0x00000002u;
  } else {
    _has_bits_[0] &= ~0x00000002u;
  }
  id_struct_ = id_struct;
  // @@protoc_insertion_point(field_set_allocated:message.Measure_status_msg.id_struct)
}

// required .message.Laser_manager_status laser_manager_status = 3;
inline bool Measure_status_msg::_internal_has_laser_manager_status() const {
  bool value = (_has_bits_[0] & 0x00000008u) != 0;
  return value;
}
inline bool Measure_status_msg::has_laser_manager_status() const {
  return _internal_has_laser_manager_status();
}
inline void Measure_status_msg::clear_laser_manager_status() {
  laser_manager_status_ = 0;
  _has_bits_[0] &= ~0x00000008u;
}
inline ::message::Laser_manager_status Measure_status_msg::_internal_laser_manager_status() const {
  return static_cast< ::message::Laser_manager_status >(laser_manager_status_);
}
inline ::message::Laser_manager_status Measure_status_msg::laser_manager_status() const {
  // @@protoc_insertion_point(field_get:message.Measure_status_msg.laser_manager_status)
  return _internal_laser_manager_status();
}
inline void Measure_status_msg::_internal_set_laser_manager_status(::message::Laser_manager_status value) {
  assert(::message::Laser_manager_status_IsValid(value));
  _has_bits_[0] |= 0x00000008u;
  laser_manager_status_ = value;
}
inline void Measure_status_msg::set_laser_manager_status(::message::Laser_manager_status value) {
  _internal_set_laser_manager_status(value);
  // @@protoc_insertion_point(field_set:message.Measure_status_msg.laser_manager_status)
}

// repeated .message.Laser_statu laser_statu_vector = 4;
inline int Measure_status_msg::_internal_laser_statu_vector_size() const {
  return laser_statu_vector_.size();
}
inline int Measure_status_msg::laser_statu_vector_size() const {
  return _internal_laser_statu_vector_size();
}
inline void Measure_status_msg::clear_laser_statu_vector() {
  laser_statu_vector_.Clear();
}
inline ::message::Laser_statu Measure_status_msg::_internal_laser_statu_vector(int index) const {
  return static_cast< ::message::Laser_statu >(laser_statu_vector_.Get(index));
}
inline ::message::Laser_statu Measure_status_msg::laser_statu_vector(int index) const {
  // @@protoc_insertion_point(field_get:message.Measure_status_msg.laser_statu_vector)
  return _internal_laser_statu_vector(index);
}
inline void Measure_status_msg::set_laser_statu_vector(int index, ::message::Laser_statu value) {
  assert(::message::Laser_statu_IsValid(value));
  laser_statu_vector_.Set(index, value);
  // @@protoc_insertion_point(field_set:message.Measure_status_msg.laser_statu_vector)
}
inline void Measure_status_msg::_internal_add_laser_statu_vector(::message::Laser_statu value) {
  assert(::message::Laser_statu_IsValid(value));
  laser_statu_vector_.Add(value);
}
inline void Measure_status_msg::add_laser_statu_vector(::message::Laser_statu value) {
  // @@protoc_insertion_point(field_add:message.Measure_status_msg.laser_statu_vector)
  _internal_add_laser_statu_vector(value);
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>&
Measure_status_msg::laser_statu_vector() const {
  // @@protoc_insertion_point(field_list:message.Measure_status_msg.laser_statu_vector)
  return laser_statu_vector_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>*
Measure_status_msg::_internal_mutable_laser_statu_vector() {
  return &laser_statu_vector_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>*
Measure_status_msg::mutable_laser_statu_vector() {
  // @@protoc_insertion_point(field_mutable_list:message.Measure_status_msg.laser_statu_vector)
  return _internal_mutable_laser_statu_vector();
}

// required .message.Locate_manager_status locate_manager_status = 5;
inline bool Measure_status_msg::_internal_has_locate_manager_status() const {
  bool value = (_has_bits_[0] & 0x00000010u) != 0;
  return value;
}
inline bool Measure_status_msg::has_locate_manager_status() const {
  return _internal_has_locate_manager_status();
}
inline void Measure_status_msg::clear_locate_manager_status() {
  locate_manager_status_ = 0;
  _has_bits_[0] &= ~0x00000010u;
}
inline ::message::Locate_manager_status Measure_status_msg::_internal_locate_manager_status() const {
  return static_cast< ::message::Locate_manager_status >(locate_manager_status_);
}
inline ::message::Locate_manager_status Measure_status_msg::locate_manager_status() const {
  // @@protoc_insertion_point(field_get:message.Measure_status_msg.locate_manager_status)
  return _internal_locate_manager_status();
}
inline void Measure_status_msg::_internal_set_locate_manager_status(::message::Locate_manager_status value) {
  assert(::message::Locate_manager_status_IsValid(value));
  _has_bits_[0] |= 0x00000010u;
  locate_manager_status_ = value;
}
inline void Measure_status_msg::set_locate_manager_status(::message::Locate_manager_status value) {
  _internal_set_locate_manager_status(value);
  // @@protoc_insertion_point(field_set:message.Measure_status_msg.locate_manager_status)
}

// required .message.Error_manager error_manager = 6;
inline bool Measure_status_msg::_internal_has_error_manager() const {
  bool value = (_has_bits_[0] & 0x00000004u) != 0;
  PROTOBUF_ASSUME(!value || error_manager_ != nullptr);
  return value;
}
inline bool Measure_status_msg::has_error_manager() const {
  return _internal_has_error_manager();
}
inline const ::message::Error_manager& Measure_status_msg::_internal_error_manager() const {
  const ::message::Error_manager* p = error_manager_;
  return p != nullptr ? *p : *reinterpret_cast<const ::message::Error_manager*>(
      &::message::_Error_manager_default_instance_);
}
inline const ::message::Error_manager& Measure_status_msg::error_manager() const {
  // @@protoc_insertion_point(field_get:message.Measure_status_msg.error_manager)
  return _internal_error_manager();
}
inline void Measure_status_msg::unsafe_arena_set_allocated_error_manager(
    ::message::Error_manager* error_manager) {
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(error_manager_);
  }
  error_manager_ = error_manager;
  if (error_manager) {
    _has_bits_[0] |= 0x00000004u;
  } else {
    _has_bits_[0] &= ~0x00000004u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:message.Measure_status_msg.error_manager)
}
inline ::message::Error_manager* Measure_status_msg::release_error_manager() {
  _has_bits_[0] &= ~0x00000004u;
  ::message::Error_manager* temp = error_manager_;
  error_manager_ = nullptr;
  if (GetArena() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
  return temp;
}
inline ::message::Error_manager* Measure_status_msg::unsafe_arena_release_error_manager() {
  // @@protoc_insertion_point(field_release:message.Measure_status_msg.error_manager)
  _has_bits_[0] &= ~0x00000004u;
  ::message::Error_manager* temp = error_manager_;
  error_manager_ = nullptr;
  return temp;
}
inline ::message::Error_manager* Measure_status_msg::_internal_mutable_error_manager() {
  _has_bits_[0] |= 0x00000004u;
  if (error_manager_ == nullptr) {
    auto* p = CreateMaybeMessage<::message::Error_manager>(GetArena());
    error_manager_ = p;
  }
  return error_manager_;
}
inline ::message::Error_manager* Measure_status_msg::mutable_error_manager() {
  // @@protoc_insertion_point(field_mutable:message.Measure_status_msg.error_manager)
  return _internal_mutable_error_manager();
}
inline void Measure_status_msg::set_allocated_error_manager(::message::Error_manager* error_manager) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(error_manager_);
  }
  if (error_manager) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(error_manager)->GetArena();
    if (message_arena != submessage_arena) {
      error_manager = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, error_manager, submessage_arena);
    }
    _has_bits_[0] |= 0x00000004u;
  } else {
    _has_bits_[0] &= ~0x00000004u;
  }
  error_manager_ = error_manager;
  // @@protoc_insertion_point(field_set_allocated:message.Measure_status_msg.error_manager)
}

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

// Measure_request_msg

// required .message.Base_info base_info = 1;
inline bool Measure_request_msg::_internal_has_base_info() const {
  bool value = (_has_bits_[0] & 0x00000002u) != 0;
  PROTOBUF_ASSUME(!value || base_info_ != nullptr);
  return value;
}
inline bool Measure_request_msg::has_base_info() const {
  return _internal_has_base_info();
}
inline const ::message::Base_info& Measure_request_msg::_internal_base_info() const {
  const ::message::Base_info* p = base_info_;
  return p != nullptr ? *p : *reinterpret_cast<const ::message::Base_info*>(
      &::message::_Base_info_default_instance_);
}
inline const ::message::Base_info& Measure_request_msg::base_info() const {
  // @@protoc_insertion_point(field_get:message.Measure_request_msg.base_info)
  return _internal_base_info();
}
inline void Measure_request_msg::unsafe_arena_set_allocated_base_info(
    ::message::Base_info* base_info) {
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(base_info_);
  }
  base_info_ = base_info;
  if (base_info) {
    _has_bits_[0] |= 0x00000002u;
  } else {
    _has_bits_[0] &= ~0x00000002u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:message.Measure_request_msg.base_info)
}
inline ::message::Base_info* Measure_request_msg::release_base_info() {
  _has_bits_[0] &= ~0x00000002u;
  ::message::Base_info* temp = base_info_;
  base_info_ = nullptr;
  if (GetArena() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
  return temp;
}
inline ::message::Base_info* Measure_request_msg::unsafe_arena_release_base_info() {
  // @@protoc_insertion_point(field_release:message.Measure_request_msg.base_info)
  _has_bits_[0] &= ~0x00000002u;
  ::message::Base_info* temp = base_info_;
  base_info_ = nullptr;
  return temp;
}
inline ::message::Base_info* Measure_request_msg::_internal_mutable_base_info() {
  _has_bits_[0] |= 0x00000002u;
  if (base_info_ == nullptr) {
    auto* p = CreateMaybeMessage<::message::Base_info>(GetArena());
    base_info_ = p;
  }
  return base_info_;
}
inline ::message::Base_info* Measure_request_msg::mutable_base_info() {
  // @@protoc_insertion_point(field_mutable:message.Measure_request_msg.base_info)
  return _internal_mutable_base_info();
}
inline void Measure_request_msg::set_allocated_base_info(::message::Base_info* base_info) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(base_info_);
  }
  if (base_info) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(base_info)->GetArena();
    if (message_arena != submessage_arena) {
      base_info = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, base_info, submessage_arena);
    }
    _has_bits_[0] |= 0x00000002u;
  } else {
    _has_bits_[0] &= ~0x00000002u;
  }
  base_info_ = base_info;
  // @@protoc_insertion_point(field_set_allocated:message.Measure_request_msg.base_info)
}

// required string command_key = 2;
inline bool Measure_request_msg::_internal_has_command_key() const {
  bool value = (_has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool Measure_request_msg::has_command_key() const {
  return _internal_has_command_key();
}
inline void Measure_request_msg::clear_command_key() {
  command_key_.ClearToEmpty(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  _has_bits_[0] &= ~0x00000001u;
}
inline const std::string& Measure_request_msg::command_key() const {
  // @@protoc_insertion_point(field_get:message.Measure_request_msg.command_key)
  return _internal_command_key();
}
inline void Measure_request_msg::set_command_key(const std::string& value) {
  _internal_set_command_key(value);
  // @@protoc_insertion_point(field_set:message.Measure_request_msg.command_key)
}
inline std::string* Measure_request_msg::mutable_command_key() {
  // @@protoc_insertion_point(field_mutable:message.Measure_request_msg.command_key)
  return _internal_mutable_command_key();
}
inline const std::string& Measure_request_msg::_internal_command_key() const {
  return command_key_.Get();
}
inline void Measure_request_msg::_internal_set_command_key(const std::string& value) {
  _has_bits_[0] |= 0x00000001u;
  command_key_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value, GetArena());
}
inline void Measure_request_msg::set_command_key(std::string&& value) {
  _has_bits_[0] |= 0x00000001u;
  command_key_.Set(
    &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value), GetArena());
  // @@protoc_insertion_point(field_set_rvalue:message.Measure_request_msg.command_key)
}
inline void Measure_request_msg::set_command_key(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  _has_bits_[0] |= 0x00000001u;
  command_key_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value),
              GetArena());
  // @@protoc_insertion_point(field_set_char:message.Measure_request_msg.command_key)
}
inline void Measure_request_msg::set_command_key(const char* value,
    size_t size) {
  _has_bits_[0] |= 0x00000001u;
  command_key_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(
      reinterpret_cast<const char*>(value), size), GetArena());
  // @@protoc_insertion_point(field_set_pointer:message.Measure_request_msg.command_key)
}
inline std::string* Measure_request_msg::_internal_mutable_command_key() {
  _has_bits_[0] |= 0x00000001u;
  return command_key_.Mutable(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
}
inline std::string* Measure_request_msg::release_command_key() {
  // @@protoc_insertion_point(field_release:message.Measure_request_msg.command_key)
  if (!_internal_has_command_key()) {
    return nullptr;
  }
  _has_bits_[0] &= ~0x00000001u;
  return command_key_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
}
inline void Measure_request_msg::set_allocated_command_key(std::string* command_key) {
  if (command_key != nullptr) {
    _has_bits_[0] |= 0x00000001u;
  } else {
    _has_bits_[0] &= ~0x00000001u;
  }
  command_key_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), command_key,
      GetArena());
  // @@protoc_insertion_point(field_set_allocated:message.Measure_request_msg.command_key)
}

// required .message.Id_struct id_struct = 3;
inline bool Measure_request_msg::_internal_has_id_struct() const {
  bool value = (_has_bits_[0] & 0x00000004u) != 0;
  PROTOBUF_ASSUME(!value || id_struct_ != nullptr);
  return value;
}
inline bool Measure_request_msg::has_id_struct() const {
  return _internal_has_id_struct();
}
inline const ::message::Id_struct& Measure_request_msg::_internal_id_struct() const {
  const ::message::Id_struct* p = id_struct_;
  return p != nullptr ? *p : *reinterpret_cast<const ::message::Id_struct*>(
      &::message::_Id_struct_default_instance_);
}
inline const ::message::Id_struct& Measure_request_msg::id_struct() const {
  // @@protoc_insertion_point(field_get:message.Measure_request_msg.id_struct)
  return _internal_id_struct();
}
inline void Measure_request_msg::unsafe_arena_set_allocated_id_struct(
    ::message::Id_struct* id_struct) {
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(id_struct_);
  }
  id_struct_ = id_struct;
  if (id_struct) {
    _has_bits_[0] |= 0x00000004u;
  } else {
    _has_bits_[0] &= ~0x00000004u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:message.Measure_request_msg.id_struct)
}
inline ::message::Id_struct* Measure_request_msg::release_id_struct() {
  _has_bits_[0] &= ~0x00000004u;
  ::message::Id_struct* temp = id_struct_;
  id_struct_ = nullptr;
  if (GetArena() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
  return temp;
}
inline ::message::Id_struct* Measure_request_msg::unsafe_arena_release_id_struct() {
  // @@protoc_insertion_point(field_release:message.Measure_request_msg.id_struct)
  _has_bits_[0] &= ~0x00000004u;
  ::message::Id_struct* temp = id_struct_;
  id_struct_ = nullptr;
  return temp;
}
inline ::message::Id_struct* Measure_request_msg::_internal_mutable_id_struct() {
  _has_bits_[0] |= 0x00000004u;
  if (id_struct_ == nullptr) {
    auto* p = CreateMaybeMessage<::message::Id_struct>(GetArena());
    id_struct_ = p;
  }
  return id_struct_;
}
inline ::message::Id_struct* Measure_request_msg::mutable_id_struct() {
  // @@protoc_insertion_point(field_mutable:message.Measure_request_msg.id_struct)
  return _internal_mutable_id_struct();
}
inline void Measure_request_msg::set_allocated_id_struct(::message::Id_struct* id_struct) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(id_struct_);
  }
  if (id_struct) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(id_struct)->GetArena();
    if (message_arena != submessage_arena) {
      id_struct = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, id_struct, submessage_arena);
    }
    _has_bits_[0] |= 0x00000004u;
  } else {
    _has_bits_[0] &= ~0x00000004u;
  }
  id_struct_ = id_struct;
  // @@protoc_insertion_point(field_set_allocated:message.Measure_request_msg.id_struct)
}

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

// Measure_response_msg

// required .message.Base_info base_info = 1;
inline bool Measure_response_msg::_internal_has_base_info() const {
  bool value = (_has_bits_[0] & 0x00000002u) != 0;
  PROTOBUF_ASSUME(!value || base_info_ != nullptr);
  return value;
}
inline bool Measure_response_msg::has_base_info() const {
  return _internal_has_base_info();
}
inline const ::message::Base_info& Measure_response_msg::_internal_base_info() const {
  const ::message::Base_info* p = base_info_;
  return p != nullptr ? *p : *reinterpret_cast<const ::message::Base_info*>(
      &::message::_Base_info_default_instance_);
}
inline const ::message::Base_info& Measure_response_msg::base_info() const {
  // @@protoc_insertion_point(field_get:message.Measure_response_msg.base_info)
  return _internal_base_info();
}
inline void Measure_response_msg::unsafe_arena_set_allocated_base_info(
    ::message::Base_info* base_info) {
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(base_info_);
  }
  base_info_ = base_info;
  if (base_info) {
    _has_bits_[0] |= 0x00000002u;
  } else {
    _has_bits_[0] &= ~0x00000002u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:message.Measure_response_msg.base_info)
}
inline ::message::Base_info* Measure_response_msg::release_base_info() {
  _has_bits_[0] &= ~0x00000002u;
  ::message::Base_info* temp = base_info_;
  base_info_ = nullptr;
  if (GetArena() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
  return temp;
}
inline ::message::Base_info* Measure_response_msg::unsafe_arena_release_base_info() {
  // @@protoc_insertion_point(field_release:message.Measure_response_msg.base_info)
  _has_bits_[0] &= ~0x00000002u;
  ::message::Base_info* temp = base_info_;
  base_info_ = nullptr;
  return temp;
}
inline ::message::Base_info* Measure_response_msg::_internal_mutable_base_info() {
  _has_bits_[0] |= 0x00000002u;
  if (base_info_ == nullptr) {
    auto* p = CreateMaybeMessage<::message::Base_info>(GetArena());
    base_info_ = p;
  }
  return base_info_;
}
inline ::message::Base_info* Measure_response_msg::mutable_base_info() {
  // @@protoc_insertion_point(field_mutable:message.Measure_response_msg.base_info)
  return _internal_mutable_base_info();
}
inline void Measure_response_msg::set_allocated_base_info(::message::Base_info* base_info) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(base_info_);
  }
  if (base_info) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(base_info)->GetArena();
    if (message_arena != submessage_arena) {
      base_info = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, base_info, submessage_arena);
    }
    _has_bits_[0] |= 0x00000002u;
  } else {
    _has_bits_[0] &= ~0x00000002u;
  }
  base_info_ = base_info;
  // @@protoc_insertion_point(field_set_allocated:message.Measure_response_msg.base_info)
}

// required string command_key = 2;
inline bool Measure_response_msg::_internal_has_command_key() const {
  bool value = (_has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool Measure_response_msg::has_command_key() const {
  return _internal_has_command_key();
}
inline void Measure_response_msg::clear_command_key() {
  command_key_.ClearToEmpty(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  _has_bits_[0] &= ~0x00000001u;
}
inline const std::string& Measure_response_msg::command_key() const {
  // @@protoc_insertion_point(field_get:message.Measure_response_msg.command_key)
  return _internal_command_key();
}
inline void Measure_response_msg::set_command_key(const std::string& value) {
  _internal_set_command_key(value);
  // @@protoc_insertion_point(field_set:message.Measure_response_msg.command_key)
}
inline std::string* Measure_response_msg::mutable_command_key() {
  // @@protoc_insertion_point(field_mutable:message.Measure_response_msg.command_key)
  return _internal_mutable_command_key();
}
inline const std::string& Measure_response_msg::_internal_command_key() const {
  return command_key_.Get();
}
inline void Measure_response_msg::_internal_set_command_key(const std::string& value) {
  _has_bits_[0] |= 0x00000001u;
  command_key_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value, GetArena());
}
inline void Measure_response_msg::set_command_key(std::string&& value) {
  _has_bits_[0] |= 0x00000001u;
  command_key_.Set(
    &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value), GetArena());
  // @@protoc_insertion_point(field_set_rvalue:message.Measure_response_msg.command_key)
}
inline void Measure_response_msg::set_command_key(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  _has_bits_[0] |= 0x00000001u;
  command_key_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value),
              GetArena());
  // @@protoc_insertion_point(field_set_char:message.Measure_response_msg.command_key)
}
inline void Measure_response_msg::set_command_key(const char* value,
    size_t size) {
  _has_bits_[0] |= 0x00000001u;
  command_key_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(
      reinterpret_cast<const char*>(value), size), GetArena());
  // @@protoc_insertion_point(field_set_pointer:message.Measure_response_msg.command_key)
}
inline std::string* Measure_response_msg::_internal_mutable_command_key() {
  _has_bits_[0] |= 0x00000001u;
  return command_key_.Mutable(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
}
inline std::string* Measure_response_msg::release_command_key() {
  // @@protoc_insertion_point(field_release:message.Measure_response_msg.command_key)
  if (!_internal_has_command_key()) {
    return nullptr;
  }
  _has_bits_[0] &= ~0x00000001u;
  return command_key_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
}
inline void Measure_response_msg::set_allocated_command_key(std::string* command_key) {
  if (command_key != nullptr) {
    _has_bits_[0] |= 0x00000001u;
  } else {
    _has_bits_[0] &= ~0x00000001u;
  }
  command_key_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), command_key,
      GetArena());
  // @@protoc_insertion_point(field_set_allocated:message.Measure_response_msg.command_key)
}

// required .message.Id_struct id_struct = 3;
inline bool Measure_response_msg::_internal_has_id_struct() const {
  bool value = (_has_bits_[0] & 0x00000004u) != 0;
  PROTOBUF_ASSUME(!value || id_struct_ != nullptr);
  return value;
}
inline bool Measure_response_msg::has_id_struct() const {
  return _internal_has_id_struct();
}
inline const ::message::Id_struct& Measure_response_msg::_internal_id_struct() const {
  const ::message::Id_struct* p = id_struct_;
  return p != nullptr ? *p : *reinterpret_cast<const ::message::Id_struct*>(
      &::message::_Id_struct_default_instance_);
}
inline const ::message::Id_struct& Measure_response_msg::id_struct() const {
  // @@protoc_insertion_point(field_get:message.Measure_response_msg.id_struct)
  return _internal_id_struct();
}
inline void Measure_response_msg::unsafe_arena_set_allocated_id_struct(
    ::message::Id_struct* id_struct) {
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(id_struct_);
  }
  id_struct_ = id_struct;
  if (id_struct) {
    _has_bits_[0] |= 0x00000004u;
  } else {
    _has_bits_[0] &= ~0x00000004u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:message.Measure_response_msg.id_struct)
}
inline ::message::Id_struct* Measure_response_msg::release_id_struct() {
  _has_bits_[0] &= ~0x00000004u;
  ::message::Id_struct* temp = id_struct_;
  id_struct_ = nullptr;
  if (GetArena() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
  return temp;
}
inline ::message::Id_struct* Measure_response_msg::unsafe_arena_release_id_struct() {
  // @@protoc_insertion_point(field_release:message.Measure_response_msg.id_struct)
  _has_bits_[0] &= ~0x00000004u;
  ::message::Id_struct* temp = id_struct_;
  id_struct_ = nullptr;
  return temp;
}
inline ::message::Id_struct* Measure_response_msg::_internal_mutable_id_struct() {
  _has_bits_[0] |= 0x00000004u;
  if (id_struct_ == nullptr) {
    auto* p = CreateMaybeMessage<::message::Id_struct>(GetArena());
    id_struct_ = p;
  }
  return id_struct_;
}
inline ::message::Id_struct* Measure_response_msg::mutable_id_struct() {
  // @@protoc_insertion_point(field_mutable:message.Measure_response_msg.id_struct)
  return _internal_mutable_id_struct();
}
inline void Measure_response_msg::set_allocated_id_struct(::message::Id_struct* id_struct) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(id_struct_);
  }
  if (id_struct) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(id_struct)->GetArena();
    if (message_arena != submessage_arena) {
      id_struct = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, id_struct, submessage_arena);
    }
    _has_bits_[0] |= 0x00000004u;
  } else {
    _has_bits_[0] &= ~0x00000004u;
  }
  id_struct_ = id_struct;
  // @@protoc_insertion_point(field_set_allocated:message.Measure_response_msg.id_struct)
}

// optional .message.Locate_information locate_information = 4;
inline bool Measure_response_msg::_internal_has_locate_information() const {
  bool value = (_has_bits_[0] & 0x00000008u) != 0;
  PROTOBUF_ASSUME(!value || locate_information_ != nullptr);
  return value;
}
inline bool Measure_response_msg::has_locate_information() const {
  return _internal_has_locate_information();
}
inline const ::message::Locate_information& Measure_response_msg::_internal_locate_information() const {
  const ::message::Locate_information* p = locate_information_;
  return p != nullptr ? *p : *reinterpret_cast<const ::message::Locate_information*>(
      &::message::_Locate_information_default_instance_);
}
inline const ::message::Locate_information& Measure_response_msg::locate_information() const {
  // @@protoc_insertion_point(field_get:message.Measure_response_msg.locate_information)
  return _internal_locate_information();
}
inline void Measure_response_msg::unsafe_arena_set_allocated_locate_information(
    ::message::Locate_information* locate_information) {
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(locate_information_);
  }
  locate_information_ = locate_information;
  if (locate_information) {
    _has_bits_[0] |= 0x00000008u;
  } else {
    _has_bits_[0] &= ~0x00000008u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:message.Measure_response_msg.locate_information)
}
inline ::message::Locate_information* Measure_response_msg::release_locate_information() {
  _has_bits_[0] &= ~0x00000008u;
  ::message::Locate_information* temp = locate_information_;
  locate_information_ = nullptr;
  if (GetArena() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
  return temp;
}
inline ::message::Locate_information* Measure_response_msg::unsafe_arena_release_locate_information() {
  // @@protoc_insertion_point(field_release:message.Measure_response_msg.locate_information)
  _has_bits_[0] &= ~0x00000008u;
  ::message::Locate_information* temp = locate_information_;
  locate_information_ = nullptr;
  return temp;
}
inline ::message::Locate_information* Measure_response_msg::_internal_mutable_locate_information() {
  _has_bits_[0] |= 0x00000008u;
  if (locate_information_ == nullptr) {
    auto* p = CreateMaybeMessage<::message::Locate_information>(GetArena());
    locate_information_ = p;
  }
  return locate_information_;
}
inline ::message::Locate_information* Measure_response_msg::mutable_locate_information() {
  // @@protoc_insertion_point(field_mutable:message.Measure_response_msg.locate_information)
  return _internal_mutable_locate_information();
}
inline void Measure_response_msg::set_allocated_locate_information(::message::Locate_information* locate_information) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(locate_information_);
  }
  if (locate_information) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(locate_information)->GetArena();
    if (message_arena != submessage_arena) {
      locate_information = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, locate_information, submessage_arena);
    }
    _has_bits_[0] |= 0x00000008u;
  } else {
    _has_bits_[0] &= ~0x00000008u;
  }
  locate_information_ = locate_information;
  // @@protoc_insertion_point(field_set_allocated:message.Measure_response_msg.locate_information)
}

// required .message.Error_manager error_manager = 5;
inline bool Measure_response_msg::_internal_has_error_manager() const {
  bool value = (_has_bits_[0] & 0x00000010u) != 0;
  PROTOBUF_ASSUME(!value || error_manager_ != nullptr);
  return value;
}
inline bool Measure_response_msg::has_error_manager() const {
  return _internal_has_error_manager();
}
inline const ::message::Error_manager& Measure_response_msg::_internal_error_manager() const {
  const ::message::Error_manager* p = error_manager_;
  return p != nullptr ? *p : *reinterpret_cast<const ::message::Error_manager*>(
      &::message::_Error_manager_default_instance_);
}
inline const ::message::Error_manager& Measure_response_msg::error_manager() const {
  // @@protoc_insertion_point(field_get:message.Measure_response_msg.error_manager)
  return _internal_error_manager();
}
inline void Measure_response_msg::unsafe_arena_set_allocated_error_manager(
    ::message::Error_manager* error_manager) {
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(error_manager_);
  }
  error_manager_ = error_manager;
  if (error_manager) {
    _has_bits_[0] |= 0x00000010u;
  } else {
    _has_bits_[0] &= ~0x00000010u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:message.Measure_response_msg.error_manager)
}
inline ::message::Error_manager* Measure_response_msg::release_error_manager() {
  _has_bits_[0] &= ~0x00000010u;
  ::message::Error_manager* temp = error_manager_;
  error_manager_ = nullptr;
  if (GetArena() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
  return temp;
}
inline ::message::Error_manager* Measure_response_msg::unsafe_arena_release_error_manager() {
  // @@protoc_insertion_point(field_release:message.Measure_response_msg.error_manager)
  _has_bits_[0] &= ~0x00000010u;
  ::message::Error_manager* temp = error_manager_;
  error_manager_ = nullptr;
  return temp;
}
inline ::message::Error_manager* Measure_response_msg::_internal_mutable_error_manager() {
  _has_bits_[0] |= 0x00000010u;
  if (error_manager_ == nullptr) {
    auto* p = CreateMaybeMessage<::message::Error_manager>(GetArena());
    error_manager_ = p;
  }
  return error_manager_;
}
inline ::message::Error_manager* Measure_response_msg::mutable_error_manager() {
  // @@protoc_insertion_point(field_mutable:message.Measure_response_msg.error_manager)
  return _internal_mutable_error_manager();
}
inline void Measure_response_msg::set_allocated_error_manager(::message::Error_manager* error_manager) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(error_manager_);
  }
  if (error_manager) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(error_manager)->GetArena();
    if (message_arena != submessage_arena) {
      error_manager = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, error_manager, submessage_arena);
    }
    _has_bits_[0] |= 0x00000010u;
  } else {
    _has_bits_[0] &= ~0x00000010u;
  }
  error_manager_ = error_manager;
  // @@protoc_insertion_point(field_set_allocated:message.Measure_response_msg.error_manager)
}

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

// Ground_detect_request_msg

// required .message.Base_info base_info = 1;
inline bool Ground_detect_request_msg::_internal_has_base_info() const {
  bool value = (_has_bits_[0] & 0x00000002u) != 0;
  PROTOBUF_ASSUME(!value || base_info_ != nullptr);
  return value;
}
inline bool Ground_detect_request_msg::has_base_info() const {
  return _internal_has_base_info();
}
inline const ::message::Base_info& Ground_detect_request_msg::_internal_base_info() const {
  const ::message::Base_info* p = base_info_;
  return p != nullptr ? *p : *reinterpret_cast<const ::message::Base_info*>(
      &::message::_Base_info_default_instance_);
}
inline const ::message::Base_info& Ground_detect_request_msg::base_info() const {
  // @@protoc_insertion_point(field_get:message.Ground_detect_request_msg.base_info)
  return _internal_base_info();
}
inline void Ground_detect_request_msg::unsafe_arena_set_allocated_base_info(
    ::message::Base_info* base_info) {
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(base_info_);
  }
  base_info_ = base_info;
  if (base_info) {
    _has_bits_[0] |= 0x00000002u;
  } else {
    _has_bits_[0] &= ~0x00000002u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:message.Ground_detect_request_msg.base_info)
}
inline ::message::Base_info* Ground_detect_request_msg::release_base_info() {
  _has_bits_[0] &= ~0x00000002u;
  ::message::Base_info* temp = base_info_;
  base_info_ = nullptr;
  if (GetArena() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
  return temp;
}
inline ::message::Base_info* Ground_detect_request_msg::unsafe_arena_release_base_info() {
  // @@protoc_insertion_point(field_release:message.Ground_detect_request_msg.base_info)
  _has_bits_[0] &= ~0x00000002u;
  ::message::Base_info* temp = base_info_;
  base_info_ = nullptr;
  return temp;
}
inline ::message::Base_info* Ground_detect_request_msg::_internal_mutable_base_info() {
  _has_bits_[0] |= 0x00000002u;
  if (base_info_ == nullptr) {
    auto* p = CreateMaybeMessage<::message::Base_info>(GetArena());
    base_info_ = p;
  }
  return base_info_;
}
inline ::message::Base_info* Ground_detect_request_msg::mutable_base_info() {
  // @@protoc_insertion_point(field_mutable:message.Ground_detect_request_msg.base_info)
  return _internal_mutable_base_info();
}
inline void Ground_detect_request_msg::set_allocated_base_info(::message::Base_info* base_info) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(base_info_);
  }
  if (base_info) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(base_info)->GetArena();
    if (message_arena != submessage_arena) {
      base_info = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, base_info, submessage_arena);
    }
    _has_bits_[0] |= 0x00000002u;
  } else {
    _has_bits_[0] &= ~0x00000002u;
  }
  base_info_ = base_info;
  // @@protoc_insertion_point(field_set_allocated:message.Ground_detect_request_msg.base_info)
}

// required string command_key = 2;
inline bool Ground_detect_request_msg::_internal_has_command_key() const {
  bool value = (_has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool Ground_detect_request_msg::has_command_key() const {
  return _internal_has_command_key();
}
inline void Ground_detect_request_msg::clear_command_key() {
  command_key_.ClearToEmpty(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  _has_bits_[0] &= ~0x00000001u;
}
inline const std::string& Ground_detect_request_msg::command_key() const {
  // @@protoc_insertion_point(field_get:message.Ground_detect_request_msg.command_key)
  return _internal_command_key();
}
inline void Ground_detect_request_msg::set_command_key(const std::string& value) {
  _internal_set_command_key(value);
  // @@protoc_insertion_point(field_set:message.Ground_detect_request_msg.command_key)
}
inline std::string* Ground_detect_request_msg::mutable_command_key() {
  // @@protoc_insertion_point(field_mutable:message.Ground_detect_request_msg.command_key)
  return _internal_mutable_command_key();
}
inline const std::string& Ground_detect_request_msg::_internal_command_key() const {
  return command_key_.Get();
}
inline void Ground_detect_request_msg::_internal_set_command_key(const std::string& value) {
  _has_bits_[0] |= 0x00000001u;
  command_key_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value, GetArena());
}
inline void Ground_detect_request_msg::set_command_key(std::string&& value) {
  _has_bits_[0] |= 0x00000001u;
  command_key_.Set(
    &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value), GetArena());
  // @@protoc_insertion_point(field_set_rvalue:message.Ground_detect_request_msg.command_key)
}
inline void Ground_detect_request_msg::set_command_key(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  _has_bits_[0] |= 0x00000001u;
  command_key_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value),
              GetArena());
  // @@protoc_insertion_point(field_set_char:message.Ground_detect_request_msg.command_key)
}
inline void Ground_detect_request_msg::set_command_key(const char* value,
    size_t size) {
  _has_bits_[0] |= 0x00000001u;
  command_key_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(
      reinterpret_cast<const char*>(value), size), GetArena());
  // @@protoc_insertion_point(field_set_pointer:message.Ground_detect_request_msg.command_key)
}
inline std::string* Ground_detect_request_msg::_internal_mutable_command_key() {
  _has_bits_[0] |= 0x00000001u;
  return command_key_.Mutable(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
}
inline std::string* Ground_detect_request_msg::release_command_key() {
  // @@protoc_insertion_point(field_release:message.Ground_detect_request_msg.command_key)
  if (!_internal_has_command_key()) {
    return nullptr;
  }
  _has_bits_[0] &= ~0x00000001u;
  return command_key_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
}
inline void Ground_detect_request_msg::set_allocated_command_key(std::string* command_key) {
  if (command_key != nullptr) {
    _has_bits_[0] |= 0x00000001u;
  } else {
    _has_bits_[0] &= ~0x00000001u;
  }
  command_key_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), command_key,
      GetArena());
  // @@protoc_insertion_point(field_set_allocated:message.Ground_detect_request_msg.command_key)
}

// required .message.Id_struct id_struct = 3;
inline bool Ground_detect_request_msg::_internal_has_id_struct() const {
  bool value = (_has_bits_[0] & 0x00000004u) != 0;
  PROTOBUF_ASSUME(!value || id_struct_ != nullptr);
  return value;
}
inline bool Ground_detect_request_msg::has_id_struct() const {
  return _internal_has_id_struct();
}
inline const ::message::Id_struct& Ground_detect_request_msg::_internal_id_struct() const {
  const ::message::Id_struct* p = id_struct_;
  return p != nullptr ? *p : *reinterpret_cast<const ::message::Id_struct*>(
      &::message::_Id_struct_default_instance_);
}
inline const ::message::Id_struct& Ground_detect_request_msg::id_struct() const {
  // @@protoc_insertion_point(field_get:message.Ground_detect_request_msg.id_struct)
  return _internal_id_struct();
}
inline void Ground_detect_request_msg::unsafe_arena_set_allocated_id_struct(
    ::message::Id_struct* id_struct) {
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(id_struct_);
  }
  id_struct_ = id_struct;
  if (id_struct) {
    _has_bits_[0] |= 0x00000004u;
  } else {
    _has_bits_[0] &= ~0x00000004u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:message.Ground_detect_request_msg.id_struct)
}
inline ::message::Id_struct* Ground_detect_request_msg::release_id_struct() {
  _has_bits_[0] &= ~0x00000004u;
  ::message::Id_struct* temp = id_struct_;
  id_struct_ = nullptr;
  if (GetArena() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
  return temp;
}
inline ::message::Id_struct* Ground_detect_request_msg::unsafe_arena_release_id_struct() {
  // @@protoc_insertion_point(field_release:message.Ground_detect_request_msg.id_struct)
  _has_bits_[0] &= ~0x00000004u;
  ::message::Id_struct* temp = id_struct_;
  id_struct_ = nullptr;
  return temp;
}
inline ::message::Id_struct* Ground_detect_request_msg::_internal_mutable_id_struct() {
  _has_bits_[0] |= 0x00000004u;
  if (id_struct_ == nullptr) {
    auto* p = CreateMaybeMessage<::message::Id_struct>(GetArena());
    id_struct_ = p;
  }
  return id_struct_;
}
inline ::message::Id_struct* Ground_detect_request_msg::mutable_id_struct() {
  // @@protoc_insertion_point(field_mutable:message.Ground_detect_request_msg.id_struct)
  return _internal_mutable_id_struct();
}
inline void Ground_detect_request_msg::set_allocated_id_struct(::message::Id_struct* id_struct) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(id_struct_);
  }
  if (id_struct) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(id_struct)->GetArena();
    if (message_arena != submessage_arena) {
      id_struct = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, id_struct, submessage_arena);
    }
    _has_bits_[0] |= 0x00000004u;
  } else {
    _has_bits_[0] &= ~0x00000004u;
  }
  id_struct_ = id_struct;
  // @@protoc_insertion_point(field_set_allocated:message.Ground_detect_request_msg.id_struct)
}

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

// Ground_detect_response_msg

// required .message.Base_info base_info = 1;
inline bool Ground_detect_response_msg::_internal_has_base_info() const {
  bool value = (_has_bits_[0] & 0x00000002u) != 0;
  PROTOBUF_ASSUME(!value || base_info_ != nullptr);
  return value;
}
inline bool Ground_detect_response_msg::has_base_info() const {
  return _internal_has_base_info();
}
inline const ::message::Base_info& Ground_detect_response_msg::_internal_base_info() const {
  const ::message::Base_info* p = base_info_;
  return p != nullptr ? *p : *reinterpret_cast<const ::message::Base_info*>(
      &::message::_Base_info_default_instance_);
}
inline const ::message::Base_info& Ground_detect_response_msg::base_info() const {
  // @@protoc_insertion_point(field_get:message.Ground_detect_response_msg.base_info)
  return _internal_base_info();
}
inline void Ground_detect_response_msg::unsafe_arena_set_allocated_base_info(
    ::message::Base_info* base_info) {
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(base_info_);
  }
  base_info_ = base_info;
  if (base_info) {
    _has_bits_[0] |= 0x00000002u;
  } else {
    _has_bits_[0] &= ~0x00000002u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:message.Ground_detect_response_msg.base_info)
}
inline ::message::Base_info* Ground_detect_response_msg::release_base_info() {
  _has_bits_[0] &= ~0x00000002u;
  ::message::Base_info* temp = base_info_;
  base_info_ = nullptr;
  if (GetArena() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
  return temp;
}
inline ::message::Base_info* Ground_detect_response_msg::unsafe_arena_release_base_info() {
  // @@protoc_insertion_point(field_release:message.Ground_detect_response_msg.base_info)
  _has_bits_[0] &= ~0x00000002u;
  ::message::Base_info* temp = base_info_;
  base_info_ = nullptr;
  return temp;
}
inline ::message::Base_info* Ground_detect_response_msg::_internal_mutable_base_info() {
  _has_bits_[0] |= 0x00000002u;
  if (base_info_ == nullptr) {
    auto* p = CreateMaybeMessage<::message::Base_info>(GetArena());
    base_info_ = p;
  }
  return base_info_;
}
inline ::message::Base_info* Ground_detect_response_msg::mutable_base_info() {
  // @@protoc_insertion_point(field_mutable:message.Ground_detect_response_msg.base_info)
  return _internal_mutable_base_info();
}
inline void Ground_detect_response_msg::set_allocated_base_info(::message::Base_info* base_info) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(base_info_);
  }
  if (base_info) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(base_info)->GetArena();
    if (message_arena != submessage_arena) {
      base_info = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, base_info, submessage_arena);
    }
    _has_bits_[0] |= 0x00000002u;
  } else {
    _has_bits_[0] &= ~0x00000002u;
  }
  base_info_ = base_info;
  // @@protoc_insertion_point(field_set_allocated:message.Ground_detect_response_msg.base_info)
}

// required string command_key = 2;
inline bool Ground_detect_response_msg::_internal_has_command_key() const {
  bool value = (_has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool Ground_detect_response_msg::has_command_key() const {
  return _internal_has_command_key();
}
inline void Ground_detect_response_msg::clear_command_key() {
  command_key_.ClearToEmpty(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  _has_bits_[0] &= ~0x00000001u;
}
inline const std::string& Ground_detect_response_msg::command_key() const {
  // @@protoc_insertion_point(field_get:message.Ground_detect_response_msg.command_key)
  return _internal_command_key();
}
inline void Ground_detect_response_msg::set_command_key(const std::string& value) {
  _internal_set_command_key(value);
  // @@protoc_insertion_point(field_set:message.Ground_detect_response_msg.command_key)
}
inline std::string* Ground_detect_response_msg::mutable_command_key() {
  // @@protoc_insertion_point(field_mutable:message.Ground_detect_response_msg.command_key)
  return _internal_mutable_command_key();
}
inline const std::string& Ground_detect_response_msg::_internal_command_key() const {
  return command_key_.Get();
}
inline void Ground_detect_response_msg::_internal_set_command_key(const std::string& value) {
  _has_bits_[0] |= 0x00000001u;
  command_key_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value, GetArena());
}
inline void Ground_detect_response_msg::set_command_key(std::string&& value) {
  _has_bits_[0] |= 0x00000001u;
  command_key_.Set(
    &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value), GetArena());
  // @@protoc_insertion_point(field_set_rvalue:message.Ground_detect_response_msg.command_key)
}
inline void Ground_detect_response_msg::set_command_key(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  _has_bits_[0] |= 0x00000001u;
  command_key_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value),
              GetArena());
  // @@protoc_insertion_point(field_set_char:message.Ground_detect_response_msg.command_key)
}
inline void Ground_detect_response_msg::set_command_key(const char* value,
    size_t size) {
  _has_bits_[0] |= 0x00000001u;
  command_key_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(
      reinterpret_cast<const char*>(value), size), GetArena());
  // @@protoc_insertion_point(field_set_pointer:message.Ground_detect_response_msg.command_key)
}
inline std::string* Ground_detect_response_msg::_internal_mutable_command_key() {
  _has_bits_[0] |= 0x00000001u;
  return command_key_.Mutable(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
}
inline std::string* Ground_detect_response_msg::release_command_key() {
  // @@protoc_insertion_point(field_release:message.Ground_detect_response_msg.command_key)
  if (!_internal_has_command_key()) {
    return nullptr;
  }
  _has_bits_[0] &= ~0x00000001u;
  return command_key_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
}
inline void Ground_detect_response_msg::set_allocated_command_key(std::string* command_key) {
  if (command_key != nullptr) {
    _has_bits_[0] |= 0x00000001u;
  } else {
    _has_bits_[0] &= ~0x00000001u;
  }
  command_key_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), command_key,
      GetArena());
  // @@protoc_insertion_point(field_set_allocated:message.Ground_detect_response_msg.command_key)
}

// required .message.Id_struct id_struct = 3;
inline bool Ground_detect_response_msg::_internal_has_id_struct() const {
  bool value = (_has_bits_[0] & 0x00000004u) != 0;
  PROTOBUF_ASSUME(!value || id_struct_ != nullptr);
  return value;
}
inline bool Ground_detect_response_msg::has_id_struct() const {
  return _internal_has_id_struct();
}
inline const ::message::Id_struct& Ground_detect_response_msg::_internal_id_struct() const {
  const ::message::Id_struct* p = id_struct_;
  return p != nullptr ? *p : *reinterpret_cast<const ::message::Id_struct*>(
      &::message::_Id_struct_default_instance_);
}
inline const ::message::Id_struct& Ground_detect_response_msg::id_struct() const {
  // @@protoc_insertion_point(field_get:message.Ground_detect_response_msg.id_struct)
  return _internal_id_struct();
}
inline void Ground_detect_response_msg::unsafe_arena_set_allocated_id_struct(
    ::message::Id_struct* id_struct) {
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(id_struct_);
  }
  id_struct_ = id_struct;
  if (id_struct) {
    _has_bits_[0] |= 0x00000004u;
  } else {
    _has_bits_[0] &= ~0x00000004u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:message.Ground_detect_response_msg.id_struct)
}
inline ::message::Id_struct* Ground_detect_response_msg::release_id_struct() {
  _has_bits_[0] &= ~0x00000004u;
  ::message::Id_struct* temp = id_struct_;
  id_struct_ = nullptr;
  if (GetArena() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
  return temp;
}
inline ::message::Id_struct* Ground_detect_response_msg::unsafe_arena_release_id_struct() {
  // @@protoc_insertion_point(field_release:message.Ground_detect_response_msg.id_struct)
  _has_bits_[0] &= ~0x00000004u;
  ::message::Id_struct* temp = id_struct_;
  id_struct_ = nullptr;
  return temp;
}
inline ::message::Id_struct* Ground_detect_response_msg::_internal_mutable_id_struct() {
  _has_bits_[0] |= 0x00000004u;
  if (id_struct_ == nullptr) {
    auto* p = CreateMaybeMessage<::message::Id_struct>(GetArena());
    id_struct_ = p;
  }
  return id_struct_;
}
inline ::message::Id_struct* Ground_detect_response_msg::mutable_id_struct() {
  // @@protoc_insertion_point(field_mutable:message.Ground_detect_response_msg.id_struct)
  return _internal_mutable_id_struct();
}
inline void Ground_detect_response_msg::set_allocated_id_struct(::message::Id_struct* id_struct) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(id_struct_);
  }
  if (id_struct) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(id_struct)->GetArena();
    if (message_arena != submessage_arena) {
      id_struct = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, id_struct, submessage_arena);
    }
    _has_bits_[0] |= 0x00000004u;
  } else {
    _has_bits_[0] &= ~0x00000004u;
  }
  id_struct_ = id_struct;
  // @@protoc_insertion_point(field_set_allocated:message.Ground_detect_response_msg.id_struct)
}

// optional .message.Locate_information locate_information = 4;
inline bool Ground_detect_response_msg::_internal_has_locate_information() const {
  bool value = (_has_bits_[0] & 0x00000008u) != 0;
  PROTOBUF_ASSUME(!value || locate_information_ != nullptr);
  return value;
}
inline bool Ground_detect_response_msg::has_locate_information() const {
  return _internal_has_locate_information();
}
inline const ::message::Locate_information& Ground_detect_response_msg::_internal_locate_information() const {
  const ::message::Locate_information* p = locate_information_;
  return p != nullptr ? *p : *reinterpret_cast<const ::message::Locate_information*>(
      &::message::_Locate_information_default_instance_);
}
inline const ::message::Locate_information& Ground_detect_response_msg::locate_information() const {
  // @@protoc_insertion_point(field_get:message.Ground_detect_response_msg.locate_information)
  return _internal_locate_information();
}
inline void Ground_detect_response_msg::unsafe_arena_set_allocated_locate_information(
    ::message::Locate_information* locate_information) {
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(locate_information_);
  }
  locate_information_ = locate_information;
  if (locate_information) {
    _has_bits_[0] |= 0x00000008u;
  } else {
    _has_bits_[0] &= ~0x00000008u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:message.Ground_detect_response_msg.locate_information)
}
inline ::message::Locate_information* Ground_detect_response_msg::release_locate_information() {
  _has_bits_[0] &= ~0x00000008u;
  ::message::Locate_information* temp = locate_information_;
  locate_information_ = nullptr;
  if (GetArena() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
  return temp;
}
inline ::message::Locate_information* Ground_detect_response_msg::unsafe_arena_release_locate_information() {
  // @@protoc_insertion_point(field_release:message.Ground_detect_response_msg.locate_information)
  _has_bits_[0] &= ~0x00000008u;
  ::message::Locate_information* temp = locate_information_;
  locate_information_ = nullptr;
  return temp;
}
inline ::message::Locate_information* Ground_detect_response_msg::_internal_mutable_locate_information() {
  _has_bits_[0] |= 0x00000008u;
  if (locate_information_ == nullptr) {
    auto* p = CreateMaybeMessage<::message::Locate_information>(GetArena());
    locate_information_ = p;
  }
  return locate_information_;
}
inline ::message::Locate_information* Ground_detect_response_msg::mutable_locate_information() {
  // @@protoc_insertion_point(field_mutable:message.Ground_detect_response_msg.locate_information)
  return _internal_mutable_locate_information();
}
inline void Ground_detect_response_msg::set_allocated_locate_information(::message::Locate_information* locate_information) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(locate_information_);
  }
  if (locate_information) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(locate_information)->GetArena();
    if (message_arena != submessage_arena) {
      locate_information = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, locate_information, submessage_arena);
    }
    _has_bits_[0] |= 0x00000008u;
  } else {
    _has_bits_[0] &= ~0x00000008u;
  }
  locate_information_ = locate_information;
  // @@protoc_insertion_point(field_set_allocated:message.Ground_detect_response_msg.locate_information)
}

// required .message.Error_manager error_manager = 5;
inline bool Ground_detect_response_msg::_internal_has_error_manager() const {
  bool value = (_has_bits_[0] & 0x00000010u) != 0;
  PROTOBUF_ASSUME(!value || error_manager_ != nullptr);
  return value;
}
inline bool Ground_detect_response_msg::has_error_manager() const {
  return _internal_has_error_manager();
}
inline const ::message::Error_manager& Ground_detect_response_msg::_internal_error_manager() const {
  const ::message::Error_manager* p = error_manager_;
  return p != nullptr ? *p : *reinterpret_cast<const ::message::Error_manager*>(
      &::message::_Error_manager_default_instance_);
}
inline const ::message::Error_manager& Ground_detect_response_msg::error_manager() const {
  // @@protoc_insertion_point(field_get:message.Ground_detect_response_msg.error_manager)
  return _internal_error_manager();
}
inline void Ground_detect_response_msg::unsafe_arena_set_allocated_error_manager(
    ::message::Error_manager* error_manager) {
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(error_manager_);
  }
  error_manager_ = error_manager;
  if (error_manager) {
    _has_bits_[0] |= 0x00000010u;
  } else {
    _has_bits_[0] &= ~0x00000010u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:message.Ground_detect_response_msg.error_manager)
}
inline ::message::Error_manager* Ground_detect_response_msg::release_error_manager() {
  _has_bits_[0] &= ~0x00000010u;
  ::message::Error_manager* temp = error_manager_;
  error_manager_ = nullptr;
  if (GetArena() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
  return temp;
}
inline ::message::Error_manager* Ground_detect_response_msg::unsafe_arena_release_error_manager() {
  // @@protoc_insertion_point(field_release:message.Ground_detect_response_msg.error_manager)
  _has_bits_[0] &= ~0x00000010u;
  ::message::Error_manager* temp = error_manager_;
  error_manager_ = nullptr;
  return temp;
}
inline ::message::Error_manager* Ground_detect_response_msg::_internal_mutable_error_manager() {
  _has_bits_[0] |= 0x00000010u;
  if (error_manager_ == nullptr) {
    auto* p = CreateMaybeMessage<::message::Error_manager>(GetArena());
    error_manager_ = p;
  }
  return error_manager_;
}
inline ::message::Error_manager* Ground_detect_response_msg::mutable_error_manager() {
  // @@protoc_insertion_point(field_mutable:message.Ground_detect_response_msg.error_manager)
  return _internal_mutable_error_manager();
}
inline void Ground_detect_response_msg::set_allocated_error_manager(::message::Error_manager* error_manager) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(error_manager_);
  }
  if (error_manager) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(error_manager)->GetArena();
    if (message_arena != submessage_arena) {
      error_manager = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, error_manager, submessage_arena);
    }
    _has_bits_[0] |= 0x00000010u;
  } else {
    _has_bits_[0] &= ~0x00000010u;
  }
  error_manager_ = error_manager;
  // @@protoc_insertion_point(field_set_allocated:message.Ground_detect_response_msg.error_manager)
}

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

// Ground_status_msg

// required .message.Base_info base_info = 1;
inline bool Ground_status_msg::_internal_has_base_info() const {
  bool value = (_has_bits_[0] & 0x00000001u) != 0;
  PROTOBUF_ASSUME(!value || base_info_ != nullptr);
  return value;
}
inline bool Ground_status_msg::has_base_info() const {
  return _internal_has_base_info();
}
inline const ::message::Base_info& Ground_status_msg::_internal_base_info() const {
  const ::message::Base_info* p = base_info_;
  return p != nullptr ? *p : *reinterpret_cast<const ::message::Base_info*>(
      &::message::_Base_info_default_instance_);
}
inline const ::message::Base_info& Ground_status_msg::base_info() const {
  // @@protoc_insertion_point(field_get:message.Ground_status_msg.base_info)
  return _internal_base_info();
}
inline void Ground_status_msg::unsafe_arena_set_allocated_base_info(
    ::message::Base_info* base_info) {
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(base_info_);
  }
  base_info_ = base_info;
  if (base_info) {
    _has_bits_[0] |= 0x00000001u;
  } else {
    _has_bits_[0] &= ~0x00000001u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:message.Ground_status_msg.base_info)
}
inline ::message::Base_info* Ground_status_msg::release_base_info() {
  _has_bits_[0] &= ~0x00000001u;
  ::message::Base_info* temp = base_info_;
  base_info_ = nullptr;
  if (GetArena() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
  return temp;
}
inline ::message::Base_info* Ground_status_msg::unsafe_arena_release_base_info() {
  // @@protoc_insertion_point(field_release:message.Ground_status_msg.base_info)
  _has_bits_[0] &= ~0x00000001u;
  ::message::Base_info* temp = base_info_;
  base_info_ = nullptr;
  return temp;
}
inline ::message::Base_info* Ground_status_msg::_internal_mutable_base_info() {
  _has_bits_[0] |= 0x00000001u;
  if (base_info_ == nullptr) {
    auto* p = CreateMaybeMessage<::message::Base_info>(GetArena());
    base_info_ = p;
  }
  return base_info_;
}
inline ::message::Base_info* Ground_status_msg::mutable_base_info() {
  // @@protoc_insertion_point(field_mutable:message.Ground_status_msg.base_info)
  return _internal_mutable_base_info();
}
inline void Ground_status_msg::set_allocated_base_info(::message::Base_info* base_info) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(base_info_);
  }
  if (base_info) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(base_info)->GetArena();
    if (message_arena != submessage_arena) {
      base_info = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, base_info, submessage_arena);
    }
    _has_bits_[0] |= 0x00000001u;
  } else {
    _has_bits_[0] &= ~0x00000001u;
  }
  base_info_ = base_info;
  // @@protoc_insertion_point(field_set_allocated:message.Ground_status_msg.base_info)
}

// required .message.Id_struct id_struct = 2;
inline bool Ground_status_msg::_internal_has_id_struct() const {
  bool value = (_has_bits_[0] & 0x00000002u) != 0;
  PROTOBUF_ASSUME(!value || id_struct_ != nullptr);
  return value;
}
inline bool Ground_status_msg::has_id_struct() const {
  return _internal_has_id_struct();
}
inline const ::message::Id_struct& Ground_status_msg::_internal_id_struct() const {
  const ::message::Id_struct* p = id_struct_;
  return p != nullptr ? *p : *reinterpret_cast<const ::message::Id_struct*>(
      &::message::_Id_struct_default_instance_);
}
inline const ::message::Id_struct& Ground_status_msg::id_struct() const {
  // @@protoc_insertion_point(field_get:message.Ground_status_msg.id_struct)
  return _internal_id_struct();
}
inline void Ground_status_msg::unsafe_arena_set_allocated_id_struct(
    ::message::Id_struct* id_struct) {
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(id_struct_);
  }
  id_struct_ = id_struct;
  if (id_struct) {
    _has_bits_[0] |= 0x00000002u;
  } else {
    _has_bits_[0] &= ~0x00000002u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:message.Ground_status_msg.id_struct)
}
inline ::message::Id_struct* Ground_status_msg::release_id_struct() {
  _has_bits_[0] &= ~0x00000002u;
  ::message::Id_struct* temp = id_struct_;
  id_struct_ = nullptr;
  if (GetArena() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
  return temp;
}
inline ::message::Id_struct* Ground_status_msg::unsafe_arena_release_id_struct() {
  // @@protoc_insertion_point(field_release:message.Ground_status_msg.id_struct)
  _has_bits_[0] &= ~0x00000002u;
  ::message::Id_struct* temp = id_struct_;
  id_struct_ = nullptr;
  return temp;
}
inline ::message::Id_struct* Ground_status_msg::_internal_mutable_id_struct() {
  _has_bits_[0] |= 0x00000002u;
  if (id_struct_ == nullptr) {
    auto* p = CreateMaybeMessage<::message::Id_struct>(GetArena());
    id_struct_ = p;
  }
  return id_struct_;
}
inline ::message::Id_struct* Ground_status_msg::mutable_id_struct() {
  // @@protoc_insertion_point(field_mutable:message.Ground_status_msg.id_struct)
  return _internal_mutable_id_struct();
}
inline void Ground_status_msg::set_allocated_id_struct(::message::Id_struct* id_struct) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(id_struct_);
  }
  if (id_struct) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(id_struct)->GetArena();
    if (message_arena != submessage_arena) {
      id_struct = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, id_struct, submessage_arena);
    }
    _has_bits_[0] |= 0x00000002u;
  } else {
    _has_bits_[0] &= ~0x00000002u;
  }
  id_struct_ = id_struct;
  // @@protoc_insertion_point(field_set_allocated:message.Ground_status_msg.id_struct)
}

// required .message.Wanji_manager_status wanji_manager_status = 3;
inline bool Ground_status_msg::_internal_has_wanji_manager_status() const {
  bool value = (_has_bits_[0] & 0x00000010u) != 0;
  return value;
}
inline bool Ground_status_msg::has_wanji_manager_status() const {
  return _internal_has_wanji_manager_status();
}
inline void Ground_status_msg::clear_wanji_manager_status() {
  wanji_manager_status_ = 0;
  _has_bits_[0] &= ~0x00000010u;
}
inline ::message::Wanji_manager_status Ground_status_msg::_internal_wanji_manager_status() const {
  return static_cast< ::message::Wanji_manager_status >(wanji_manager_status_);
}
inline ::message::Wanji_manager_status Ground_status_msg::wanji_manager_status() const {
  // @@protoc_insertion_point(field_get:message.Ground_status_msg.wanji_manager_status)
  return _internal_wanji_manager_status();
}
inline void Ground_status_msg::_internal_set_wanji_manager_status(::message::Wanji_manager_status value) {
  assert(::message::Wanji_manager_status_IsValid(value));
  _has_bits_[0] |= 0x00000010u;
  wanji_manager_status_ = value;
}
inline void Ground_status_msg::set_wanji_manager_status(::message::Wanji_manager_status value) {
  _internal_set_wanji_manager_status(value);
  // @@protoc_insertion_point(field_set:message.Ground_status_msg.wanji_manager_status)
}

// repeated .message.Wanji_lidar_device_status wanji_lidar_device_status = 4;
inline int Ground_status_msg::_internal_wanji_lidar_device_status_size() const {
  return wanji_lidar_device_status_.size();
}
inline int Ground_status_msg::wanji_lidar_device_status_size() const {
  return _internal_wanji_lidar_device_status_size();
}
inline void Ground_status_msg::clear_wanji_lidar_device_status() {
  wanji_lidar_device_status_.Clear();
}
inline ::message::Wanji_lidar_device_status Ground_status_msg::_internal_wanji_lidar_device_status(int index) const {
  return static_cast< ::message::Wanji_lidar_device_status >(wanji_lidar_device_status_.Get(index));
}
inline ::message::Wanji_lidar_device_status Ground_status_msg::wanji_lidar_device_status(int index) const {
  // @@protoc_insertion_point(field_get:message.Ground_status_msg.wanji_lidar_device_status)
  return _internal_wanji_lidar_device_status(index);
}
inline void Ground_status_msg::set_wanji_lidar_device_status(int index, ::message::Wanji_lidar_device_status value) {
  assert(::message::Wanji_lidar_device_status_IsValid(value));
  wanji_lidar_device_status_.Set(index, value);
  // @@protoc_insertion_point(field_set:message.Ground_status_msg.wanji_lidar_device_status)
}
inline void Ground_status_msg::_internal_add_wanji_lidar_device_status(::message::Wanji_lidar_device_status value) {
  assert(::message::Wanji_lidar_device_status_IsValid(value));
  wanji_lidar_device_status_.Add(value);
}
inline void Ground_status_msg::add_wanji_lidar_device_status(::message::Wanji_lidar_device_status value) {
  // @@protoc_insertion_point(field_add:message.Ground_status_msg.wanji_lidar_device_status)
  _internal_add_wanji_lidar_device_status(value);
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>&
Ground_status_msg::wanji_lidar_device_status() const {
  // @@protoc_insertion_point(field_list:message.Ground_status_msg.wanji_lidar_device_status)
  return wanji_lidar_device_status_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>*
Ground_status_msg::_internal_mutable_wanji_lidar_device_status() {
  return &wanji_lidar_device_status_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>*
Ground_status_msg::mutable_wanji_lidar_device_status() {
  // @@protoc_insertion_point(field_mutable_list:message.Ground_status_msg.wanji_lidar_device_status)
  return _internal_mutable_wanji_lidar_device_status();
}

// required .message.Region_worker_status region_worker_status = 5;
inline bool Ground_status_msg::_internal_has_region_worker_status() const {
  bool value = (_has_bits_[0] & 0x00000020u) != 0;
  return value;
}
inline bool Ground_status_msg::has_region_worker_status() const {
  return _internal_has_region_worker_status();
}
inline void Ground_status_msg::clear_region_worker_status() {
  region_worker_status_ = 0;
  _has_bits_[0] &= ~0x00000020u;
}
inline ::message::Region_worker_status Ground_status_msg::_internal_region_worker_status() const {
  return static_cast< ::message::Region_worker_status >(region_worker_status_);
}
inline ::message::Region_worker_status Ground_status_msg::region_worker_status() const {
  // @@protoc_insertion_point(field_get:message.Ground_status_msg.region_worker_status)
  return _internal_region_worker_status();
}
inline void Ground_status_msg::_internal_set_region_worker_status(::message::Region_worker_status value) {
  assert(::message::Region_worker_status_IsValid(value));
  _has_bits_[0] |= 0x00000020u;
  region_worker_status_ = value;
}
inline void Ground_status_msg::set_region_worker_status(::message::Region_worker_status value) {
  _internal_set_region_worker_status(value);
  // @@protoc_insertion_point(field_set:message.Ground_status_msg.region_worker_status)
}

// required .message.Locate_information locate_information_realtime = 6;
inline bool Ground_status_msg::_internal_has_locate_information_realtime() const {
  bool value = (_has_bits_[0] & 0x00000004u) != 0;
  PROTOBUF_ASSUME(!value || locate_information_realtime_ != nullptr);
  return value;
}
inline bool Ground_status_msg::has_locate_information_realtime() const {
  return _internal_has_locate_information_realtime();
}
inline const ::message::Locate_information& Ground_status_msg::_internal_locate_information_realtime() const {
  const ::message::Locate_information* p = locate_information_realtime_;
  return p != nullptr ? *p : *reinterpret_cast<const ::message::Locate_information*>(
      &::message::_Locate_information_default_instance_);
}
inline const ::message::Locate_information& Ground_status_msg::locate_information_realtime() const {
  // @@protoc_insertion_point(field_get:message.Ground_status_msg.locate_information_realtime)
  return _internal_locate_information_realtime();
}
inline void Ground_status_msg::unsafe_arena_set_allocated_locate_information_realtime(
    ::message::Locate_information* locate_information_realtime) {
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(locate_information_realtime_);
  }
  locate_information_realtime_ = locate_information_realtime;
  if (locate_information_realtime) {
    _has_bits_[0] |= 0x00000004u;
  } else {
    _has_bits_[0] &= ~0x00000004u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:message.Ground_status_msg.locate_information_realtime)
}
inline ::message::Locate_information* Ground_status_msg::release_locate_information_realtime() {
  _has_bits_[0] &= ~0x00000004u;
  ::message::Locate_information* temp = locate_information_realtime_;
  locate_information_realtime_ = nullptr;
  if (GetArena() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
  return temp;
}
inline ::message::Locate_information* Ground_status_msg::unsafe_arena_release_locate_information_realtime() {
  // @@protoc_insertion_point(field_release:message.Ground_status_msg.locate_information_realtime)
  _has_bits_[0] &= ~0x00000004u;
  ::message::Locate_information* temp = locate_information_realtime_;
  locate_information_realtime_ = nullptr;
  return temp;
}
inline ::message::Locate_information* Ground_status_msg::_internal_mutable_locate_information_realtime() {
  _has_bits_[0] |= 0x00000004u;
  if (locate_information_realtime_ == nullptr) {
    auto* p = CreateMaybeMessage<::message::Locate_information>(GetArena());
    locate_information_realtime_ = p;
  }
  return locate_information_realtime_;
}
inline ::message::Locate_information* Ground_status_msg::mutable_locate_information_realtime() {
  // @@protoc_insertion_point(field_mutable:message.Ground_status_msg.locate_information_realtime)
  return _internal_mutable_locate_information_realtime();
}
inline void Ground_status_msg::set_allocated_locate_information_realtime(::message::Locate_information* locate_information_realtime) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(locate_information_realtime_);
  }
  if (locate_information_realtime) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(locate_information_realtime)->GetArena();
    if (message_arena != submessage_arena) {
      locate_information_realtime = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, locate_information_realtime, submessage_arena);
    }
    _has_bits_[0] |= 0x00000004u;
  } else {
    _has_bits_[0] &= ~0x00000004u;
  }
  locate_information_realtime_ = locate_information_realtime;
  // @@protoc_insertion_point(field_set_allocated:message.Ground_status_msg.locate_information_realtime)
}

// required .message.Ground_statu ground_status = 7;
inline bool Ground_status_msg::_internal_has_ground_status() const {
  bool value = (_has_bits_[0] & 0x00000040u) != 0;
  return value;
}
inline bool Ground_status_msg::has_ground_status() const {
  return _internal_has_ground_status();
}
inline void Ground_status_msg::clear_ground_status() {
  ground_status_ = 0;
  _has_bits_[0] &= ~0x00000040u;
}
inline ::message::Ground_statu Ground_status_msg::_internal_ground_status() const {
  return static_cast< ::message::Ground_statu >(ground_status_);
}
inline ::message::Ground_statu Ground_status_msg::ground_status() const {
  // @@protoc_insertion_point(field_get:message.Ground_status_msg.ground_status)
  return _internal_ground_status();
}
inline void Ground_status_msg::_internal_set_ground_status(::message::Ground_statu value) {
  assert(::message::Ground_statu_IsValid(value));
  _has_bits_[0] |= 0x00000040u;
  ground_status_ = value;
}
inline void Ground_status_msg::set_ground_status(::message::Ground_statu value) {
  _internal_set_ground_status(value);
  // @@protoc_insertion_point(field_set:message.Ground_status_msg.ground_status)
}

// required int32 border_status = 8;
inline bool Ground_status_msg::_internal_has_border_status() const {
  bool value = (_has_bits_[0] & 0x00000080u) != 0;
  return value;
}
inline bool Ground_status_msg::has_border_status() const {
  return _internal_has_border_status();
}
inline void Ground_status_msg::clear_border_status() {
  border_status_ = 0;
  _has_bits_[0] &= ~0x00000080u;
}
inline ::PROTOBUF_NAMESPACE_ID::int32 Ground_status_msg::_internal_border_status() const {
  return border_status_;
}
inline ::PROTOBUF_NAMESPACE_ID::int32 Ground_status_msg::border_status() const {
  // @@protoc_insertion_point(field_get:message.Ground_status_msg.border_status)
  return _internal_border_status();
}
inline void Ground_status_msg::_internal_set_border_status(::PROTOBUF_NAMESPACE_ID::int32 value) {
  _has_bits_[0] |= 0x00000080u;
  border_status_ = value;
}
inline void Ground_status_msg::set_border_status(::PROTOBUF_NAMESPACE_ID::int32 value) {
  _internal_set_border_status(value);
  // @@protoc_insertion_point(field_set:message.Ground_status_msg.border_status)
}

// required .message.Error_manager error_manager = 9;
inline bool Ground_status_msg::_internal_has_error_manager() const {
  bool value = (_has_bits_[0] & 0x00000008u) != 0;
  PROTOBUF_ASSUME(!value || error_manager_ != nullptr);
  return value;
}
inline bool Ground_status_msg::has_error_manager() const {
  return _internal_has_error_manager();
}
inline const ::message::Error_manager& Ground_status_msg::_internal_error_manager() const {
  const ::message::Error_manager* p = error_manager_;
  return p != nullptr ? *p : *reinterpret_cast<const ::message::Error_manager*>(
      &::message::_Error_manager_default_instance_);
}
inline const ::message::Error_manager& Ground_status_msg::error_manager() const {
  // @@protoc_insertion_point(field_get:message.Ground_status_msg.error_manager)
  return _internal_error_manager();
}
inline void Ground_status_msg::unsafe_arena_set_allocated_error_manager(
    ::message::Error_manager* error_manager) {
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(error_manager_);
  }
  error_manager_ = error_manager;
  if (error_manager) {
    _has_bits_[0] |= 0x00000008u;
  } else {
    _has_bits_[0] &= ~0x00000008u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:message.Ground_status_msg.error_manager)
}
inline ::message::Error_manager* Ground_status_msg::release_error_manager() {
  _has_bits_[0] &= ~0x00000008u;
  ::message::Error_manager* temp = error_manager_;
  error_manager_ = nullptr;
  if (GetArena() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
  return temp;
}
inline ::message::Error_manager* Ground_status_msg::unsafe_arena_release_error_manager() {
  // @@protoc_insertion_point(field_release:message.Ground_status_msg.error_manager)
  _has_bits_[0] &= ~0x00000008u;
  ::message::Error_manager* temp = error_manager_;
  error_manager_ = nullptr;
  return temp;
}
inline ::message::Error_manager* Ground_status_msg::_internal_mutable_error_manager() {
  _has_bits_[0] |= 0x00000008u;
  if (error_manager_ == nullptr) {
    auto* p = CreateMaybeMessage<::message::Error_manager>(GetArena());
    error_manager_ = p;
  }
  return error_manager_;
}
inline ::message::Error_manager* Ground_status_msg::mutable_error_manager() {
  // @@protoc_insertion_point(field_mutable:message.Ground_status_msg.error_manager)
  return _internal_mutable_error_manager();
}
inline void Ground_status_msg::set_allocated_error_manager(::message::Error_manager* error_manager) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(error_manager_);
  }
  if (error_manager) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(error_manager)->GetArena();
    if (message_arena != submessage_arena) {
      error_manager = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, error_manager, submessage_arena);
    }
    _has_bits_[0] |= 0x00000008u;
  } else {
    _has_bits_[0] &= ~0x00000008u;
  }
  error_manager_ = error_manager;
  // @@protoc_insertion_point(field_set_allocated:message.Ground_status_msg.error_manager)
}

// repeated .message.Cloud_coordinate cloud = 10;
inline int Ground_status_msg::_internal_cloud_size() const {
  return cloud_.size();
}
inline int Ground_status_msg::cloud_size() const {
  return _internal_cloud_size();
}
inline void Ground_status_msg::clear_cloud() {
  cloud_.Clear();
}
inline ::message::Cloud_coordinate* Ground_status_msg::mutable_cloud(int index) {
  // @@protoc_insertion_point(field_mutable:message.Ground_status_msg.cloud)
  return cloud_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::message::Cloud_coordinate >*
Ground_status_msg::mutable_cloud() {
  // @@protoc_insertion_point(field_mutable_list:message.Ground_status_msg.cloud)
  return &cloud_;
}
inline const ::message::Cloud_coordinate& Ground_status_msg::_internal_cloud(int index) const {
  return cloud_.Get(index);
}
inline const ::message::Cloud_coordinate& Ground_status_msg::cloud(int index) const {
  // @@protoc_insertion_point(field_get:message.Ground_status_msg.cloud)
  return _internal_cloud(index);
}
inline ::message::Cloud_coordinate* Ground_status_msg::_internal_add_cloud() {
  return cloud_.Add();
}
inline ::message::Cloud_coordinate* Ground_status_msg::add_cloud() {
  // @@protoc_insertion_point(field_add:message.Ground_status_msg.cloud)
  return _internal_add_cloud();
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::message::Cloud_coordinate >&
Ground_status_msg::cloud() const {
  // @@protoc_insertion_point(field_list:message.Ground_status_msg.cloud)
  return cloud_;
}

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

// Cloud_coordinate

// required float x = 1;
inline bool Cloud_coordinate::_internal_has_x() const {
  bool value = (_has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool Cloud_coordinate::has_x() const {
  return _internal_has_x();
}
inline void Cloud_coordinate::clear_x() {
  x_ = 0;
  _has_bits_[0] &= ~0x00000001u;
}
inline float Cloud_coordinate::_internal_x() const {
  return x_;
}
inline float Cloud_coordinate::x() const {
  // @@protoc_insertion_point(field_get:message.Cloud_coordinate.x)
  return _internal_x();
}
inline void Cloud_coordinate::_internal_set_x(float value) {
  _has_bits_[0] |= 0x00000001u;
  x_ = value;
}
inline void Cloud_coordinate::set_x(float value) {
  _internal_set_x(value);
  // @@protoc_insertion_point(field_set:message.Cloud_coordinate.x)
}

// required float y = 2;
inline bool Cloud_coordinate::_internal_has_y() const {
  bool value = (_has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool Cloud_coordinate::has_y() const {
  return _internal_has_y();
}
inline void Cloud_coordinate::clear_y() {
  y_ = 0;
  _has_bits_[0] &= ~0x00000002u;
}
inline float Cloud_coordinate::_internal_y() const {
  return y_;
}
inline float Cloud_coordinate::y() const {
  // @@protoc_insertion_point(field_get:message.Cloud_coordinate.y)
  return _internal_y();
}
inline void Cloud_coordinate::_internal_set_y(float value) {
  _has_bits_[0] |= 0x00000002u;
  y_ = value;
}
inline void Cloud_coordinate::set_y(float value) {
  _internal_set_y(value);
  // @@protoc_insertion_point(field_set:message.Cloud_coordinate.y)
}

// required float z = 3;
inline bool Cloud_coordinate::_internal_has_z() const {
  bool value = (_has_bits_[0] & 0x00000004u) != 0;
  return value;
}
inline bool Cloud_coordinate::has_z() const {
  return _internal_has_z();
}
inline void Cloud_coordinate::clear_z() {
  z_ = 0;
  _has_bits_[0] &= ~0x00000004u;
}
inline float Cloud_coordinate::_internal_z() const {
  return z_;
}
inline float Cloud_coordinate::z() const {
  // @@protoc_insertion_point(field_get:message.Cloud_coordinate.z)
  return _internal_z();
}
inline void Cloud_coordinate::_internal_set_z(float value) {
  _has_bits_[0] |= 0x00000004u;
  z_ = value;
}
inline void Cloud_coordinate::set_z(float value) {
  _internal_set_z(value);
  // @@protoc_insertion_point(field_set:message.Cloud_coordinate.z)
}

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

// Cloud_type

// required int32 type = 1;
inline bool Cloud_type::_internal_has_type() const {
  bool value = (_has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool Cloud_type::has_type() const {
  return _internal_has_type();
}
inline void Cloud_type::clear_type() {
  type_ = 0;
  _has_bits_[0] &= ~0x00000001u;
}
inline ::PROTOBUF_NAMESPACE_ID::int32 Cloud_type::_internal_type() const {
  return type_;
}
inline ::PROTOBUF_NAMESPACE_ID::int32 Cloud_type::type() const {
  // @@protoc_insertion_point(field_get:message.Cloud_type.type)
  return _internal_type();
}
inline void Cloud_type::_internal_set_type(::PROTOBUF_NAMESPACE_ID::int32 value) {
  _has_bits_[0] |= 0x00000001u;
  type_ = value;
}
inline void Cloud_type::set_type(::PROTOBUF_NAMESPACE_ID::int32 value) {
  _internal_set_type(value);
  // @@protoc_insertion_point(field_set:message.Cloud_type.type)
}

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

// Locate_sift_request_msg

// required .message.Base_info base_info = 1;
inline bool Locate_sift_request_msg::_internal_has_base_info() const {
  bool value = (_has_bits_[0] & 0x00000002u) != 0;
  PROTOBUF_ASSUME(!value || base_info_ != nullptr);
  return value;
}
inline bool Locate_sift_request_msg::has_base_info() const {
  return _internal_has_base_info();
}
inline const ::message::Base_info& Locate_sift_request_msg::_internal_base_info() const {
  const ::message::Base_info* p = base_info_;
  return p != nullptr ? *p : *reinterpret_cast<const ::message::Base_info*>(
      &::message::_Base_info_default_instance_);
}
inline const ::message::Base_info& Locate_sift_request_msg::base_info() const {
  // @@protoc_insertion_point(field_get:message.Locate_sift_request_msg.base_info)
  return _internal_base_info();
}
inline void Locate_sift_request_msg::unsafe_arena_set_allocated_base_info(
    ::message::Base_info* base_info) {
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(base_info_);
  }
  base_info_ = base_info;
  if (base_info) {
    _has_bits_[0] |= 0x00000002u;
  } else {
    _has_bits_[0] &= ~0x00000002u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:message.Locate_sift_request_msg.base_info)
}
inline ::message::Base_info* Locate_sift_request_msg::release_base_info() {
  _has_bits_[0] &= ~0x00000002u;
  ::message::Base_info* temp = base_info_;
  base_info_ = nullptr;
  if (GetArena() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
  return temp;
}
inline ::message::Base_info* Locate_sift_request_msg::unsafe_arena_release_base_info() {
  // @@protoc_insertion_point(field_release:message.Locate_sift_request_msg.base_info)
  _has_bits_[0] &= ~0x00000002u;
  ::message::Base_info* temp = base_info_;
  base_info_ = nullptr;
  return temp;
}
inline ::message::Base_info* Locate_sift_request_msg::_internal_mutable_base_info() {
  _has_bits_[0] |= 0x00000002u;
  if (base_info_ == nullptr) {
    auto* p = CreateMaybeMessage<::message::Base_info>(GetArena());
    base_info_ = p;
  }
  return base_info_;
}
inline ::message::Base_info* Locate_sift_request_msg::mutable_base_info() {
  // @@protoc_insertion_point(field_mutable:message.Locate_sift_request_msg.base_info)
  return _internal_mutable_base_info();
}
inline void Locate_sift_request_msg::set_allocated_base_info(::message::Base_info* base_info) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(base_info_);
  }
  if (base_info) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(base_info)->GetArena();
    if (message_arena != submessage_arena) {
      base_info = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, base_info, submessage_arena);
    }
    _has_bits_[0] |= 0x00000002u;
  } else {
    _has_bits_[0] &= ~0x00000002u;
  }
  base_info_ = base_info;
  // @@protoc_insertion_point(field_set_allocated:message.Locate_sift_request_msg.base_info)
}

// required string command_key = 2;
inline bool Locate_sift_request_msg::_internal_has_command_key() const {
  bool value = (_has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool Locate_sift_request_msg::has_command_key() const {
  return _internal_has_command_key();
}
inline void Locate_sift_request_msg::clear_command_key() {
  command_key_.ClearToEmpty(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  _has_bits_[0] &= ~0x00000001u;
}
inline const std::string& Locate_sift_request_msg::command_key() const {
  // @@protoc_insertion_point(field_get:message.Locate_sift_request_msg.command_key)
  return _internal_command_key();
}
inline void Locate_sift_request_msg::set_command_key(const std::string& value) {
  _internal_set_command_key(value);
  // @@protoc_insertion_point(field_set:message.Locate_sift_request_msg.command_key)
}
inline std::string* Locate_sift_request_msg::mutable_command_key() {
  // @@protoc_insertion_point(field_mutable:message.Locate_sift_request_msg.command_key)
  return _internal_mutable_command_key();
}
inline const std::string& Locate_sift_request_msg::_internal_command_key() const {
  return command_key_.Get();
}
inline void Locate_sift_request_msg::_internal_set_command_key(const std::string& value) {
  _has_bits_[0] |= 0x00000001u;
  command_key_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value, GetArena());
}
inline void Locate_sift_request_msg::set_command_key(std::string&& value) {
  _has_bits_[0] |= 0x00000001u;
  command_key_.Set(
    &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value), GetArena());
  // @@protoc_insertion_point(field_set_rvalue:message.Locate_sift_request_msg.command_key)
}
inline void Locate_sift_request_msg::set_command_key(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  _has_bits_[0] |= 0x00000001u;
  command_key_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value),
              GetArena());
  // @@protoc_insertion_point(field_set_char:message.Locate_sift_request_msg.command_key)
}
inline void Locate_sift_request_msg::set_command_key(const char* value,
    size_t size) {
  _has_bits_[0] |= 0x00000001u;
  command_key_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(
      reinterpret_cast<const char*>(value), size), GetArena());
  // @@protoc_insertion_point(field_set_pointer:message.Locate_sift_request_msg.command_key)
}
inline std::string* Locate_sift_request_msg::_internal_mutable_command_key() {
  _has_bits_[0] |= 0x00000001u;
  return command_key_.Mutable(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
}
inline std::string* Locate_sift_request_msg::release_command_key() {
  // @@protoc_insertion_point(field_release:message.Locate_sift_request_msg.command_key)
  if (!_internal_has_command_key()) {
    return nullptr;
  }
  _has_bits_[0] &= ~0x00000001u;
  return command_key_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
}
inline void Locate_sift_request_msg::set_allocated_command_key(std::string* command_key) {
  if (command_key != nullptr) {
    _has_bits_[0] |= 0x00000001u;
  } else {
    _has_bits_[0] &= ~0x00000001u;
  }
  command_key_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), command_key,
      GetArena());
  // @@protoc_insertion_point(field_set_allocated:message.Locate_sift_request_msg.command_key)
}

// required .message.Id_struct id_struct = 3;
inline bool Locate_sift_request_msg::_internal_has_id_struct() const {
  bool value = (_has_bits_[0] & 0x00000004u) != 0;
  PROTOBUF_ASSUME(!value || id_struct_ != nullptr);
  return value;
}
inline bool Locate_sift_request_msg::has_id_struct() const {
  return _internal_has_id_struct();
}
inline const ::message::Id_struct& Locate_sift_request_msg::_internal_id_struct() const {
  const ::message::Id_struct* p = id_struct_;
  return p != nullptr ? *p : *reinterpret_cast<const ::message::Id_struct*>(
      &::message::_Id_struct_default_instance_);
}
inline const ::message::Id_struct& Locate_sift_request_msg::id_struct() const {
  // @@protoc_insertion_point(field_get:message.Locate_sift_request_msg.id_struct)
  return _internal_id_struct();
}
inline void Locate_sift_request_msg::unsafe_arena_set_allocated_id_struct(
    ::message::Id_struct* id_struct) {
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(id_struct_);
  }
  id_struct_ = id_struct;
  if (id_struct) {
    _has_bits_[0] |= 0x00000004u;
  } else {
    _has_bits_[0] &= ~0x00000004u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:message.Locate_sift_request_msg.id_struct)
}
inline ::message::Id_struct* Locate_sift_request_msg::release_id_struct() {
  _has_bits_[0] &= ~0x00000004u;
  ::message::Id_struct* temp = id_struct_;
  id_struct_ = nullptr;
  if (GetArena() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
  return temp;
}
inline ::message::Id_struct* Locate_sift_request_msg::unsafe_arena_release_id_struct() {
  // @@protoc_insertion_point(field_release:message.Locate_sift_request_msg.id_struct)
  _has_bits_[0] &= ~0x00000004u;
  ::message::Id_struct* temp = id_struct_;
  id_struct_ = nullptr;
  return temp;
}
inline ::message::Id_struct* Locate_sift_request_msg::_internal_mutable_id_struct() {
  _has_bits_[0] |= 0x00000004u;
  if (id_struct_ == nullptr) {
    auto* p = CreateMaybeMessage<::message::Id_struct>(GetArena());
    id_struct_ = p;
  }
  return id_struct_;
}
inline ::message::Id_struct* Locate_sift_request_msg::mutable_id_struct() {
  // @@protoc_insertion_point(field_mutable:message.Locate_sift_request_msg.id_struct)
  return _internal_mutable_id_struct();
}
inline void Locate_sift_request_msg::set_allocated_id_struct(::message::Id_struct* id_struct) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(id_struct_);
  }
  if (id_struct) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(id_struct)->GetArena();
    if (message_arena != submessage_arena) {
      id_struct = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, id_struct, submessage_arena);
    }
    _has_bits_[0] |= 0x00000004u;
  } else {
    _has_bits_[0] &= ~0x00000004u;
  }
  id_struct_ = id_struct;
  // @@protoc_insertion_point(field_set_allocated:message.Locate_sift_request_msg.id_struct)
}

// required int32 lidar_id = 4;
inline bool Locate_sift_request_msg::_internal_has_lidar_id() const {
  bool value = (_has_bits_[0] & 0x00000008u) != 0;
  return value;
}
inline bool Locate_sift_request_msg::has_lidar_id() const {
  return _internal_has_lidar_id();
}
inline void Locate_sift_request_msg::clear_lidar_id() {
  lidar_id_ = 0;
  _has_bits_[0] &= ~0x00000008u;
}
inline ::PROTOBUF_NAMESPACE_ID::int32 Locate_sift_request_msg::_internal_lidar_id() const {
  return lidar_id_;
}
inline ::PROTOBUF_NAMESPACE_ID::int32 Locate_sift_request_msg::lidar_id() const {
  // @@protoc_insertion_point(field_get:message.Locate_sift_request_msg.lidar_id)
  return _internal_lidar_id();
}
inline void Locate_sift_request_msg::_internal_set_lidar_id(::PROTOBUF_NAMESPACE_ID::int32 value) {
  _has_bits_[0] |= 0x00000008u;
  lidar_id_ = value;
}
inline void Locate_sift_request_msg::set_lidar_id(::PROTOBUF_NAMESPACE_ID::int32 value) {
  _internal_set_lidar_id(value);
  // @@protoc_insertion_point(field_set:message.Locate_sift_request_msg.lidar_id)
}

// repeated .message.Cloud_coordinate cloud_coordinates = 5;
inline int Locate_sift_request_msg::_internal_cloud_coordinates_size() const {
  return cloud_coordinates_.size();
}
inline int Locate_sift_request_msg::cloud_coordinates_size() const {
  return _internal_cloud_coordinates_size();
}
inline void Locate_sift_request_msg::clear_cloud_coordinates() {
  cloud_coordinates_.Clear();
}
inline ::message::Cloud_coordinate* Locate_sift_request_msg::mutable_cloud_coordinates(int index) {
  // @@protoc_insertion_point(field_mutable:message.Locate_sift_request_msg.cloud_coordinates)
  return cloud_coordinates_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::message::Cloud_coordinate >*
Locate_sift_request_msg::mutable_cloud_coordinates() {
  // @@protoc_insertion_point(field_mutable_list:message.Locate_sift_request_msg.cloud_coordinates)
  return &cloud_coordinates_;
}
inline const ::message::Cloud_coordinate& Locate_sift_request_msg::_internal_cloud_coordinates(int index) const {
  return cloud_coordinates_.Get(index);
}
inline const ::message::Cloud_coordinate& Locate_sift_request_msg::cloud_coordinates(int index) const {
  // @@protoc_insertion_point(field_get:message.Locate_sift_request_msg.cloud_coordinates)
  return _internal_cloud_coordinates(index);
}
inline ::message::Cloud_coordinate* Locate_sift_request_msg::_internal_add_cloud_coordinates() {
  return cloud_coordinates_.Add();
}
inline ::message::Cloud_coordinate* Locate_sift_request_msg::add_cloud_coordinates() {
  // @@protoc_insertion_point(field_add:message.Locate_sift_request_msg.cloud_coordinates)
  return _internal_add_cloud_coordinates();
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::message::Cloud_coordinate >&
Locate_sift_request_msg::cloud_coordinates() const {
  // @@protoc_insertion_point(field_list:message.Locate_sift_request_msg.cloud_coordinates)
  return cloud_coordinates_;
}

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

// Locate_sift_response_msg

// required .message.Base_info base_info = 1;
inline bool Locate_sift_response_msg::_internal_has_base_info() const {
  bool value = (_has_bits_[0] & 0x00000002u) != 0;
  PROTOBUF_ASSUME(!value || base_info_ != nullptr);
  return value;
}
inline bool Locate_sift_response_msg::has_base_info() const {
  return _internal_has_base_info();
}
inline const ::message::Base_info& Locate_sift_response_msg::_internal_base_info() const {
  const ::message::Base_info* p = base_info_;
  return p != nullptr ? *p : *reinterpret_cast<const ::message::Base_info*>(
      &::message::_Base_info_default_instance_);
}
inline const ::message::Base_info& Locate_sift_response_msg::base_info() const {
  // @@protoc_insertion_point(field_get:message.Locate_sift_response_msg.base_info)
  return _internal_base_info();
}
inline void Locate_sift_response_msg::unsafe_arena_set_allocated_base_info(
    ::message::Base_info* base_info) {
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(base_info_);
  }
  base_info_ = base_info;
  if (base_info) {
    _has_bits_[0] |= 0x00000002u;
  } else {
    _has_bits_[0] &= ~0x00000002u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:message.Locate_sift_response_msg.base_info)
}
inline ::message::Base_info* Locate_sift_response_msg::release_base_info() {
  _has_bits_[0] &= ~0x00000002u;
  ::message::Base_info* temp = base_info_;
  base_info_ = nullptr;
  if (GetArena() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
  return temp;
}
inline ::message::Base_info* Locate_sift_response_msg::unsafe_arena_release_base_info() {
  // @@protoc_insertion_point(field_release:message.Locate_sift_response_msg.base_info)
  _has_bits_[0] &= ~0x00000002u;
  ::message::Base_info* temp = base_info_;
  base_info_ = nullptr;
  return temp;
}
inline ::message::Base_info* Locate_sift_response_msg::_internal_mutable_base_info() {
  _has_bits_[0] |= 0x00000002u;
  if (base_info_ == nullptr) {
    auto* p = CreateMaybeMessage<::message::Base_info>(GetArena());
    base_info_ = p;
  }
  return base_info_;
}
inline ::message::Base_info* Locate_sift_response_msg::mutable_base_info() {
  // @@protoc_insertion_point(field_mutable:message.Locate_sift_response_msg.base_info)
  return _internal_mutable_base_info();
}
inline void Locate_sift_response_msg::set_allocated_base_info(::message::Base_info* base_info) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(base_info_);
  }
  if (base_info) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(base_info)->GetArena();
    if (message_arena != submessage_arena) {
      base_info = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, base_info, submessage_arena);
    }
    _has_bits_[0] |= 0x00000002u;
  } else {
    _has_bits_[0] &= ~0x00000002u;
  }
  base_info_ = base_info;
  // @@protoc_insertion_point(field_set_allocated:message.Locate_sift_response_msg.base_info)
}

// required string command_key = 2;
inline bool Locate_sift_response_msg::_internal_has_command_key() const {
  bool value = (_has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool Locate_sift_response_msg::has_command_key() const {
  return _internal_has_command_key();
}
inline void Locate_sift_response_msg::clear_command_key() {
  command_key_.ClearToEmpty(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  _has_bits_[0] &= ~0x00000001u;
}
inline const std::string& Locate_sift_response_msg::command_key() const {
  // @@protoc_insertion_point(field_get:message.Locate_sift_response_msg.command_key)
  return _internal_command_key();
}
inline void Locate_sift_response_msg::set_command_key(const std::string& value) {
  _internal_set_command_key(value);
  // @@protoc_insertion_point(field_set:message.Locate_sift_response_msg.command_key)
}
inline std::string* Locate_sift_response_msg::mutable_command_key() {
  // @@protoc_insertion_point(field_mutable:message.Locate_sift_response_msg.command_key)
  return _internal_mutable_command_key();
}
inline const std::string& Locate_sift_response_msg::_internal_command_key() const {
  return command_key_.Get();
}
inline void Locate_sift_response_msg::_internal_set_command_key(const std::string& value) {
  _has_bits_[0] |= 0x00000001u;
  command_key_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value, GetArena());
}
inline void Locate_sift_response_msg::set_command_key(std::string&& value) {
  _has_bits_[0] |= 0x00000001u;
  command_key_.Set(
    &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value), GetArena());
  // @@protoc_insertion_point(field_set_rvalue:message.Locate_sift_response_msg.command_key)
}
inline void Locate_sift_response_msg::set_command_key(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  _has_bits_[0] |= 0x00000001u;
  command_key_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value),
              GetArena());
  // @@protoc_insertion_point(field_set_char:message.Locate_sift_response_msg.command_key)
}
inline void Locate_sift_response_msg::set_command_key(const char* value,
    size_t size) {
  _has_bits_[0] |= 0x00000001u;
  command_key_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(
      reinterpret_cast<const char*>(value), size), GetArena());
  // @@protoc_insertion_point(field_set_pointer:message.Locate_sift_response_msg.command_key)
}
inline std::string* Locate_sift_response_msg::_internal_mutable_command_key() {
  _has_bits_[0] |= 0x00000001u;
  return command_key_.Mutable(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
}
inline std::string* Locate_sift_response_msg::release_command_key() {
  // @@protoc_insertion_point(field_release:message.Locate_sift_response_msg.command_key)
  if (!_internal_has_command_key()) {
    return nullptr;
  }
  _has_bits_[0] &= ~0x00000001u;
  return command_key_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
}
inline void Locate_sift_response_msg::set_allocated_command_key(std::string* command_key) {
  if (command_key != nullptr) {
    _has_bits_[0] |= 0x00000001u;
  } else {
    _has_bits_[0] &= ~0x00000001u;
  }
  command_key_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), command_key,
      GetArena());
  // @@protoc_insertion_point(field_set_allocated:message.Locate_sift_response_msg.command_key)
}

// required .message.Id_struct id_struct = 3;
inline bool Locate_sift_response_msg::_internal_has_id_struct() const {
  bool value = (_has_bits_[0] & 0x00000004u) != 0;
  PROTOBUF_ASSUME(!value || id_struct_ != nullptr);
  return value;
}
inline bool Locate_sift_response_msg::has_id_struct() const {
  return _internal_has_id_struct();
}
inline const ::message::Id_struct& Locate_sift_response_msg::_internal_id_struct() const {
  const ::message::Id_struct* p = id_struct_;
  return p != nullptr ? *p : *reinterpret_cast<const ::message::Id_struct*>(
      &::message::_Id_struct_default_instance_);
}
inline const ::message::Id_struct& Locate_sift_response_msg::id_struct() const {
  // @@protoc_insertion_point(field_get:message.Locate_sift_response_msg.id_struct)
  return _internal_id_struct();
}
inline void Locate_sift_response_msg::unsafe_arena_set_allocated_id_struct(
    ::message::Id_struct* id_struct) {
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(id_struct_);
  }
  id_struct_ = id_struct;
  if (id_struct) {
    _has_bits_[0] |= 0x00000004u;
  } else {
    _has_bits_[0] &= ~0x00000004u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:message.Locate_sift_response_msg.id_struct)
}
inline ::message::Id_struct* Locate_sift_response_msg::release_id_struct() {
  _has_bits_[0] &= ~0x00000004u;
  ::message::Id_struct* temp = id_struct_;
  id_struct_ = nullptr;
  if (GetArena() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
  return temp;
}
inline ::message::Id_struct* Locate_sift_response_msg::unsafe_arena_release_id_struct() {
  // @@protoc_insertion_point(field_release:message.Locate_sift_response_msg.id_struct)
  _has_bits_[0] &= ~0x00000004u;
  ::message::Id_struct* temp = id_struct_;
  id_struct_ = nullptr;
  return temp;
}
inline ::message::Id_struct* Locate_sift_response_msg::_internal_mutable_id_struct() {
  _has_bits_[0] |= 0x00000004u;
  if (id_struct_ == nullptr) {
    auto* p = CreateMaybeMessage<::message::Id_struct>(GetArena());
    id_struct_ = p;
  }
  return id_struct_;
}
inline ::message::Id_struct* Locate_sift_response_msg::mutable_id_struct() {
  // @@protoc_insertion_point(field_mutable:message.Locate_sift_response_msg.id_struct)
  return _internal_mutable_id_struct();
}
inline void Locate_sift_response_msg::set_allocated_id_struct(::message::Id_struct* id_struct) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(id_struct_);
  }
  if (id_struct) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(id_struct)->GetArena();
    if (message_arena != submessage_arena) {
      id_struct = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, id_struct, submessage_arena);
    }
    _has_bits_[0] |= 0x00000004u;
  } else {
    _has_bits_[0] &= ~0x00000004u;
  }
  id_struct_ = id_struct;
  // @@protoc_insertion_point(field_set_allocated:message.Locate_sift_response_msg.id_struct)
}

// required int32 lidar_id = 4;
inline bool Locate_sift_response_msg::_internal_has_lidar_id() const {
  bool value = (_has_bits_[0] & 0x00000010u) != 0;
  return value;
}
inline bool Locate_sift_response_msg::has_lidar_id() const {
  return _internal_has_lidar_id();
}
inline void Locate_sift_response_msg::clear_lidar_id() {
  lidar_id_ = 0;
  _has_bits_[0] &= ~0x00000010u;
}
inline ::PROTOBUF_NAMESPACE_ID::int32 Locate_sift_response_msg::_internal_lidar_id() const {
  return lidar_id_;
}
inline ::PROTOBUF_NAMESPACE_ID::int32 Locate_sift_response_msg::lidar_id() const {
  // @@protoc_insertion_point(field_get:message.Locate_sift_response_msg.lidar_id)
  return _internal_lidar_id();
}
inline void Locate_sift_response_msg::_internal_set_lidar_id(::PROTOBUF_NAMESPACE_ID::int32 value) {
  _has_bits_[0] |= 0x00000010u;
  lidar_id_ = value;
}
inline void Locate_sift_response_msg::set_lidar_id(::PROTOBUF_NAMESPACE_ID::int32 value) {
  _internal_set_lidar_id(value);
  // @@protoc_insertion_point(field_set:message.Locate_sift_response_msg.lidar_id)
}

// repeated .message.Cloud_type cloud_type = 5;
inline int Locate_sift_response_msg::_internal_cloud_type_size() const {
  return cloud_type_.size();
}
inline int Locate_sift_response_msg::cloud_type_size() const {
  return _internal_cloud_type_size();
}
inline void Locate_sift_response_msg::clear_cloud_type() {
  cloud_type_.Clear();
}
inline ::message::Cloud_type* Locate_sift_response_msg::mutable_cloud_type(int index) {
  // @@protoc_insertion_point(field_mutable:message.Locate_sift_response_msg.cloud_type)
  return cloud_type_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::message::Cloud_type >*
Locate_sift_response_msg::mutable_cloud_type() {
  // @@protoc_insertion_point(field_mutable_list:message.Locate_sift_response_msg.cloud_type)
  return &cloud_type_;
}
inline const ::message::Cloud_type& Locate_sift_response_msg::_internal_cloud_type(int index) const {
  return cloud_type_.Get(index);
}
inline const ::message::Cloud_type& Locate_sift_response_msg::cloud_type(int index) const {
  // @@protoc_insertion_point(field_get:message.Locate_sift_response_msg.cloud_type)
  return _internal_cloud_type(index);
}
inline ::message::Cloud_type* Locate_sift_response_msg::_internal_add_cloud_type() {
  return cloud_type_.Add();
}
inline ::message::Cloud_type* Locate_sift_response_msg::add_cloud_type() {
  // @@protoc_insertion_point(field_add:message.Locate_sift_response_msg.cloud_type)
  return _internal_add_cloud_type();
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::message::Cloud_type >&
Locate_sift_response_msg::cloud_type() const {
  // @@protoc_insertion_point(field_list:message.Locate_sift_response_msg.cloud_type)
  return cloud_type_;
}

// required .message.Error_manager error_manager = 6;
inline bool Locate_sift_response_msg::_internal_has_error_manager() const {
  bool value = (_has_bits_[0] & 0x00000008u) != 0;
  PROTOBUF_ASSUME(!value || error_manager_ != nullptr);
  return value;
}
inline bool Locate_sift_response_msg::has_error_manager() const {
  return _internal_has_error_manager();
}
inline const ::message::Error_manager& Locate_sift_response_msg::_internal_error_manager() const {
  const ::message::Error_manager* p = error_manager_;
  return p != nullptr ? *p : *reinterpret_cast<const ::message::Error_manager*>(
      &::message::_Error_manager_default_instance_);
}
inline const ::message::Error_manager& Locate_sift_response_msg::error_manager() const {
  // @@protoc_insertion_point(field_get:message.Locate_sift_response_msg.error_manager)
  return _internal_error_manager();
}
inline void Locate_sift_response_msg::unsafe_arena_set_allocated_error_manager(
    ::message::Error_manager* error_manager) {
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(error_manager_);
  }
  error_manager_ = error_manager;
  if (error_manager) {
    _has_bits_[0] |= 0x00000008u;
  } else {
    _has_bits_[0] &= ~0x00000008u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:message.Locate_sift_response_msg.error_manager)
}
inline ::message::Error_manager* Locate_sift_response_msg::release_error_manager() {
  _has_bits_[0] &= ~0x00000008u;
  ::message::Error_manager* temp = error_manager_;
  error_manager_ = nullptr;
  if (GetArena() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
  return temp;
}
inline ::message::Error_manager* Locate_sift_response_msg::unsafe_arena_release_error_manager() {
  // @@protoc_insertion_point(field_release:message.Locate_sift_response_msg.error_manager)
  _has_bits_[0] &= ~0x00000008u;
  ::message::Error_manager* temp = error_manager_;
  error_manager_ = nullptr;
  return temp;
}
inline ::message::Error_manager* Locate_sift_response_msg::_internal_mutable_error_manager() {
  _has_bits_[0] |= 0x00000008u;
  if (error_manager_ == nullptr) {
    auto* p = CreateMaybeMessage<::message::Error_manager>(GetArena());
    error_manager_ = p;
  }
  return error_manager_;
}
inline ::message::Error_manager* Locate_sift_response_msg::mutable_error_manager() {
  // @@protoc_insertion_point(field_mutable:message.Locate_sift_response_msg.error_manager)
  return _internal_mutable_error_manager();
}
inline void Locate_sift_response_msg::set_allocated_error_manager(::message::Error_manager* error_manager) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(error_manager_);
  }
  if (error_manager) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(error_manager)->GetArena();
    if (message_arena != submessage_arena) {
      error_manager = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, error_manager, submessage_arena);
    }
    _has_bits_[0] |= 0x00000008u;
  } else {
    _has_bits_[0] &= ~0x00000008u;
  }
  error_manager_ = error_manager;
  // @@protoc_insertion_point(field_set_allocated:message.Locate_sift_response_msg.error_manager)
}

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

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

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

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

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

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

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

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

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


// @@protoc_insertion_point(namespace_scope)

}  // namespace message

PROTOBUF_NAMESPACE_OPEN

template <> struct is_proto_enum< ::message::Laser_manager_status> : ::std::true_type {};
template <>
inline const EnumDescriptor* GetEnumDescriptor< ::message::Laser_manager_status>() {
  return ::message::Laser_manager_status_descriptor();
}
template <> struct is_proto_enum< ::message::Laser_statu> : ::std::true_type {};
template <>
inline const EnumDescriptor* GetEnumDescriptor< ::message::Laser_statu>() {
  return ::message::Laser_statu_descriptor();
}
template <> struct is_proto_enum< ::message::Locate_manager_status> : ::std::true_type {};
template <>
inline const EnumDescriptor* GetEnumDescriptor< ::message::Locate_manager_status>() {
  return ::message::Locate_manager_status_descriptor();
}
template <> struct is_proto_enum< ::message::Wanji_manager_status> : ::std::true_type {};
template <>
inline const EnumDescriptor* GetEnumDescriptor< ::message::Wanji_manager_status>() {
  return ::message::Wanji_manager_status_descriptor();
}
template <> struct is_proto_enum< ::message::Wanji_lidar_device_status> : ::std::true_type {};
template <>
inline const EnumDescriptor* GetEnumDescriptor< ::message::Wanji_lidar_device_status>() {
  return ::message::Wanji_lidar_device_status_descriptor();
}
template <> struct is_proto_enum< ::message::Region_worker_status> : ::std::true_type {};
template <>
inline const EnumDescriptor* GetEnumDescriptor< ::message::Region_worker_status>() {
  return ::message::Region_worker_status_descriptor();
}
template <> struct is_proto_enum< ::message::Ground_statu> : ::std::true_type {};
template <>
inline const EnumDescriptor* GetEnumDescriptor< ::message::Ground_statu>() {
  return ::message::Ground_statu_descriptor();
}

PROTOBUF_NAMESPACE_CLOSE

// @@protoc_insertion_point(global_scope)

#include <google/protobuf/port_undef.inc>
#endif  // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_measure_5fmessage_2eproto
