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

#ifndef PROTOBUF_INCLUDED_measure_5fmessage_2eproto
#define PROTOBUF_INCLUDED_measure_5fmessage_2eproto

#include <string>

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

#if GOOGLE_PROTOBUF_VERSION < 3006001
#error This file was generated by a newer version of protoc which is
#error incompatible with your Protocol Buffer headers.  Please update
#error your headers.
#endif
#if 3006001 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
#error This file was generated by an older version of protoc which is
#error incompatible with your Protocol Buffer headers.  Please
#error regenerate this file with a newer version of protoc.
#endif

#include <google/protobuf/io/coded_stream.h>
#include <google/protobuf/arena.h>
#include <google/protobuf/arenastring.h>
#include <google/protobuf/generated_message_table_driven.h>
#include <google/protobuf/generated_message_util.h>
#include <google/protobuf/inlined_string_field.h>
#include <google/protobuf/metadata.h>
#include <google/protobuf/message.h>
#include <google/protobuf/repeated_field.h>  // IWYU pragma: export
#include <google/protobuf/extension_set.h>  // IWYU pragma: export
#include <google/protobuf/generated_enum_reflection.h>
#include <google/protobuf/unknown_field_set.h>
#include "message_base.pb.h"
// @@protoc_insertion_point(includes)
#define PROTOBUF_INTERNAL_EXPORT_protobuf_measure_5fmessage_2eproto 

namespace protobuf_measure_5fmessage_2eproto {
// Internal implementation detail -- do not use these members.
struct TableStruct {
  static const ::google::protobuf::internal::ParseTableField entries[];
  static const ::google::protobuf::internal::AuxillaryParseTableField aux[];
  static const ::google::protobuf::internal::ParseTable schema[10];
  static const ::google::protobuf::internal::FieldMetadata field_metadata[];
  static const ::google::protobuf::internal::SerializationTable serialization_table[];
  static const ::google::protobuf::uint32 offsets[];
};
void AddDescriptors();
}  // namespace protobuf_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
namespace google {
namespace protobuf {
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*);
}  // namespace protobuf
}  // namespace google
namespace message {

enum Laser_manager_status {
  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);
const Laser_manager_status Laser_manager_status_MIN = LASER_MANAGER_UNKNOW;
const Laser_manager_status Laser_manager_status_MAX = LASER_MANAGER_FAULT;
const int Laser_manager_status_ARRAYSIZE = Laser_manager_status_MAX + 1;

const ::google::protobuf::EnumDescriptor* Laser_manager_status_descriptor();
inline const ::std::string& Laser_manager_status_Name(Laser_manager_status value) {
  return ::google::protobuf::internal::NameOfEnum(
    Laser_manager_status_descriptor(), value);
}
inline bool Laser_manager_status_Parse(
    const ::std::string& name, Laser_manager_status* value) {
  return ::google::protobuf::internal::ParseNamedEnum<Laser_manager_status>(
    Laser_manager_status_descriptor(), name, value);
}
enum Laser_statu {
  LASER_DISCONNECT = 0,
  LASER_READY = 1,
  LASER_BUSY = 2,
  LASER_FAULT = 3
};
bool Laser_statu_IsValid(int value);
const Laser_statu Laser_statu_MIN = LASER_DISCONNECT;
const Laser_statu Laser_statu_MAX = LASER_FAULT;
const int Laser_statu_ARRAYSIZE = Laser_statu_MAX + 1;

const ::google::protobuf::EnumDescriptor* Laser_statu_descriptor();
inline const ::std::string& Laser_statu_Name(Laser_statu value) {
  return ::google::protobuf::internal::NameOfEnum(
    Laser_statu_descriptor(), value);
}
inline bool Laser_statu_Parse(
    const ::std::string& name, Laser_statu* value) {
  return ::google::protobuf::internal::ParseNamedEnum<Laser_statu>(
    Laser_statu_descriptor(), name, value);
}
enum Locate_manager_status {
  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);
const Locate_manager_status Locate_manager_status_MIN = LOCATE_MANAGER_UNKNOW;
const Locate_manager_status Locate_manager_status_MAX = LOCATE_MANAGER_FAULT;
const int Locate_manager_status_ARRAYSIZE = Locate_manager_status_MAX + 1;

const ::google::protobuf::EnumDescriptor* Locate_manager_status_descriptor();
inline const ::std::string& Locate_manager_status_Name(Locate_manager_status value) {
  return ::google::protobuf::internal::NameOfEnum(
    Locate_manager_status_descriptor(), value);
}
inline bool Locate_manager_status_Parse(
    const ::std::string& name, Locate_manager_status* value) {
  return ::google::protobuf::internal::ParseNamedEnum<Locate_manager_status>(
    Locate_manager_status_descriptor(), name, value);
}
enum Wanji_manager_status {
  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);
const Wanji_manager_status Wanji_manager_status_MIN = WANJI_MANAGER_UNKNOWN;
const Wanji_manager_status Wanji_manager_status_MAX = WANJI_MANAGER_FAULT;
const int Wanji_manager_status_ARRAYSIZE = Wanji_manager_status_MAX + 1;

const ::google::protobuf::EnumDescriptor* Wanji_manager_status_descriptor();
inline const ::std::string& Wanji_manager_status_Name(Wanji_manager_status value) {
  return ::google::protobuf::internal::NameOfEnum(
    Wanji_manager_status_descriptor(), value);
}
inline bool Wanji_manager_status_Parse(
    const ::std::string& name, Wanji_manager_status* value) {
  return ::google::protobuf::internal::ParseNamedEnum<Wanji_manager_status>(
    Wanji_manager_status_descriptor(), name, value);
}
enum Wanji_lidar_device_status {
  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);
const Wanji_lidar_device_status Wanji_lidar_device_status_MIN = WANJI_LIDAR_DEVICE_UNKNOWN;
const Wanji_lidar_device_status Wanji_lidar_device_status_MAX = WANJI_LIDAR_DEVICE_FAULT;
const int Wanji_lidar_device_status_ARRAYSIZE = Wanji_lidar_device_status_MAX + 1;

const ::google::protobuf::EnumDescriptor* Wanji_lidar_device_status_descriptor();
inline const ::std::string& Wanji_lidar_device_status_Name(Wanji_lidar_device_status value) {
  return ::google::protobuf::internal::NameOfEnum(
    Wanji_lidar_device_status_descriptor(), value);
}
inline bool Wanji_lidar_device_status_Parse(
    const ::std::string& name, Wanji_lidar_device_status* value) {
  return ::google::protobuf::internal::ParseNamedEnum<Wanji_lidar_device_status>(
    Wanji_lidar_device_status_descriptor(), name, value);
}
enum Region_worker_status {
  REGION_WORKER_UNKNOWN = 0,
  REGION_WORKER_READY = 1,
  REGION_WORKER_BUSY = 2,
  REGION_WORKER_FAULT = 10
};
bool Region_worker_status_IsValid(int value);
const Region_worker_status Region_worker_status_MIN = REGION_WORKER_UNKNOWN;
const Region_worker_status Region_worker_status_MAX = REGION_WORKER_FAULT;
const int Region_worker_status_ARRAYSIZE = Region_worker_status_MAX + 1;

const ::google::protobuf::EnumDescriptor* Region_worker_status_descriptor();
inline const ::std::string& Region_worker_status_Name(Region_worker_status value) {
  return ::google::protobuf::internal::NameOfEnum(
    Region_worker_status_descriptor(), value);
}
inline bool Region_worker_status_Parse(
    const ::std::string& name, Region_worker_status* value) {
  return ::google::protobuf::internal::ParseNamedEnum<Region_worker_status>(
    Region_worker_status_descriptor(), name, value);
}
enum Ground_statu {
  Nothing = 0,
  Noise = 1,
  Car_correct = 2,
  Car_border_reached = 3
};
bool Ground_statu_IsValid(int value);
const Ground_statu Ground_statu_MIN = Nothing;
const Ground_statu Ground_statu_MAX = Car_border_reached;
const int Ground_statu_ARRAYSIZE = Ground_statu_MAX + 1;

const ::google::protobuf::EnumDescriptor* Ground_statu_descriptor();
inline const ::std::string& Ground_statu_Name(Ground_statu value) {
  return ::google::protobuf::internal::NameOfEnum(
    Ground_statu_descriptor(), value);
}
inline bool Ground_statu_Parse(
    const ::std::string& name, Ground_statu* value) {
  return ::google::protobuf::internal::ParseNamedEnum<Ground_statu>(
    Ground_statu_descriptor(), name, value);
}
// ===================================================================

class Measure_status_msg : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:message.Measure_status_msg) */ {
 public:
  Measure_status_msg();
  virtual ~Measure_status_msg();

  Measure_status_msg(const Measure_status_msg& from);

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

  inline Measure_status_msg& operator=(Measure_status_msg&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }
  #endif
  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields();
  }
  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields();
  }

  static const ::google::protobuf::Descriptor* descriptor();
  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;

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

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

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

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

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

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

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

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

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

  // repeated .message.Laser_statu laser_statu_vector = 4;
  int laser_statu_vector_size() const;
  void clear_laser_statu_vector();
  static const int kLaserStatuVectorFieldNumber = 4;
  ::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 ::google::protobuf::RepeatedField<int>& laser_statu_vector() const;
  ::google::protobuf::RepeatedField<int>* mutable_laser_statu_vector();

  // required .message.Base_info base_info = 1;
  bool has_base_info() const;
  void clear_base_info();
  static const int kBaseInfoFieldNumber = 1;
  private:
  const ::message::Base_info& _internal_base_info() const;
  public:
  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);

  // required .message.Id_struct id_struct = 2;
  bool has_id_struct() const;
  void clear_id_struct();
  static const int kIdStructFieldNumber = 2;
  private:
  const ::message::Id_struct& _internal_id_struct() const;
  public:
  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);

  // required .message.Error_manager error_manager = 6;
  bool has_error_manager() const;
  void clear_error_manager();
  static const int kErrorManagerFieldNumber = 6;
  private:
  const ::message::Error_manager& _internal_error_manager() const;
  public:
  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);

  // required .message.Laser_manager_status laser_manager_status = 3;
  bool has_laser_manager_status() const;
  void clear_laser_manager_status();
  static const int kLaserManagerStatusFieldNumber = 3;
  ::message::Laser_manager_status laser_manager_status() const;
  void set_laser_manager_status(::message::Laser_manager_status value);

  // required .message.Locate_manager_status locate_manager_status = 5;
  bool has_locate_manager_status() const;
  void clear_locate_manager_status();
  static const int kLocateManagerStatusFieldNumber = 5;
  ::message::Locate_manager_status locate_manager_status() const;
  void set_locate_manager_status(::message::Locate_manager_status value);

  // @@protoc_insertion_point(class_scope:message.Measure_status_msg)
 private:
  void set_has_base_info();
  void clear_has_base_info();
  void set_has_id_struct();
  void clear_has_id_struct();
  void set_has_laser_manager_status();
  void clear_has_laser_manager_status();
  void set_has_locate_manager_status();
  void clear_has_locate_manager_status();
  void set_has_error_manager();
  void clear_has_error_manager();

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

  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
  ::google::protobuf::internal::HasBits<1> _has_bits_;
  mutable ::google::protobuf::internal::CachedSize _cached_size_;
  ::google::protobuf::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 ::protobuf_measure_5fmessage_2eproto::TableStruct;
};
// -------------------------------------------------------------------

class Measure_request_msg : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:message.Measure_request_msg) */ {
 public:
  Measure_request_msg();
  virtual ~Measure_request_msg();

  Measure_request_msg(const Measure_request_msg& from);

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

  inline Measure_request_msg& operator=(Measure_request_msg&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }
  #endif
  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields();
  }
  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields();
  }

  static const ::google::protobuf::Descriptor* descriptor();
  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;

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

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

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

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

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

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

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

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

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

  // required string command_key = 2;
  bool has_command_key() const;
  void clear_command_key();
  static const int kCommandKeyFieldNumber = 2;
  const ::std::string& command_key() const;
  void set_command_key(const ::std::string& value);
  #if LANG_CXX11
  void set_command_key(::std::string&& value);
  #endif
  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);

  // required .message.Base_info base_info = 1;
  bool has_base_info() const;
  void clear_base_info();
  static const int kBaseInfoFieldNumber = 1;
  private:
  const ::message::Base_info& _internal_base_info() const;
  public:
  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);

  // required .message.Id_struct id_struct = 3;
  bool has_id_struct() const;
  void clear_id_struct();
  static const int kIdStructFieldNumber = 3;
  private:
  const ::message::Id_struct& _internal_id_struct() const;
  public:
  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);

  // @@protoc_insertion_point(class_scope:message.Measure_request_msg)
 private:
  void set_has_base_info();
  void clear_has_base_info();
  void set_has_command_key();
  void clear_has_command_key();
  void set_has_id_struct();
  void clear_has_id_struct();

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

  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
  ::google::protobuf::internal::HasBits<1> _has_bits_;
  mutable ::google::protobuf::internal::CachedSize _cached_size_;
  ::google::protobuf::internal::ArenaStringPtr command_key_;
  ::message::Base_info* base_info_;
  ::message::Id_struct* id_struct_;
  friend struct ::protobuf_measure_5fmessage_2eproto::TableStruct;
};
// -------------------------------------------------------------------

class Measure_response_msg : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:message.Measure_response_msg) */ {
 public:
  Measure_response_msg();
  virtual ~Measure_response_msg();

  Measure_response_msg(const Measure_response_msg& from);

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

  inline Measure_response_msg& operator=(Measure_response_msg&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }
  #endif
  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields();
  }
  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields();
  }

  static const ::google::protobuf::Descriptor* descriptor();
  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;

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

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

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

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

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

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

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

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

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

  // required string command_key = 2;
  bool has_command_key() const;
  void clear_command_key();
  static const int kCommandKeyFieldNumber = 2;
  const ::std::string& command_key() const;
  void set_command_key(const ::std::string& value);
  #if LANG_CXX11
  void set_command_key(::std::string&& value);
  #endif
  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);

  // required .message.Base_info base_info = 1;
  bool has_base_info() const;
  void clear_base_info();
  static const int kBaseInfoFieldNumber = 1;
  private:
  const ::message::Base_info& _internal_base_info() const;
  public:
  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);

  // required .message.Id_struct id_struct = 3;
  bool has_id_struct() const;
  void clear_id_struct();
  static const int kIdStructFieldNumber = 3;
  private:
  const ::message::Id_struct& _internal_id_struct() const;
  public:
  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);

  // optional .message.Locate_information locate_information = 4;
  bool has_locate_information() const;
  void clear_locate_information();
  static const int kLocateInformationFieldNumber = 4;
  private:
  const ::message::Locate_information& _internal_locate_information() const;
  public:
  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);

  // required .message.Error_manager error_manager = 5;
  bool has_error_manager() const;
  void clear_error_manager();
  static const int kErrorManagerFieldNumber = 5;
  private:
  const ::message::Error_manager& _internal_error_manager() const;
  public:
  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);

  // @@protoc_insertion_point(class_scope:message.Measure_response_msg)
 private:
  void set_has_base_info();
  void clear_has_base_info();
  void set_has_command_key();
  void clear_has_command_key();
  void set_has_id_struct();
  void clear_has_id_struct();
  void set_has_locate_information();
  void clear_has_locate_information();
  void set_has_error_manager();
  void clear_has_error_manager();

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

  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
  ::google::protobuf::internal::HasBits<1> _has_bits_;
  mutable ::google::protobuf::internal::CachedSize _cached_size_;
  ::google::protobuf::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 ::protobuf_measure_5fmessage_2eproto::TableStruct;
};
// -------------------------------------------------------------------

class Ground_detect_request_msg : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:message.Ground_detect_request_msg) */ {
 public:
  Ground_detect_request_msg();
  virtual ~Ground_detect_request_msg();

  Ground_detect_request_msg(const Ground_detect_request_msg& from);

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

  inline Ground_detect_request_msg& operator=(Ground_detect_request_msg&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }
  #endif
  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields();
  }
  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields();
  }

  static const ::google::protobuf::Descriptor* descriptor();
  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;

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

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

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

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

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

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

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

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

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

  // required string command_key = 2;
  bool has_command_key() const;
  void clear_command_key();
  static const int kCommandKeyFieldNumber = 2;
  const ::std::string& command_key() const;
  void set_command_key(const ::std::string& value);
  #if LANG_CXX11
  void set_command_key(::std::string&& value);
  #endif
  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);

  // required .message.Base_info base_info = 1;
  bool has_base_info() const;
  void clear_base_info();
  static const int kBaseInfoFieldNumber = 1;
  private:
  const ::message::Base_info& _internal_base_info() const;
  public:
  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);

  // required .message.Id_struct id_struct = 3;
  bool has_id_struct() const;
  void clear_id_struct();
  static const int kIdStructFieldNumber = 3;
  private:
  const ::message::Id_struct& _internal_id_struct() const;
  public:
  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);

  // @@protoc_insertion_point(class_scope:message.Ground_detect_request_msg)
 private:
  void set_has_base_info();
  void clear_has_base_info();
  void set_has_command_key();
  void clear_has_command_key();
  void set_has_id_struct();
  void clear_has_id_struct();

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

  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
  ::google::protobuf::internal::HasBits<1> _has_bits_;
  mutable ::google::protobuf::internal::CachedSize _cached_size_;
  ::google::protobuf::internal::ArenaStringPtr command_key_;
  ::message::Base_info* base_info_;
  ::message::Id_struct* id_struct_;
  friend struct ::protobuf_measure_5fmessage_2eproto::TableStruct;
};
// -------------------------------------------------------------------

class Ground_detect_response_msg : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:message.Ground_detect_response_msg) */ {
 public:
  Ground_detect_response_msg();
  virtual ~Ground_detect_response_msg();

  Ground_detect_response_msg(const Ground_detect_response_msg& from);

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

  inline Ground_detect_response_msg& operator=(Ground_detect_response_msg&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }
  #endif
  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields();
  }
  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields();
  }

  static const ::google::protobuf::Descriptor* descriptor();
  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;

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

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

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

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

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

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

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

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

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

  // required string command_key = 2;
  bool has_command_key() const;
  void clear_command_key();
  static const int kCommandKeyFieldNumber = 2;
  const ::std::string& command_key() const;
  void set_command_key(const ::std::string& value);
  #if LANG_CXX11
  void set_command_key(::std::string&& value);
  #endif
  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);

  // required .message.Base_info base_info = 1;
  bool has_base_info() const;
  void clear_base_info();
  static const int kBaseInfoFieldNumber = 1;
  private:
  const ::message::Base_info& _internal_base_info() const;
  public:
  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);

  // required .message.Id_struct id_struct = 3;
  bool has_id_struct() const;
  void clear_id_struct();
  static const int kIdStructFieldNumber = 3;
  private:
  const ::message::Id_struct& _internal_id_struct() const;
  public:
  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);

  // optional .message.Locate_information locate_information = 4;
  bool has_locate_information() const;
  void clear_locate_information();
  static const int kLocateInformationFieldNumber = 4;
  private:
  const ::message::Locate_information& _internal_locate_information() const;
  public:
  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);

  // required .message.Error_manager error_manager = 5;
  bool has_error_manager() const;
  void clear_error_manager();
  static const int kErrorManagerFieldNumber = 5;
  private:
  const ::message::Error_manager& _internal_error_manager() const;
  public:
  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);

  // @@protoc_insertion_point(class_scope:message.Ground_detect_response_msg)
 private:
  void set_has_base_info();
  void clear_has_base_info();
  void set_has_command_key();
  void clear_has_command_key();
  void set_has_id_struct();
  void clear_has_id_struct();
  void set_has_locate_information();
  void clear_has_locate_information();
  void set_has_error_manager();
  void clear_has_error_manager();

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

  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
  ::google::protobuf::internal::HasBits<1> _has_bits_;
  mutable ::google::protobuf::internal::CachedSize _cached_size_;
  ::google::protobuf::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 ::protobuf_measure_5fmessage_2eproto::TableStruct;
};
// -------------------------------------------------------------------

class Ground_status_msg : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:message.Ground_status_msg) */ {
 public:
  Ground_status_msg();
  virtual ~Ground_status_msg();

  Ground_status_msg(const Ground_status_msg& from);

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

  inline Ground_status_msg& operator=(Ground_status_msg&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }
  #endif
  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields();
  }
  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields();
  }

  static const ::google::protobuf::Descriptor* descriptor();
  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;

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

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

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

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

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

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

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

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

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

  // repeated .message.Wanji_lidar_device_status wanji_lidar_device_status = 4;
  int wanji_lidar_device_status_size() const;
  void clear_wanji_lidar_device_status();
  static const int kWanjiLidarDeviceStatusFieldNumber = 4;
  ::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 ::google::protobuf::RepeatedField<int>& wanji_lidar_device_status() const;
  ::google::protobuf::RepeatedField<int>* mutable_wanji_lidar_device_status();

  // repeated .message.Cloud_coordinate cloud = 10;
  int cloud_size() const;
  void clear_cloud();
  static const int kCloudFieldNumber = 10;
  ::message::Cloud_coordinate* mutable_cloud(int index);
  ::google::protobuf::RepeatedPtrField< ::message::Cloud_coordinate >*
      mutable_cloud();
  const ::message::Cloud_coordinate& cloud(int index) const;
  ::message::Cloud_coordinate* add_cloud();
  const ::google::protobuf::RepeatedPtrField< ::message::Cloud_coordinate >&
      cloud() const;

  // required .message.Base_info base_info = 1;
  bool has_base_info() const;
  void clear_base_info();
  static const int kBaseInfoFieldNumber = 1;
  private:
  const ::message::Base_info& _internal_base_info() const;
  public:
  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);

  // required .message.Id_struct id_struct = 2;
  bool has_id_struct() const;
  void clear_id_struct();
  static const int kIdStructFieldNumber = 2;
  private:
  const ::message::Id_struct& _internal_id_struct() const;
  public:
  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);

  // required .message.Locate_information locate_information_realtime = 6;
  bool has_locate_information_realtime() const;
  void clear_locate_information_realtime();
  static const int kLocateInformationRealtimeFieldNumber = 6;
  private:
  const ::message::Locate_information& _internal_locate_information_realtime() const;
  public:
  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);

  // required .message.Error_manager error_manager = 9;
  bool has_error_manager() const;
  void clear_error_manager();
  static const int kErrorManagerFieldNumber = 9;
  private:
  const ::message::Error_manager& _internal_error_manager() const;
  public:
  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);

  // required .message.Wanji_manager_status wanji_manager_status = 3;
  bool has_wanji_manager_status() const;
  void clear_wanji_manager_status();
  static const int kWanjiManagerStatusFieldNumber = 3;
  ::message::Wanji_manager_status wanji_manager_status() const;
  void set_wanji_manager_status(::message::Wanji_manager_status value);

  // required .message.Region_worker_status region_worker_status = 5;
  bool has_region_worker_status() const;
  void clear_region_worker_status();
  static const int kRegionWorkerStatusFieldNumber = 5;
  ::message::Region_worker_status region_worker_status() const;
  void set_region_worker_status(::message::Region_worker_status value);

  // required .message.Ground_statu ground_status = 7;
  bool has_ground_status() const;
  void clear_ground_status();
  static const int kGroundStatusFieldNumber = 7;
  ::message::Ground_statu ground_status() const;
  void set_ground_status(::message::Ground_statu value);

  // required int32 border_status = 8;
  bool has_border_status() const;
  void clear_border_status();
  static const int kBorderStatusFieldNumber = 8;
  ::google::protobuf::int32 border_status() const;
  void set_border_status(::google::protobuf::int32 value);

  // @@protoc_insertion_point(class_scope:message.Ground_status_msg)
 private:
  void set_has_base_info();
  void clear_has_base_info();
  void set_has_id_struct();
  void clear_has_id_struct();
  void set_has_wanji_manager_status();
  void clear_has_wanji_manager_status();
  void set_has_region_worker_status();
  void clear_has_region_worker_status();
  void set_has_locate_information_realtime();
  void clear_has_locate_information_realtime();
  void set_has_ground_status();
  void clear_has_ground_status();
  void set_has_border_status();
  void clear_has_border_status();
  void set_has_error_manager();
  void clear_has_error_manager();

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

  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
  ::google::protobuf::internal::HasBits<1> _has_bits_;
  mutable ::google::protobuf::internal::CachedSize _cached_size_;
  ::google::protobuf::RepeatedField<int> wanji_lidar_device_status_;
  ::google::protobuf::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_;
  ::google::protobuf::int32 border_status_;
  friend struct ::protobuf_measure_5fmessage_2eproto::TableStruct;
};
// -------------------------------------------------------------------

class Cloud_coordinate : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:message.Cloud_coordinate) */ {
 public:
  Cloud_coordinate();
  virtual ~Cloud_coordinate();

  Cloud_coordinate(const Cloud_coordinate& from);

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

  inline Cloud_coordinate& operator=(Cloud_coordinate&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }
  #endif
  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields();
  }
  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields();
  }

  static const ::google::protobuf::Descriptor* descriptor();
  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;

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

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

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

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

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

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

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

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

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

  // required float x = 1;
  bool has_x() const;
  void clear_x();
  static const int kXFieldNumber = 1;
  float x() const;
  void set_x(float value);

  // required float y = 2;
  bool has_y() const;
  void clear_y();
  static const int kYFieldNumber = 2;
  float y() const;
  void set_y(float value);

  // required float z = 3;
  bool has_z() const;
  void clear_z();
  static const int kZFieldNumber = 3;
  float z() const;
  void set_z(float value);

  // @@protoc_insertion_point(class_scope:message.Cloud_coordinate)
 private:
  void set_has_x();
  void clear_has_x();
  void set_has_y();
  void clear_has_y();
  void set_has_z();
  void clear_has_z();

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

  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
  ::google::protobuf::internal::HasBits<1> _has_bits_;
  mutable ::google::protobuf::internal::CachedSize _cached_size_;
  float x_;
  float y_;
  float z_;
  friend struct ::protobuf_measure_5fmessage_2eproto::TableStruct;
};
// -------------------------------------------------------------------

class Cloud_type : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:message.Cloud_type) */ {
 public:
  Cloud_type();
  virtual ~Cloud_type();

  Cloud_type(const Cloud_type& from);

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

  inline Cloud_type& operator=(Cloud_type&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }
  #endif
  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields();
  }
  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields();
  }

  static const ::google::protobuf::Descriptor* descriptor();
  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;

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

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

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

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

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

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

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

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

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

  // required int32 type = 1;
  bool has_type() const;
  void clear_type();
  static const int kTypeFieldNumber = 1;
  ::google::protobuf::int32 type() const;
  void set_type(::google::protobuf::int32 value);

  // @@protoc_insertion_point(class_scope:message.Cloud_type)
 private:
  void set_has_type();
  void clear_has_type();

  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
  ::google::protobuf::internal::HasBits<1> _has_bits_;
  mutable ::google::protobuf::internal::CachedSize _cached_size_;
  ::google::protobuf::int32 type_;
  friend struct ::protobuf_measure_5fmessage_2eproto::TableStruct;
};
// -------------------------------------------------------------------

class Locate_sift_request_msg : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:message.Locate_sift_request_msg) */ {
 public:
  Locate_sift_request_msg();
  virtual ~Locate_sift_request_msg();

  Locate_sift_request_msg(const Locate_sift_request_msg& from);

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

  inline Locate_sift_request_msg& operator=(Locate_sift_request_msg&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }
  #endif
  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields();
  }
  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields();
  }

  static const ::google::protobuf::Descriptor* descriptor();
  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;

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

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

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

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

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

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

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

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

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

  // repeated .message.Cloud_coordinate cloud_coordinates = 5;
  int cloud_coordinates_size() const;
  void clear_cloud_coordinates();
  static const int kCloudCoordinatesFieldNumber = 5;
  ::message::Cloud_coordinate* mutable_cloud_coordinates(int index);
  ::google::protobuf::RepeatedPtrField< ::message::Cloud_coordinate >*
      mutable_cloud_coordinates();
  const ::message::Cloud_coordinate& cloud_coordinates(int index) const;
  ::message::Cloud_coordinate* add_cloud_coordinates();
  const ::google::protobuf::RepeatedPtrField< ::message::Cloud_coordinate >&
      cloud_coordinates() const;

  // required string command_key = 2;
  bool has_command_key() const;
  void clear_command_key();
  static const int kCommandKeyFieldNumber = 2;
  const ::std::string& command_key() const;
  void set_command_key(const ::std::string& value);
  #if LANG_CXX11
  void set_command_key(::std::string&& value);
  #endif
  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);

  // required .message.Base_info base_info = 1;
  bool has_base_info() const;
  void clear_base_info();
  static const int kBaseInfoFieldNumber = 1;
  private:
  const ::message::Base_info& _internal_base_info() const;
  public:
  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);

  // required .message.Id_struct id_struct = 3;
  bool has_id_struct() const;
  void clear_id_struct();
  static const int kIdStructFieldNumber = 3;
  private:
  const ::message::Id_struct& _internal_id_struct() const;
  public:
  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);

  // required int32 lidar_id = 4;
  bool has_lidar_id() const;
  void clear_lidar_id();
  static const int kLidarIdFieldNumber = 4;
  ::google::protobuf::int32 lidar_id() const;
  void set_lidar_id(::google::protobuf::int32 value);

  // @@protoc_insertion_point(class_scope:message.Locate_sift_request_msg)
 private:
  void set_has_base_info();
  void clear_has_base_info();
  void set_has_command_key();
  void clear_has_command_key();
  void set_has_id_struct();
  void clear_has_id_struct();
  void set_has_lidar_id();
  void clear_has_lidar_id();

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

  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
  ::google::protobuf::internal::HasBits<1> _has_bits_;
  mutable ::google::protobuf::internal::CachedSize _cached_size_;
  ::google::protobuf::RepeatedPtrField< ::message::Cloud_coordinate > cloud_coordinates_;
  ::google::protobuf::internal::ArenaStringPtr command_key_;
  ::message::Base_info* base_info_;
  ::message::Id_struct* id_struct_;
  ::google::protobuf::int32 lidar_id_;
  friend struct ::protobuf_measure_5fmessage_2eproto::TableStruct;
};
// -------------------------------------------------------------------

class Locate_sift_response_msg : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:message.Locate_sift_response_msg) */ {
 public:
  Locate_sift_response_msg();
  virtual ~Locate_sift_response_msg();

  Locate_sift_response_msg(const Locate_sift_response_msg& from);

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

  inline Locate_sift_response_msg& operator=(Locate_sift_response_msg&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }
  #endif
  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields();
  }
  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields();
  }

  static const ::google::protobuf::Descriptor* descriptor();
  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;

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

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

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

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

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

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

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

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

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

  // repeated .message.Cloud_type cloud_type = 5;
  int cloud_type_size() const;
  void clear_cloud_type();
  static const int kCloudTypeFieldNumber = 5;
  ::message::Cloud_type* mutable_cloud_type(int index);
  ::google::protobuf::RepeatedPtrField< ::message::Cloud_type >*
      mutable_cloud_type();
  const ::message::Cloud_type& cloud_type(int index) const;
  ::message::Cloud_type* add_cloud_type();
  const ::google::protobuf::RepeatedPtrField< ::message::Cloud_type >&
      cloud_type() const;

  // required string command_key = 2;
  bool has_command_key() const;
  void clear_command_key();
  static const int kCommandKeyFieldNumber = 2;
  const ::std::string& command_key() const;
  void set_command_key(const ::std::string& value);
  #if LANG_CXX11
  void set_command_key(::std::string&& value);
  #endif
  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);

  // required .message.Base_info base_info = 1;
  bool has_base_info() const;
  void clear_base_info();
  static const int kBaseInfoFieldNumber = 1;
  private:
  const ::message::Base_info& _internal_base_info() const;
  public:
  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);

  // required .message.Id_struct id_struct = 3;
  bool has_id_struct() const;
  void clear_id_struct();
  static const int kIdStructFieldNumber = 3;
  private:
  const ::message::Id_struct& _internal_id_struct() const;
  public:
  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);

  // required .message.Error_manager error_manager = 6;
  bool has_error_manager() const;
  void clear_error_manager();
  static const int kErrorManagerFieldNumber = 6;
  private:
  const ::message::Error_manager& _internal_error_manager() const;
  public:
  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);

  // required int32 lidar_id = 4;
  bool has_lidar_id() const;
  void clear_lidar_id();
  static const int kLidarIdFieldNumber = 4;
  ::google::protobuf::int32 lidar_id() const;
  void set_lidar_id(::google::protobuf::int32 value);

  // @@protoc_insertion_point(class_scope:message.Locate_sift_response_msg)
 private:
  void set_has_base_info();
  void clear_has_base_info();
  void set_has_command_key();
  void clear_has_command_key();
  void set_has_id_struct();
  void clear_has_id_struct();
  void set_has_lidar_id();
  void clear_has_lidar_id();
  void set_has_error_manager();
  void clear_has_error_manager();

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

  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
  ::google::protobuf::internal::HasBits<1> _has_bits_;
  mutable ::google::protobuf::internal::CachedSize _cached_size_;
  ::google::protobuf::RepeatedPtrField< ::message::Cloud_type > cloud_type_;
  ::google::protobuf::internal::ArenaStringPtr command_key_;
  ::message::Base_info* base_info_;
  ::message::Id_struct* id_struct_;
  ::message::Error_manager* error_manager_;
  ::google::protobuf::int32 lidar_id_;
  friend struct ::protobuf_measure_5fmessage_2eproto::TableStruct;
};
// ===================================================================


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

#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::has_base_info() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void Measure_status_msg::set_has_base_info() {
  _has_bits_[0] |= 0x00000001u;
}
inline void Measure_status_msg::clear_has_base_info() {
  _has_bits_[0] &= ~0x00000001u;
}
inline const ::message::Base_info& Measure_status_msg::_internal_base_info() const {
  return *base_info_;
}
inline const ::message::Base_info& Measure_status_msg::base_info() const {
  const ::message::Base_info* p = base_info_;
  // @@protoc_insertion_point(field_get:message.Measure_status_msg.base_info)
  return p != NULL ? *p : *reinterpret_cast<const ::message::Base_info*>(
      &::message::_Base_info_default_instance_);
}
inline ::message::Base_info* Measure_status_msg::release_base_info() {
  // @@protoc_insertion_point(field_release:message.Measure_status_msg.base_info)
  clear_has_base_info();
  ::message::Base_info* temp = base_info_;
  base_info_ = NULL;
  return temp;
}
inline ::message::Base_info* Measure_status_msg::mutable_base_info() {
  set_has_base_info();
  if (base_info_ == NULL) {
    auto* p = CreateMaybeMessage<::message::Base_info>(GetArenaNoVirtual());
    base_info_ = p;
  }
  // @@protoc_insertion_point(field_mutable:message.Measure_status_msg.base_info)
  return base_info_;
}
inline void Measure_status_msg::set_allocated_base_info(::message::Base_info* base_info) {
  ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
  if (message_arena == NULL) {
    delete reinterpret_cast< ::google::protobuf::MessageLite*>(base_info_);
  }
  if (base_info) {
    ::google::protobuf::Arena* submessage_arena = NULL;
    if (message_arena != submessage_arena) {
      base_info = ::google::protobuf::internal::GetOwnedMessage(
          message_arena, base_info, submessage_arena);
    }
    set_has_base_info();
  } else {
    clear_has_base_info();
  }
  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::has_id_struct() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void Measure_status_msg::set_has_id_struct() {
  _has_bits_[0] |= 0x00000002u;
}
inline void Measure_status_msg::clear_has_id_struct() {
  _has_bits_[0] &= ~0x00000002u;
}
inline const ::message::Id_struct& Measure_status_msg::_internal_id_struct() const {
  return *id_struct_;
}
inline const ::message::Id_struct& Measure_status_msg::id_struct() const {
  const ::message::Id_struct* p = id_struct_;
  // @@protoc_insertion_point(field_get:message.Measure_status_msg.id_struct)
  return p != NULL ? *p : *reinterpret_cast<const ::message::Id_struct*>(
      &::message::_Id_struct_default_instance_);
}
inline ::message::Id_struct* Measure_status_msg::release_id_struct() {
  // @@protoc_insertion_point(field_release:message.Measure_status_msg.id_struct)
  clear_has_id_struct();
  ::message::Id_struct* temp = id_struct_;
  id_struct_ = NULL;
  return temp;
}
inline ::message::Id_struct* Measure_status_msg::mutable_id_struct() {
  set_has_id_struct();
  if (id_struct_ == NULL) {
    auto* p = CreateMaybeMessage<::message::Id_struct>(GetArenaNoVirtual());
    id_struct_ = p;
  }
  // @@protoc_insertion_point(field_mutable:message.Measure_status_msg.id_struct)
  return id_struct_;
}
inline void Measure_status_msg::set_allocated_id_struct(::message::Id_struct* id_struct) {
  ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
  if (message_arena == NULL) {
    delete reinterpret_cast< ::google::protobuf::MessageLite*>(id_struct_);
  }
  if (id_struct) {
    ::google::protobuf::Arena* submessage_arena = NULL;
    if (message_arena != submessage_arena) {
      id_struct = ::google::protobuf::internal::GetOwnedMessage(
          message_arena, id_struct, submessage_arena);
    }
    set_has_id_struct();
  } else {
    clear_has_id_struct();
  }
  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::has_laser_manager_status() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
inline void Measure_status_msg::set_has_laser_manager_status() {
  _has_bits_[0] |= 0x00000008u;
}
inline void Measure_status_msg::clear_has_laser_manager_status() {
  _has_bits_[0] &= ~0x00000008u;
}
inline void Measure_status_msg::clear_laser_manager_status() {
  laser_manager_status_ = 0;
  clear_has_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 static_cast< ::message::Laser_manager_status >(laser_manager_status_);
}
inline void Measure_status_msg::set_laser_manager_status(::message::Laser_manager_status value) {
  assert(::message::Laser_manager_status_IsValid(value));
  set_has_laser_manager_status();
  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::laser_statu_vector_size() const {
  return laser_statu_vector_.size();
}
inline void Measure_status_msg::clear_laser_statu_vector() {
  laser_statu_vector_.Clear();
}
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 static_cast< ::message::Laser_statu >(laser_statu_vector_.Get(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::add_laser_statu_vector(::message::Laser_statu value) {
  assert(::message::Laser_statu_IsValid(value));
  laser_statu_vector_.Add(value);
  // @@protoc_insertion_point(field_add:message.Measure_status_msg.laser_statu_vector)
}
inline const ::google::protobuf::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 ::google::protobuf::RepeatedField<int>*
Measure_status_msg::mutable_laser_statu_vector() {
  // @@protoc_insertion_point(field_mutable_list:message.Measure_status_msg.laser_statu_vector)
  return &laser_statu_vector_;
}

// required .message.Locate_manager_status locate_manager_status = 5;
inline bool Measure_status_msg::has_locate_manager_status() const {
  return (_has_bits_[0] & 0x00000010u) != 0;
}
inline void Measure_status_msg::set_has_locate_manager_status() {
  _has_bits_[0] |= 0x00000010u;
}
inline void Measure_status_msg::clear_has_locate_manager_status() {
  _has_bits_[0] &= ~0x00000010u;
}
inline void Measure_status_msg::clear_locate_manager_status() {
  locate_manager_status_ = 0;
  clear_has_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 static_cast< ::message::Locate_manager_status >(locate_manager_status_);
}
inline void Measure_status_msg::set_locate_manager_status(::message::Locate_manager_status value) {
  assert(::message::Locate_manager_status_IsValid(value));
  set_has_locate_manager_status();
  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::has_error_manager() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
inline void Measure_status_msg::set_has_error_manager() {
  _has_bits_[0] |= 0x00000004u;
}
inline void Measure_status_msg::clear_has_error_manager() {
  _has_bits_[0] &= ~0x00000004u;
}
inline const ::message::Error_manager& Measure_status_msg::_internal_error_manager() const {
  return *error_manager_;
}
inline const ::message::Error_manager& Measure_status_msg::error_manager() const {
  const ::message::Error_manager* p = error_manager_;
  // @@protoc_insertion_point(field_get:message.Measure_status_msg.error_manager)
  return p != NULL ? *p : *reinterpret_cast<const ::message::Error_manager*>(
      &::message::_Error_manager_default_instance_);
}
inline ::message::Error_manager* Measure_status_msg::release_error_manager() {
  // @@protoc_insertion_point(field_release:message.Measure_status_msg.error_manager)
  clear_has_error_manager();
  ::message::Error_manager* temp = error_manager_;
  error_manager_ = NULL;
  return temp;
}
inline ::message::Error_manager* Measure_status_msg::mutable_error_manager() {
  set_has_error_manager();
  if (error_manager_ == NULL) {
    auto* p = CreateMaybeMessage<::message::Error_manager>(GetArenaNoVirtual());
    error_manager_ = p;
  }
  // @@protoc_insertion_point(field_mutable:message.Measure_status_msg.error_manager)
  return error_manager_;
}
inline void Measure_status_msg::set_allocated_error_manager(::message::Error_manager* error_manager) {
  ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
  if (message_arena == NULL) {
    delete reinterpret_cast< ::google::protobuf::MessageLite*>(error_manager_);
  }
  if (error_manager) {
    ::google::protobuf::Arena* submessage_arena = NULL;
    if (message_arena != submessage_arena) {
      error_manager = ::google::protobuf::internal::GetOwnedMessage(
          message_arena, error_manager, submessage_arena);
    }
    set_has_error_manager();
  } else {
    clear_has_error_manager();
  }
  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::has_base_info() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void Measure_request_msg::set_has_base_info() {
  _has_bits_[0] |= 0x00000002u;
}
inline void Measure_request_msg::clear_has_base_info() {
  _has_bits_[0] &= ~0x00000002u;
}
inline const ::message::Base_info& Measure_request_msg::_internal_base_info() const {
  return *base_info_;
}
inline const ::message::Base_info& Measure_request_msg::base_info() const {
  const ::message::Base_info* p = base_info_;
  // @@protoc_insertion_point(field_get:message.Measure_request_msg.base_info)
  return p != NULL ? *p : *reinterpret_cast<const ::message::Base_info*>(
      &::message::_Base_info_default_instance_);
}
inline ::message::Base_info* Measure_request_msg::release_base_info() {
  // @@protoc_insertion_point(field_release:message.Measure_request_msg.base_info)
  clear_has_base_info();
  ::message::Base_info* temp = base_info_;
  base_info_ = NULL;
  return temp;
}
inline ::message::Base_info* Measure_request_msg::mutable_base_info() {
  set_has_base_info();
  if (base_info_ == NULL) {
    auto* p = CreateMaybeMessage<::message::Base_info>(GetArenaNoVirtual());
    base_info_ = p;
  }
  // @@protoc_insertion_point(field_mutable:message.Measure_request_msg.base_info)
  return base_info_;
}
inline void Measure_request_msg::set_allocated_base_info(::message::Base_info* base_info) {
  ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
  if (message_arena == NULL) {
    delete reinterpret_cast< ::google::protobuf::MessageLite*>(base_info_);
  }
  if (base_info) {
    ::google::protobuf::Arena* submessage_arena = NULL;
    if (message_arena != submessage_arena) {
      base_info = ::google::protobuf::internal::GetOwnedMessage(
          message_arena, base_info, submessage_arena);
    }
    set_has_base_info();
  } else {
    clear_has_base_info();
  }
  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::has_command_key() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void Measure_request_msg::set_has_command_key() {
  _has_bits_[0] |= 0x00000001u;
}
inline void Measure_request_msg::clear_has_command_key() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void Measure_request_msg::clear_command_key() {
  command_key_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_command_key();
}
inline const ::std::string& Measure_request_msg::command_key() const {
  // @@protoc_insertion_point(field_get:message.Measure_request_msg.command_key)
  return command_key_.GetNoArena();
}
inline void Measure_request_msg::set_command_key(const ::std::string& value) {
  set_has_command_key();
  command_key_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:message.Measure_request_msg.command_key)
}
#if LANG_CXX11
inline void Measure_request_msg::set_command_key(::std::string&& value) {
  set_has_command_key();
  command_key_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:message.Measure_request_msg.command_key)
}
#endif
inline void Measure_request_msg::set_command_key(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_command_key();
  command_key_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@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) {
  set_has_command_key();
  command_key_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:message.Measure_request_msg.command_key)
}
inline ::std::string* Measure_request_msg::mutable_command_key() {
  set_has_command_key();
  // @@protoc_insertion_point(field_mutable:message.Measure_request_msg.command_key)
  return command_key_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline ::std::string* Measure_request_msg::release_command_key() {
  // @@protoc_insertion_point(field_release:message.Measure_request_msg.command_key)
  if (!has_command_key()) {
    return NULL;
  }
  clear_has_command_key();
  return command_key_.ReleaseNonDefaultNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline void Measure_request_msg::set_allocated_command_key(::std::string* command_key) {
  if (command_key != NULL) {
    set_has_command_key();
  } else {
    clear_has_command_key();
  }
  command_key_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), command_key);
  // @@protoc_insertion_point(field_set_allocated:message.Measure_request_msg.command_key)
}

// required .message.Id_struct id_struct = 3;
inline bool Measure_request_msg::has_id_struct() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
inline void Measure_request_msg::set_has_id_struct() {
  _has_bits_[0] |= 0x00000004u;
}
inline void Measure_request_msg::clear_has_id_struct() {
  _has_bits_[0] &= ~0x00000004u;
}
inline const ::message::Id_struct& Measure_request_msg::_internal_id_struct() const {
  return *id_struct_;
}
inline const ::message::Id_struct& Measure_request_msg::id_struct() const {
  const ::message::Id_struct* p = id_struct_;
  // @@protoc_insertion_point(field_get:message.Measure_request_msg.id_struct)
  return p != NULL ? *p : *reinterpret_cast<const ::message::Id_struct*>(
      &::message::_Id_struct_default_instance_);
}
inline ::message::Id_struct* Measure_request_msg::release_id_struct() {
  // @@protoc_insertion_point(field_release:message.Measure_request_msg.id_struct)
  clear_has_id_struct();
  ::message::Id_struct* temp = id_struct_;
  id_struct_ = NULL;
  return temp;
}
inline ::message::Id_struct* Measure_request_msg::mutable_id_struct() {
  set_has_id_struct();
  if (id_struct_ == NULL) {
    auto* p = CreateMaybeMessage<::message::Id_struct>(GetArenaNoVirtual());
    id_struct_ = p;
  }
  // @@protoc_insertion_point(field_mutable:message.Measure_request_msg.id_struct)
  return id_struct_;
}
inline void Measure_request_msg::set_allocated_id_struct(::message::Id_struct* id_struct) {
  ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
  if (message_arena == NULL) {
    delete reinterpret_cast< ::google::protobuf::MessageLite*>(id_struct_);
  }
  if (id_struct) {
    ::google::protobuf::Arena* submessage_arena = NULL;
    if (message_arena != submessage_arena) {
      id_struct = ::google::protobuf::internal::GetOwnedMessage(
          message_arena, id_struct, submessage_arena);
    }
    set_has_id_struct();
  } else {
    clear_has_id_struct();
  }
  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::has_base_info() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void Measure_response_msg::set_has_base_info() {
  _has_bits_[0] |= 0x00000002u;
}
inline void Measure_response_msg::clear_has_base_info() {
  _has_bits_[0] &= ~0x00000002u;
}
inline const ::message::Base_info& Measure_response_msg::_internal_base_info() const {
  return *base_info_;
}
inline const ::message::Base_info& Measure_response_msg::base_info() const {
  const ::message::Base_info* p = base_info_;
  // @@protoc_insertion_point(field_get:message.Measure_response_msg.base_info)
  return p != NULL ? *p : *reinterpret_cast<const ::message::Base_info*>(
      &::message::_Base_info_default_instance_);
}
inline ::message::Base_info* Measure_response_msg::release_base_info() {
  // @@protoc_insertion_point(field_release:message.Measure_response_msg.base_info)
  clear_has_base_info();
  ::message::Base_info* temp = base_info_;
  base_info_ = NULL;
  return temp;
}
inline ::message::Base_info* Measure_response_msg::mutable_base_info() {
  set_has_base_info();
  if (base_info_ == NULL) {
    auto* p = CreateMaybeMessage<::message::Base_info>(GetArenaNoVirtual());
    base_info_ = p;
  }
  // @@protoc_insertion_point(field_mutable:message.Measure_response_msg.base_info)
  return base_info_;
}
inline void Measure_response_msg::set_allocated_base_info(::message::Base_info* base_info) {
  ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
  if (message_arena == NULL) {
    delete reinterpret_cast< ::google::protobuf::MessageLite*>(base_info_);
  }
  if (base_info) {
    ::google::protobuf::Arena* submessage_arena = NULL;
    if (message_arena != submessage_arena) {
      base_info = ::google::protobuf::internal::GetOwnedMessage(
          message_arena, base_info, submessage_arena);
    }
    set_has_base_info();
  } else {
    clear_has_base_info();
  }
  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::has_command_key() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void Measure_response_msg::set_has_command_key() {
  _has_bits_[0] |= 0x00000001u;
}
inline void Measure_response_msg::clear_has_command_key() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void Measure_response_msg::clear_command_key() {
  command_key_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_command_key();
}
inline const ::std::string& Measure_response_msg::command_key() const {
  // @@protoc_insertion_point(field_get:message.Measure_response_msg.command_key)
  return command_key_.GetNoArena();
}
inline void Measure_response_msg::set_command_key(const ::std::string& value) {
  set_has_command_key();
  command_key_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:message.Measure_response_msg.command_key)
}
#if LANG_CXX11
inline void Measure_response_msg::set_command_key(::std::string&& value) {
  set_has_command_key();
  command_key_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:message.Measure_response_msg.command_key)
}
#endif
inline void Measure_response_msg::set_command_key(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_command_key();
  command_key_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@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) {
  set_has_command_key();
  command_key_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:message.Measure_response_msg.command_key)
}
inline ::std::string* Measure_response_msg::mutable_command_key() {
  set_has_command_key();
  // @@protoc_insertion_point(field_mutable:message.Measure_response_msg.command_key)
  return command_key_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline ::std::string* Measure_response_msg::release_command_key() {
  // @@protoc_insertion_point(field_release:message.Measure_response_msg.command_key)
  if (!has_command_key()) {
    return NULL;
  }
  clear_has_command_key();
  return command_key_.ReleaseNonDefaultNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline void Measure_response_msg::set_allocated_command_key(::std::string* command_key) {
  if (command_key != NULL) {
    set_has_command_key();
  } else {
    clear_has_command_key();
  }
  command_key_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), command_key);
  // @@protoc_insertion_point(field_set_allocated:message.Measure_response_msg.command_key)
}

// required .message.Id_struct id_struct = 3;
inline bool Measure_response_msg::has_id_struct() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
inline void Measure_response_msg::set_has_id_struct() {
  _has_bits_[0] |= 0x00000004u;
}
inline void Measure_response_msg::clear_has_id_struct() {
  _has_bits_[0] &= ~0x00000004u;
}
inline const ::message::Id_struct& Measure_response_msg::_internal_id_struct() const {
  return *id_struct_;
}
inline const ::message::Id_struct& Measure_response_msg::id_struct() const {
  const ::message::Id_struct* p = id_struct_;
  // @@protoc_insertion_point(field_get:message.Measure_response_msg.id_struct)
  return p != NULL ? *p : *reinterpret_cast<const ::message::Id_struct*>(
      &::message::_Id_struct_default_instance_);
}
inline ::message::Id_struct* Measure_response_msg::release_id_struct() {
  // @@protoc_insertion_point(field_release:message.Measure_response_msg.id_struct)
  clear_has_id_struct();
  ::message::Id_struct* temp = id_struct_;
  id_struct_ = NULL;
  return temp;
}
inline ::message::Id_struct* Measure_response_msg::mutable_id_struct() {
  set_has_id_struct();
  if (id_struct_ == NULL) {
    auto* p = CreateMaybeMessage<::message::Id_struct>(GetArenaNoVirtual());
    id_struct_ = p;
  }
  // @@protoc_insertion_point(field_mutable:message.Measure_response_msg.id_struct)
  return id_struct_;
}
inline void Measure_response_msg::set_allocated_id_struct(::message::Id_struct* id_struct) {
  ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
  if (message_arena == NULL) {
    delete reinterpret_cast< ::google::protobuf::MessageLite*>(id_struct_);
  }
  if (id_struct) {
    ::google::protobuf::Arena* submessage_arena = NULL;
    if (message_arena != submessage_arena) {
      id_struct = ::google::protobuf::internal::GetOwnedMessage(
          message_arena, id_struct, submessage_arena);
    }
    set_has_id_struct();
  } else {
    clear_has_id_struct();
  }
  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::has_locate_information() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
inline void Measure_response_msg::set_has_locate_information() {
  _has_bits_[0] |= 0x00000008u;
}
inline void Measure_response_msg::clear_has_locate_information() {
  _has_bits_[0] &= ~0x00000008u;
}
inline const ::message::Locate_information& Measure_response_msg::_internal_locate_information() const {
  return *locate_information_;
}
inline const ::message::Locate_information& Measure_response_msg::locate_information() const {
  const ::message::Locate_information* p = locate_information_;
  // @@protoc_insertion_point(field_get:message.Measure_response_msg.locate_information)
  return p != NULL ? *p : *reinterpret_cast<const ::message::Locate_information*>(
      &::message::_Locate_information_default_instance_);
}
inline ::message::Locate_information* Measure_response_msg::release_locate_information() {
  // @@protoc_insertion_point(field_release:message.Measure_response_msg.locate_information)
  clear_has_locate_information();
  ::message::Locate_information* temp = locate_information_;
  locate_information_ = NULL;
  return temp;
}
inline ::message::Locate_information* Measure_response_msg::mutable_locate_information() {
  set_has_locate_information();
  if (locate_information_ == NULL) {
    auto* p = CreateMaybeMessage<::message::Locate_information>(GetArenaNoVirtual());
    locate_information_ = p;
  }
  // @@protoc_insertion_point(field_mutable:message.Measure_response_msg.locate_information)
  return locate_information_;
}
inline void Measure_response_msg::set_allocated_locate_information(::message::Locate_information* locate_information) {
  ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
  if (message_arena == NULL) {
    delete reinterpret_cast< ::google::protobuf::MessageLite*>(locate_information_);
  }
  if (locate_information) {
    ::google::protobuf::Arena* submessage_arena = NULL;
    if (message_arena != submessage_arena) {
      locate_information = ::google::protobuf::internal::GetOwnedMessage(
          message_arena, locate_information, submessage_arena);
    }
    set_has_locate_information();
  } else {
    clear_has_locate_information();
  }
  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::has_error_manager() const {
  return (_has_bits_[0] & 0x00000010u) != 0;
}
inline void Measure_response_msg::set_has_error_manager() {
  _has_bits_[0] |= 0x00000010u;
}
inline void Measure_response_msg::clear_has_error_manager() {
  _has_bits_[0] &= ~0x00000010u;
}
inline const ::message::Error_manager& Measure_response_msg::_internal_error_manager() const {
  return *error_manager_;
}
inline const ::message::Error_manager& Measure_response_msg::error_manager() const {
  const ::message::Error_manager* p = error_manager_;
  // @@protoc_insertion_point(field_get:message.Measure_response_msg.error_manager)
  return p != NULL ? *p : *reinterpret_cast<const ::message::Error_manager*>(
      &::message::_Error_manager_default_instance_);
}
inline ::message::Error_manager* Measure_response_msg::release_error_manager() {
  // @@protoc_insertion_point(field_release:message.Measure_response_msg.error_manager)
  clear_has_error_manager();
  ::message::Error_manager* temp = error_manager_;
  error_manager_ = NULL;
  return temp;
}
inline ::message::Error_manager* Measure_response_msg::mutable_error_manager() {
  set_has_error_manager();
  if (error_manager_ == NULL) {
    auto* p = CreateMaybeMessage<::message::Error_manager>(GetArenaNoVirtual());
    error_manager_ = p;
  }
  // @@protoc_insertion_point(field_mutable:message.Measure_response_msg.error_manager)
  return error_manager_;
}
inline void Measure_response_msg::set_allocated_error_manager(::message::Error_manager* error_manager) {
  ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
  if (message_arena == NULL) {
    delete reinterpret_cast< ::google::protobuf::MessageLite*>(error_manager_);
  }
  if (error_manager) {
    ::google::protobuf::Arena* submessage_arena = NULL;
    if (message_arena != submessage_arena) {
      error_manager = ::google::protobuf::internal::GetOwnedMessage(
          message_arena, error_manager, submessage_arena);
    }
    set_has_error_manager();
  } else {
    clear_has_error_manager();
  }
  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::has_base_info() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void Ground_detect_request_msg::set_has_base_info() {
  _has_bits_[0] |= 0x00000002u;
}
inline void Ground_detect_request_msg::clear_has_base_info() {
  _has_bits_[0] &= ~0x00000002u;
}
inline const ::message::Base_info& Ground_detect_request_msg::_internal_base_info() const {
  return *base_info_;
}
inline const ::message::Base_info& Ground_detect_request_msg::base_info() const {
  const ::message::Base_info* p = base_info_;
  // @@protoc_insertion_point(field_get:message.Ground_detect_request_msg.base_info)
  return p != NULL ? *p : *reinterpret_cast<const ::message::Base_info*>(
      &::message::_Base_info_default_instance_);
}
inline ::message::Base_info* Ground_detect_request_msg::release_base_info() {
  // @@protoc_insertion_point(field_release:message.Ground_detect_request_msg.base_info)
  clear_has_base_info();
  ::message::Base_info* temp = base_info_;
  base_info_ = NULL;
  return temp;
}
inline ::message::Base_info* Ground_detect_request_msg::mutable_base_info() {
  set_has_base_info();
  if (base_info_ == NULL) {
    auto* p = CreateMaybeMessage<::message::Base_info>(GetArenaNoVirtual());
    base_info_ = p;
  }
  // @@protoc_insertion_point(field_mutable:message.Ground_detect_request_msg.base_info)
  return base_info_;
}
inline void Ground_detect_request_msg::set_allocated_base_info(::message::Base_info* base_info) {
  ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
  if (message_arena == NULL) {
    delete reinterpret_cast< ::google::protobuf::MessageLite*>(base_info_);
  }
  if (base_info) {
    ::google::protobuf::Arena* submessage_arena = NULL;
    if (message_arena != submessage_arena) {
      base_info = ::google::protobuf::internal::GetOwnedMessage(
          message_arena, base_info, submessage_arena);
    }
    set_has_base_info();
  } else {
    clear_has_base_info();
  }
  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::has_command_key() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void Ground_detect_request_msg::set_has_command_key() {
  _has_bits_[0] |= 0x00000001u;
}
inline void Ground_detect_request_msg::clear_has_command_key() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void Ground_detect_request_msg::clear_command_key() {
  command_key_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_command_key();
}
inline const ::std::string& Ground_detect_request_msg::command_key() const {
  // @@protoc_insertion_point(field_get:message.Ground_detect_request_msg.command_key)
  return command_key_.GetNoArena();
}
inline void Ground_detect_request_msg::set_command_key(const ::std::string& value) {
  set_has_command_key();
  command_key_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:message.Ground_detect_request_msg.command_key)
}
#if LANG_CXX11
inline void Ground_detect_request_msg::set_command_key(::std::string&& value) {
  set_has_command_key();
  command_key_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:message.Ground_detect_request_msg.command_key)
}
#endif
inline void Ground_detect_request_msg::set_command_key(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_command_key();
  command_key_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@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) {
  set_has_command_key();
  command_key_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:message.Ground_detect_request_msg.command_key)
}
inline ::std::string* Ground_detect_request_msg::mutable_command_key() {
  set_has_command_key();
  // @@protoc_insertion_point(field_mutable:message.Ground_detect_request_msg.command_key)
  return command_key_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline ::std::string* Ground_detect_request_msg::release_command_key() {
  // @@protoc_insertion_point(field_release:message.Ground_detect_request_msg.command_key)
  if (!has_command_key()) {
    return NULL;
  }
  clear_has_command_key();
  return command_key_.ReleaseNonDefaultNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline void Ground_detect_request_msg::set_allocated_command_key(::std::string* command_key) {
  if (command_key != NULL) {
    set_has_command_key();
  } else {
    clear_has_command_key();
  }
  command_key_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), command_key);
  // @@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::has_id_struct() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
inline void Ground_detect_request_msg::set_has_id_struct() {
  _has_bits_[0] |= 0x00000004u;
}
inline void Ground_detect_request_msg::clear_has_id_struct() {
  _has_bits_[0] &= ~0x00000004u;
}
inline const ::message::Id_struct& Ground_detect_request_msg::_internal_id_struct() const {
  return *id_struct_;
}
inline const ::message::Id_struct& Ground_detect_request_msg::id_struct() const {
  const ::message::Id_struct* p = id_struct_;
  // @@protoc_insertion_point(field_get:message.Ground_detect_request_msg.id_struct)
  return p != NULL ? *p : *reinterpret_cast<const ::message::Id_struct*>(
      &::message::_Id_struct_default_instance_);
}
inline ::message::Id_struct* Ground_detect_request_msg::release_id_struct() {
  // @@protoc_insertion_point(field_release:message.Ground_detect_request_msg.id_struct)
  clear_has_id_struct();
  ::message::Id_struct* temp = id_struct_;
  id_struct_ = NULL;
  return temp;
}
inline ::message::Id_struct* Ground_detect_request_msg::mutable_id_struct() {
  set_has_id_struct();
  if (id_struct_ == NULL) {
    auto* p = CreateMaybeMessage<::message::Id_struct>(GetArenaNoVirtual());
    id_struct_ = p;
  }
  // @@protoc_insertion_point(field_mutable:message.Ground_detect_request_msg.id_struct)
  return id_struct_;
}
inline void Ground_detect_request_msg::set_allocated_id_struct(::message::Id_struct* id_struct) {
  ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
  if (message_arena == NULL) {
    delete reinterpret_cast< ::google::protobuf::MessageLite*>(id_struct_);
  }
  if (id_struct) {
    ::google::protobuf::Arena* submessage_arena = NULL;
    if (message_arena != submessage_arena) {
      id_struct = ::google::protobuf::internal::GetOwnedMessage(
          message_arena, id_struct, submessage_arena);
    }
    set_has_id_struct();
  } else {
    clear_has_id_struct();
  }
  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::has_base_info() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void Ground_detect_response_msg::set_has_base_info() {
  _has_bits_[0] |= 0x00000002u;
}
inline void Ground_detect_response_msg::clear_has_base_info() {
  _has_bits_[0] &= ~0x00000002u;
}
inline const ::message::Base_info& Ground_detect_response_msg::_internal_base_info() const {
  return *base_info_;
}
inline const ::message::Base_info& Ground_detect_response_msg::base_info() const {
  const ::message::Base_info* p = base_info_;
  // @@protoc_insertion_point(field_get:message.Ground_detect_response_msg.base_info)
  return p != NULL ? *p : *reinterpret_cast<const ::message::Base_info*>(
      &::message::_Base_info_default_instance_);
}
inline ::message::Base_info* Ground_detect_response_msg::release_base_info() {
  // @@protoc_insertion_point(field_release:message.Ground_detect_response_msg.base_info)
  clear_has_base_info();
  ::message::Base_info* temp = base_info_;
  base_info_ = NULL;
  return temp;
}
inline ::message::Base_info* Ground_detect_response_msg::mutable_base_info() {
  set_has_base_info();
  if (base_info_ == NULL) {
    auto* p = CreateMaybeMessage<::message::Base_info>(GetArenaNoVirtual());
    base_info_ = p;
  }
  // @@protoc_insertion_point(field_mutable:message.Ground_detect_response_msg.base_info)
  return base_info_;
}
inline void Ground_detect_response_msg::set_allocated_base_info(::message::Base_info* base_info) {
  ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
  if (message_arena == NULL) {
    delete reinterpret_cast< ::google::protobuf::MessageLite*>(base_info_);
  }
  if (base_info) {
    ::google::protobuf::Arena* submessage_arena = NULL;
    if (message_arena != submessage_arena) {
      base_info = ::google::protobuf::internal::GetOwnedMessage(
          message_arena, base_info, submessage_arena);
    }
    set_has_base_info();
  } else {
    clear_has_base_info();
  }
  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::has_command_key() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void Ground_detect_response_msg::set_has_command_key() {
  _has_bits_[0] |= 0x00000001u;
}
inline void Ground_detect_response_msg::clear_has_command_key() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void Ground_detect_response_msg::clear_command_key() {
  command_key_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_command_key();
}
inline const ::std::string& Ground_detect_response_msg::command_key() const {
  // @@protoc_insertion_point(field_get:message.Ground_detect_response_msg.command_key)
  return command_key_.GetNoArena();
}
inline void Ground_detect_response_msg::set_command_key(const ::std::string& value) {
  set_has_command_key();
  command_key_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:message.Ground_detect_response_msg.command_key)
}
#if LANG_CXX11
inline void Ground_detect_response_msg::set_command_key(::std::string&& value) {
  set_has_command_key();
  command_key_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:message.Ground_detect_response_msg.command_key)
}
#endif
inline void Ground_detect_response_msg::set_command_key(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_command_key();
  command_key_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@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) {
  set_has_command_key();
  command_key_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:message.Ground_detect_response_msg.command_key)
}
inline ::std::string* Ground_detect_response_msg::mutable_command_key() {
  set_has_command_key();
  // @@protoc_insertion_point(field_mutable:message.Ground_detect_response_msg.command_key)
  return command_key_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline ::std::string* Ground_detect_response_msg::release_command_key() {
  // @@protoc_insertion_point(field_release:message.Ground_detect_response_msg.command_key)
  if (!has_command_key()) {
    return NULL;
  }
  clear_has_command_key();
  return command_key_.ReleaseNonDefaultNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline void Ground_detect_response_msg::set_allocated_command_key(::std::string* command_key) {
  if (command_key != NULL) {
    set_has_command_key();
  } else {
    clear_has_command_key();
  }
  command_key_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), command_key);
  // @@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::has_id_struct() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
inline void Ground_detect_response_msg::set_has_id_struct() {
  _has_bits_[0] |= 0x00000004u;
}
inline void Ground_detect_response_msg::clear_has_id_struct() {
  _has_bits_[0] &= ~0x00000004u;
}
inline const ::message::Id_struct& Ground_detect_response_msg::_internal_id_struct() const {
  return *id_struct_;
}
inline const ::message::Id_struct& Ground_detect_response_msg::id_struct() const {
  const ::message::Id_struct* p = id_struct_;
  // @@protoc_insertion_point(field_get:message.Ground_detect_response_msg.id_struct)
  return p != NULL ? *p : *reinterpret_cast<const ::message::Id_struct*>(
      &::message::_Id_struct_default_instance_);
}
inline ::message::Id_struct* Ground_detect_response_msg::release_id_struct() {
  // @@protoc_insertion_point(field_release:message.Ground_detect_response_msg.id_struct)
  clear_has_id_struct();
  ::message::Id_struct* temp = id_struct_;
  id_struct_ = NULL;
  return temp;
}
inline ::message::Id_struct* Ground_detect_response_msg::mutable_id_struct() {
  set_has_id_struct();
  if (id_struct_ == NULL) {
    auto* p = CreateMaybeMessage<::message::Id_struct>(GetArenaNoVirtual());
    id_struct_ = p;
  }
  // @@protoc_insertion_point(field_mutable:message.Ground_detect_response_msg.id_struct)
  return id_struct_;
}
inline void Ground_detect_response_msg::set_allocated_id_struct(::message::Id_struct* id_struct) {
  ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
  if (message_arena == NULL) {
    delete reinterpret_cast< ::google::protobuf::MessageLite*>(id_struct_);
  }
  if (id_struct) {
    ::google::protobuf::Arena* submessage_arena = NULL;
    if (message_arena != submessage_arena) {
      id_struct = ::google::protobuf::internal::GetOwnedMessage(
          message_arena, id_struct, submessage_arena);
    }
    set_has_id_struct();
  } else {
    clear_has_id_struct();
  }
  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::has_locate_information() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
inline void Ground_detect_response_msg::set_has_locate_information() {
  _has_bits_[0] |= 0x00000008u;
}
inline void Ground_detect_response_msg::clear_has_locate_information() {
  _has_bits_[0] &= ~0x00000008u;
}
inline const ::message::Locate_information& Ground_detect_response_msg::_internal_locate_information() const {
  return *locate_information_;
}
inline const ::message::Locate_information& Ground_detect_response_msg::locate_information() const {
  const ::message::Locate_information* p = locate_information_;
  // @@protoc_insertion_point(field_get:message.Ground_detect_response_msg.locate_information)
  return p != NULL ? *p : *reinterpret_cast<const ::message::Locate_information*>(
      &::message::_Locate_information_default_instance_);
}
inline ::message::Locate_information* Ground_detect_response_msg::release_locate_information() {
  // @@protoc_insertion_point(field_release:message.Ground_detect_response_msg.locate_information)
  clear_has_locate_information();
  ::message::Locate_information* temp = locate_information_;
  locate_information_ = NULL;
  return temp;
}
inline ::message::Locate_information* Ground_detect_response_msg::mutable_locate_information() {
  set_has_locate_information();
  if (locate_information_ == NULL) {
    auto* p = CreateMaybeMessage<::message::Locate_information>(GetArenaNoVirtual());
    locate_information_ = p;
  }
  // @@protoc_insertion_point(field_mutable:message.Ground_detect_response_msg.locate_information)
  return locate_information_;
}
inline void Ground_detect_response_msg::set_allocated_locate_information(::message::Locate_information* locate_information) {
  ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
  if (message_arena == NULL) {
    delete reinterpret_cast< ::google::protobuf::MessageLite*>(locate_information_);
  }
  if (locate_information) {
    ::google::protobuf::Arena* submessage_arena = NULL;
    if (message_arena != submessage_arena) {
      locate_information = ::google::protobuf::internal::GetOwnedMessage(
          message_arena, locate_information, submessage_arena);
    }
    set_has_locate_information();
  } else {
    clear_has_locate_information();
  }
  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::has_error_manager() const {
  return (_has_bits_[0] & 0x00000010u) != 0;
}
inline void Ground_detect_response_msg::set_has_error_manager() {
  _has_bits_[0] |= 0x00000010u;
}
inline void Ground_detect_response_msg::clear_has_error_manager() {
  _has_bits_[0] &= ~0x00000010u;
}
inline const ::message::Error_manager& Ground_detect_response_msg::_internal_error_manager() const {
  return *error_manager_;
}
inline const ::message::Error_manager& Ground_detect_response_msg::error_manager() const {
  const ::message::Error_manager* p = error_manager_;
  // @@protoc_insertion_point(field_get:message.Ground_detect_response_msg.error_manager)
  return p != NULL ? *p : *reinterpret_cast<const ::message::Error_manager*>(
      &::message::_Error_manager_default_instance_);
}
inline ::message::Error_manager* Ground_detect_response_msg::release_error_manager() {
  // @@protoc_insertion_point(field_release:message.Ground_detect_response_msg.error_manager)
  clear_has_error_manager();
  ::message::Error_manager* temp = error_manager_;
  error_manager_ = NULL;
  return temp;
}
inline ::message::Error_manager* Ground_detect_response_msg::mutable_error_manager() {
  set_has_error_manager();
  if (error_manager_ == NULL) {
    auto* p = CreateMaybeMessage<::message::Error_manager>(GetArenaNoVirtual());
    error_manager_ = p;
  }
  // @@protoc_insertion_point(field_mutable:message.Ground_detect_response_msg.error_manager)
  return error_manager_;
}
inline void Ground_detect_response_msg::set_allocated_error_manager(::message::Error_manager* error_manager) {
  ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
  if (message_arena == NULL) {
    delete reinterpret_cast< ::google::protobuf::MessageLite*>(error_manager_);
  }
  if (error_manager) {
    ::google::protobuf::Arena* submessage_arena = NULL;
    if (message_arena != submessage_arena) {
      error_manager = ::google::protobuf::internal::GetOwnedMessage(
          message_arena, error_manager, submessage_arena);
    }
    set_has_error_manager();
  } else {
    clear_has_error_manager();
  }
  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::has_base_info() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void Ground_status_msg::set_has_base_info() {
  _has_bits_[0] |= 0x00000001u;
}
inline void Ground_status_msg::clear_has_base_info() {
  _has_bits_[0] &= ~0x00000001u;
}
inline const ::message::Base_info& Ground_status_msg::_internal_base_info() const {
  return *base_info_;
}
inline const ::message::Base_info& Ground_status_msg::base_info() const {
  const ::message::Base_info* p = base_info_;
  // @@protoc_insertion_point(field_get:message.Ground_status_msg.base_info)
  return p != NULL ? *p : *reinterpret_cast<const ::message::Base_info*>(
      &::message::_Base_info_default_instance_);
}
inline ::message::Base_info* Ground_status_msg::release_base_info() {
  // @@protoc_insertion_point(field_release:message.Ground_status_msg.base_info)
  clear_has_base_info();
  ::message::Base_info* temp = base_info_;
  base_info_ = NULL;
  return temp;
}
inline ::message::Base_info* Ground_status_msg::mutable_base_info() {
  set_has_base_info();
  if (base_info_ == NULL) {
    auto* p = CreateMaybeMessage<::message::Base_info>(GetArenaNoVirtual());
    base_info_ = p;
  }
  // @@protoc_insertion_point(field_mutable:message.Ground_status_msg.base_info)
  return base_info_;
}
inline void Ground_status_msg::set_allocated_base_info(::message::Base_info* base_info) {
  ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
  if (message_arena == NULL) {
    delete reinterpret_cast< ::google::protobuf::MessageLite*>(base_info_);
  }
  if (base_info) {
    ::google::protobuf::Arena* submessage_arena = NULL;
    if (message_arena != submessage_arena) {
      base_info = ::google::protobuf::internal::GetOwnedMessage(
          message_arena, base_info, submessage_arena);
    }
    set_has_base_info();
  } else {
    clear_has_base_info();
  }
  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::has_id_struct() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void Ground_status_msg::set_has_id_struct() {
  _has_bits_[0] |= 0x00000002u;
}
inline void Ground_status_msg::clear_has_id_struct() {
  _has_bits_[0] &= ~0x00000002u;
}
inline const ::message::Id_struct& Ground_status_msg::_internal_id_struct() const {
  return *id_struct_;
}
inline const ::message::Id_struct& Ground_status_msg::id_struct() const {
  const ::message::Id_struct* p = id_struct_;
  // @@protoc_insertion_point(field_get:message.Ground_status_msg.id_struct)
  return p != NULL ? *p : *reinterpret_cast<const ::message::Id_struct*>(
      &::message::_Id_struct_default_instance_);
}
inline ::message::Id_struct* Ground_status_msg::release_id_struct() {
  // @@protoc_insertion_point(field_release:message.Ground_status_msg.id_struct)
  clear_has_id_struct();
  ::message::Id_struct* temp = id_struct_;
  id_struct_ = NULL;
  return temp;
}
inline ::message::Id_struct* Ground_status_msg::mutable_id_struct() {
  set_has_id_struct();
  if (id_struct_ == NULL) {
    auto* p = CreateMaybeMessage<::message::Id_struct>(GetArenaNoVirtual());
    id_struct_ = p;
  }
  // @@protoc_insertion_point(field_mutable:message.Ground_status_msg.id_struct)
  return id_struct_;
}
inline void Ground_status_msg::set_allocated_id_struct(::message::Id_struct* id_struct) {
  ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
  if (message_arena == NULL) {
    delete reinterpret_cast< ::google::protobuf::MessageLite*>(id_struct_);
  }
  if (id_struct) {
    ::google::protobuf::Arena* submessage_arena = NULL;
    if (message_arena != submessage_arena) {
      id_struct = ::google::protobuf::internal::GetOwnedMessage(
          message_arena, id_struct, submessage_arena);
    }
    set_has_id_struct();
  } else {
    clear_has_id_struct();
  }
  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::has_wanji_manager_status() const {
  return (_has_bits_[0] & 0x00000010u) != 0;
}
inline void Ground_status_msg::set_has_wanji_manager_status() {
  _has_bits_[0] |= 0x00000010u;
}
inline void Ground_status_msg::clear_has_wanji_manager_status() {
  _has_bits_[0] &= ~0x00000010u;
}
inline void Ground_status_msg::clear_wanji_manager_status() {
  wanji_manager_status_ = 0;
  clear_has_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 static_cast< ::message::Wanji_manager_status >(wanji_manager_status_);
}
inline void Ground_status_msg::set_wanji_manager_status(::message::Wanji_manager_status value) {
  assert(::message::Wanji_manager_status_IsValid(value));
  set_has_wanji_manager_status();
  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::wanji_lidar_device_status_size() const {
  return 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::wanji_lidar_device_status(int index) const {
  // @@protoc_insertion_point(field_get:message.Ground_status_msg.wanji_lidar_device_status)
  return static_cast< ::message::Wanji_lidar_device_status >(wanji_lidar_device_status_.Get(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::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);
  // @@protoc_insertion_point(field_add:message.Ground_status_msg.wanji_lidar_device_status)
}
inline const ::google::protobuf::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 ::google::protobuf::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 &wanji_lidar_device_status_;
}

// required .message.Region_worker_status region_worker_status = 5;
inline bool Ground_status_msg::has_region_worker_status() const {
  return (_has_bits_[0] & 0x00000020u) != 0;
}
inline void Ground_status_msg::set_has_region_worker_status() {
  _has_bits_[0] |= 0x00000020u;
}
inline void Ground_status_msg::clear_has_region_worker_status() {
  _has_bits_[0] &= ~0x00000020u;
}
inline void Ground_status_msg::clear_region_worker_status() {
  region_worker_status_ = 0;
  clear_has_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 static_cast< ::message::Region_worker_status >(region_worker_status_);
}
inline void Ground_status_msg::set_region_worker_status(::message::Region_worker_status value) {
  assert(::message::Region_worker_status_IsValid(value));
  set_has_region_worker_status();
  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::has_locate_information_realtime() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
inline void Ground_status_msg::set_has_locate_information_realtime() {
  _has_bits_[0] |= 0x00000004u;
}
inline void Ground_status_msg::clear_has_locate_information_realtime() {
  _has_bits_[0] &= ~0x00000004u;
}
inline const ::message::Locate_information& Ground_status_msg::_internal_locate_information_realtime() const {
  return *locate_information_realtime_;
}
inline const ::message::Locate_information& Ground_status_msg::locate_information_realtime() const {
  const ::message::Locate_information* p = locate_information_realtime_;
  // @@protoc_insertion_point(field_get:message.Ground_status_msg.locate_information_realtime)
  return p != NULL ? *p : *reinterpret_cast<const ::message::Locate_information*>(
      &::message::_Locate_information_default_instance_);
}
inline ::message::Locate_information* Ground_status_msg::release_locate_information_realtime() {
  // @@protoc_insertion_point(field_release:message.Ground_status_msg.locate_information_realtime)
  clear_has_locate_information_realtime();
  ::message::Locate_information* temp = locate_information_realtime_;
  locate_information_realtime_ = NULL;
  return temp;
}
inline ::message::Locate_information* Ground_status_msg::mutable_locate_information_realtime() {
  set_has_locate_information_realtime();
  if (locate_information_realtime_ == NULL) {
    auto* p = CreateMaybeMessage<::message::Locate_information>(GetArenaNoVirtual());
    locate_information_realtime_ = p;
  }
  // @@protoc_insertion_point(field_mutable:message.Ground_status_msg.locate_information_realtime)
  return locate_information_realtime_;
}
inline void Ground_status_msg::set_allocated_locate_information_realtime(::message::Locate_information* locate_information_realtime) {
  ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
  if (message_arena == NULL) {
    delete reinterpret_cast< ::google::protobuf::MessageLite*>(locate_information_realtime_);
  }
  if (locate_information_realtime) {
    ::google::protobuf::Arena* submessage_arena = NULL;
    if (message_arena != submessage_arena) {
      locate_information_realtime = ::google::protobuf::internal::GetOwnedMessage(
          message_arena, locate_information_realtime, submessage_arena);
    }
    set_has_locate_information_realtime();
  } else {
    clear_has_locate_information_realtime();
  }
  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::has_ground_status() const {
  return (_has_bits_[0] & 0x00000040u) != 0;
}
inline void Ground_status_msg::set_has_ground_status() {
  _has_bits_[0] |= 0x00000040u;
}
inline void Ground_status_msg::clear_has_ground_status() {
  _has_bits_[0] &= ~0x00000040u;
}
inline void Ground_status_msg::clear_ground_status() {
  ground_status_ = 0;
  clear_has_ground_status();
}
inline ::message::Ground_statu Ground_status_msg::ground_status() const {
  // @@protoc_insertion_point(field_get:message.Ground_status_msg.ground_status)
  return static_cast< ::message::Ground_statu >(ground_status_);
}
inline void Ground_status_msg::set_ground_status(::message::Ground_statu value) {
  assert(::message::Ground_statu_IsValid(value));
  set_has_ground_status();
  ground_status_ = value;
  // @@protoc_insertion_point(field_set:message.Ground_status_msg.ground_status)
}

// required int32 border_status = 8;
inline bool Ground_status_msg::has_border_status() const {
  return (_has_bits_[0] & 0x00000080u) != 0;
}
inline void Ground_status_msg::set_has_border_status() {
  _has_bits_[0] |= 0x00000080u;
}
inline void Ground_status_msg::clear_has_border_status() {
  _has_bits_[0] &= ~0x00000080u;
}
inline void Ground_status_msg::clear_border_status() {
  border_status_ = 0;
  clear_has_border_status();
}
inline ::google::protobuf::int32 Ground_status_msg::border_status() const {
  // @@protoc_insertion_point(field_get:message.Ground_status_msg.border_status)
  return border_status_;
}
inline void Ground_status_msg::set_border_status(::google::protobuf::int32 value) {
  set_has_border_status();
  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::has_error_manager() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
inline void Ground_status_msg::set_has_error_manager() {
  _has_bits_[0] |= 0x00000008u;
}
inline void Ground_status_msg::clear_has_error_manager() {
  _has_bits_[0] &= ~0x00000008u;
}
inline const ::message::Error_manager& Ground_status_msg::_internal_error_manager() const {
  return *error_manager_;
}
inline const ::message::Error_manager& Ground_status_msg::error_manager() const {
  const ::message::Error_manager* p = error_manager_;
  // @@protoc_insertion_point(field_get:message.Ground_status_msg.error_manager)
  return p != NULL ? *p : *reinterpret_cast<const ::message::Error_manager*>(
      &::message::_Error_manager_default_instance_);
}
inline ::message::Error_manager* Ground_status_msg::release_error_manager() {
  // @@protoc_insertion_point(field_release:message.Ground_status_msg.error_manager)
  clear_has_error_manager();
  ::message::Error_manager* temp = error_manager_;
  error_manager_ = NULL;
  return temp;
}
inline ::message::Error_manager* Ground_status_msg::mutable_error_manager() {
  set_has_error_manager();
  if (error_manager_ == NULL) {
    auto* p = CreateMaybeMessage<::message::Error_manager>(GetArenaNoVirtual());
    error_manager_ = p;
  }
  // @@protoc_insertion_point(field_mutable:message.Ground_status_msg.error_manager)
  return error_manager_;
}
inline void Ground_status_msg::set_allocated_error_manager(::message::Error_manager* error_manager) {
  ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
  if (message_arena == NULL) {
    delete reinterpret_cast< ::google::protobuf::MessageLite*>(error_manager_);
  }
  if (error_manager) {
    ::google::protobuf::Arena* submessage_arena = NULL;
    if (message_arena != submessage_arena) {
      error_manager = ::google::protobuf::internal::GetOwnedMessage(
          message_arena, error_manager, submessage_arena);
    }
    set_has_error_manager();
  } else {
    clear_has_error_manager();
  }
  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::cloud_size() const {
  return 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 ::google::protobuf::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::cloud(int index) const {
  // @@protoc_insertion_point(field_get:message.Ground_status_msg.cloud)
  return cloud_.Get(index);
}
inline ::message::Cloud_coordinate* Ground_status_msg::add_cloud() {
  // @@protoc_insertion_point(field_add:message.Ground_status_msg.cloud)
  return cloud_.Add();
}
inline const ::google::protobuf::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::has_x() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void Cloud_coordinate::set_has_x() {
  _has_bits_[0] |= 0x00000001u;
}
inline void Cloud_coordinate::clear_has_x() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void Cloud_coordinate::clear_x() {
  x_ = 0;
  clear_has_x();
}
inline float Cloud_coordinate::x() const {
  // @@protoc_insertion_point(field_get:message.Cloud_coordinate.x)
  return x_;
}
inline void Cloud_coordinate::set_x(float value) {
  set_has_x();
  x_ = value;
  // @@protoc_insertion_point(field_set:message.Cloud_coordinate.x)
}

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

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

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

// Cloud_type

// required int32 type = 1;
inline bool Cloud_type::has_type() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void Cloud_type::set_has_type() {
  _has_bits_[0] |= 0x00000001u;
}
inline void Cloud_type::clear_has_type() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void Cloud_type::clear_type() {
  type_ = 0;
  clear_has_type();
}
inline ::google::protobuf::int32 Cloud_type::type() const {
  // @@protoc_insertion_point(field_get:message.Cloud_type.type)
  return type_;
}
inline void Cloud_type::set_type(::google::protobuf::int32 value) {
  set_has_type();
  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::has_base_info() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void Locate_sift_request_msg::set_has_base_info() {
  _has_bits_[0] |= 0x00000002u;
}
inline void Locate_sift_request_msg::clear_has_base_info() {
  _has_bits_[0] &= ~0x00000002u;
}
inline const ::message::Base_info& Locate_sift_request_msg::_internal_base_info() const {
  return *base_info_;
}
inline const ::message::Base_info& Locate_sift_request_msg::base_info() const {
  const ::message::Base_info* p = base_info_;
  // @@protoc_insertion_point(field_get:message.Locate_sift_request_msg.base_info)
  return p != NULL ? *p : *reinterpret_cast<const ::message::Base_info*>(
      &::message::_Base_info_default_instance_);
}
inline ::message::Base_info* Locate_sift_request_msg::release_base_info() {
  // @@protoc_insertion_point(field_release:message.Locate_sift_request_msg.base_info)
  clear_has_base_info();
  ::message::Base_info* temp = base_info_;
  base_info_ = NULL;
  return temp;
}
inline ::message::Base_info* Locate_sift_request_msg::mutable_base_info() {
  set_has_base_info();
  if (base_info_ == NULL) {
    auto* p = CreateMaybeMessage<::message::Base_info>(GetArenaNoVirtual());
    base_info_ = p;
  }
  // @@protoc_insertion_point(field_mutable:message.Locate_sift_request_msg.base_info)
  return base_info_;
}
inline void Locate_sift_request_msg::set_allocated_base_info(::message::Base_info* base_info) {
  ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
  if (message_arena == NULL) {
    delete reinterpret_cast< ::google::protobuf::MessageLite*>(base_info_);
  }
  if (base_info) {
    ::google::protobuf::Arena* submessage_arena = NULL;
    if (message_arena != submessage_arena) {
      base_info = ::google::protobuf::internal::GetOwnedMessage(
          message_arena, base_info, submessage_arena);
    }
    set_has_base_info();
  } else {
    clear_has_base_info();
  }
  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::has_command_key() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void Locate_sift_request_msg::set_has_command_key() {
  _has_bits_[0] |= 0x00000001u;
}
inline void Locate_sift_request_msg::clear_has_command_key() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void Locate_sift_request_msg::clear_command_key() {
  command_key_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_command_key();
}
inline const ::std::string& Locate_sift_request_msg::command_key() const {
  // @@protoc_insertion_point(field_get:message.Locate_sift_request_msg.command_key)
  return command_key_.GetNoArena();
}
inline void Locate_sift_request_msg::set_command_key(const ::std::string& value) {
  set_has_command_key();
  command_key_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:message.Locate_sift_request_msg.command_key)
}
#if LANG_CXX11
inline void Locate_sift_request_msg::set_command_key(::std::string&& value) {
  set_has_command_key();
  command_key_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:message.Locate_sift_request_msg.command_key)
}
#endif
inline void Locate_sift_request_msg::set_command_key(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_command_key();
  command_key_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@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) {
  set_has_command_key();
  command_key_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:message.Locate_sift_request_msg.command_key)
}
inline ::std::string* Locate_sift_request_msg::mutable_command_key() {
  set_has_command_key();
  // @@protoc_insertion_point(field_mutable:message.Locate_sift_request_msg.command_key)
  return command_key_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline ::std::string* Locate_sift_request_msg::release_command_key() {
  // @@protoc_insertion_point(field_release:message.Locate_sift_request_msg.command_key)
  if (!has_command_key()) {
    return NULL;
  }
  clear_has_command_key();
  return command_key_.ReleaseNonDefaultNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline void Locate_sift_request_msg::set_allocated_command_key(::std::string* command_key) {
  if (command_key != NULL) {
    set_has_command_key();
  } else {
    clear_has_command_key();
  }
  command_key_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), command_key);
  // @@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::has_id_struct() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
inline void Locate_sift_request_msg::set_has_id_struct() {
  _has_bits_[0] |= 0x00000004u;
}
inline void Locate_sift_request_msg::clear_has_id_struct() {
  _has_bits_[0] &= ~0x00000004u;
}
inline const ::message::Id_struct& Locate_sift_request_msg::_internal_id_struct() const {
  return *id_struct_;
}
inline const ::message::Id_struct& Locate_sift_request_msg::id_struct() const {
  const ::message::Id_struct* p = id_struct_;
  // @@protoc_insertion_point(field_get:message.Locate_sift_request_msg.id_struct)
  return p != NULL ? *p : *reinterpret_cast<const ::message::Id_struct*>(
      &::message::_Id_struct_default_instance_);
}
inline ::message::Id_struct* Locate_sift_request_msg::release_id_struct() {
  // @@protoc_insertion_point(field_release:message.Locate_sift_request_msg.id_struct)
  clear_has_id_struct();
  ::message::Id_struct* temp = id_struct_;
  id_struct_ = NULL;
  return temp;
}
inline ::message::Id_struct* Locate_sift_request_msg::mutable_id_struct() {
  set_has_id_struct();
  if (id_struct_ == NULL) {
    auto* p = CreateMaybeMessage<::message::Id_struct>(GetArenaNoVirtual());
    id_struct_ = p;
  }
  // @@protoc_insertion_point(field_mutable:message.Locate_sift_request_msg.id_struct)
  return id_struct_;
}
inline void Locate_sift_request_msg::set_allocated_id_struct(::message::Id_struct* id_struct) {
  ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
  if (message_arena == NULL) {
    delete reinterpret_cast< ::google::protobuf::MessageLite*>(id_struct_);
  }
  if (id_struct) {
    ::google::protobuf::Arena* submessage_arena = NULL;
    if (message_arena != submessage_arena) {
      id_struct = ::google::protobuf::internal::GetOwnedMessage(
          message_arena, id_struct, submessage_arena);
    }
    set_has_id_struct();
  } else {
    clear_has_id_struct();
  }
  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::has_lidar_id() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
inline void Locate_sift_request_msg::set_has_lidar_id() {
  _has_bits_[0] |= 0x00000008u;
}
inline void Locate_sift_request_msg::clear_has_lidar_id() {
  _has_bits_[0] &= ~0x00000008u;
}
inline void Locate_sift_request_msg::clear_lidar_id() {
  lidar_id_ = 0;
  clear_has_lidar_id();
}
inline ::google::protobuf::int32 Locate_sift_request_msg::lidar_id() const {
  // @@protoc_insertion_point(field_get:message.Locate_sift_request_msg.lidar_id)
  return lidar_id_;
}
inline void Locate_sift_request_msg::set_lidar_id(::google::protobuf::int32 value) {
  set_has_lidar_id();
  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::cloud_coordinates_size() const {
  return 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 ::google::protobuf::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::cloud_coordinates(int index) const {
  // @@protoc_insertion_point(field_get:message.Locate_sift_request_msg.cloud_coordinates)
  return cloud_coordinates_.Get(index);
}
inline ::message::Cloud_coordinate* Locate_sift_request_msg::add_cloud_coordinates() {
  // @@protoc_insertion_point(field_add:message.Locate_sift_request_msg.cloud_coordinates)
  return cloud_coordinates_.Add();
}
inline const ::google::protobuf::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::has_base_info() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void Locate_sift_response_msg::set_has_base_info() {
  _has_bits_[0] |= 0x00000002u;
}
inline void Locate_sift_response_msg::clear_has_base_info() {
  _has_bits_[0] &= ~0x00000002u;
}
inline const ::message::Base_info& Locate_sift_response_msg::_internal_base_info() const {
  return *base_info_;
}
inline const ::message::Base_info& Locate_sift_response_msg::base_info() const {
  const ::message::Base_info* p = base_info_;
  // @@protoc_insertion_point(field_get:message.Locate_sift_response_msg.base_info)
  return p != NULL ? *p : *reinterpret_cast<const ::message::Base_info*>(
      &::message::_Base_info_default_instance_);
}
inline ::message::Base_info* Locate_sift_response_msg::release_base_info() {
  // @@protoc_insertion_point(field_release:message.Locate_sift_response_msg.base_info)
  clear_has_base_info();
  ::message::Base_info* temp = base_info_;
  base_info_ = NULL;
  return temp;
}
inline ::message::Base_info* Locate_sift_response_msg::mutable_base_info() {
  set_has_base_info();
  if (base_info_ == NULL) {
    auto* p = CreateMaybeMessage<::message::Base_info>(GetArenaNoVirtual());
    base_info_ = p;
  }
  // @@protoc_insertion_point(field_mutable:message.Locate_sift_response_msg.base_info)
  return base_info_;
}
inline void Locate_sift_response_msg::set_allocated_base_info(::message::Base_info* base_info) {
  ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
  if (message_arena == NULL) {
    delete reinterpret_cast< ::google::protobuf::MessageLite*>(base_info_);
  }
  if (base_info) {
    ::google::protobuf::Arena* submessage_arena = NULL;
    if (message_arena != submessage_arena) {
      base_info = ::google::protobuf::internal::GetOwnedMessage(
          message_arena, base_info, submessage_arena);
    }
    set_has_base_info();
  } else {
    clear_has_base_info();
  }
  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::has_command_key() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void Locate_sift_response_msg::set_has_command_key() {
  _has_bits_[0] |= 0x00000001u;
}
inline void Locate_sift_response_msg::clear_has_command_key() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void Locate_sift_response_msg::clear_command_key() {
  command_key_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_command_key();
}
inline const ::std::string& Locate_sift_response_msg::command_key() const {
  // @@protoc_insertion_point(field_get:message.Locate_sift_response_msg.command_key)
  return command_key_.GetNoArena();
}
inline void Locate_sift_response_msg::set_command_key(const ::std::string& value) {
  set_has_command_key();
  command_key_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:message.Locate_sift_response_msg.command_key)
}
#if LANG_CXX11
inline void Locate_sift_response_msg::set_command_key(::std::string&& value) {
  set_has_command_key();
  command_key_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:message.Locate_sift_response_msg.command_key)
}
#endif
inline void Locate_sift_response_msg::set_command_key(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_command_key();
  command_key_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@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) {
  set_has_command_key();
  command_key_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:message.Locate_sift_response_msg.command_key)
}
inline ::std::string* Locate_sift_response_msg::mutable_command_key() {
  set_has_command_key();
  // @@protoc_insertion_point(field_mutable:message.Locate_sift_response_msg.command_key)
  return command_key_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline ::std::string* Locate_sift_response_msg::release_command_key() {
  // @@protoc_insertion_point(field_release:message.Locate_sift_response_msg.command_key)
  if (!has_command_key()) {
    return NULL;
  }
  clear_has_command_key();
  return command_key_.ReleaseNonDefaultNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline void Locate_sift_response_msg::set_allocated_command_key(::std::string* command_key) {
  if (command_key != NULL) {
    set_has_command_key();
  } else {
    clear_has_command_key();
  }
  command_key_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), command_key);
  // @@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::has_id_struct() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
inline void Locate_sift_response_msg::set_has_id_struct() {
  _has_bits_[0] |= 0x00000004u;
}
inline void Locate_sift_response_msg::clear_has_id_struct() {
  _has_bits_[0] &= ~0x00000004u;
}
inline const ::message::Id_struct& Locate_sift_response_msg::_internal_id_struct() const {
  return *id_struct_;
}
inline const ::message::Id_struct& Locate_sift_response_msg::id_struct() const {
  const ::message::Id_struct* p = id_struct_;
  // @@protoc_insertion_point(field_get:message.Locate_sift_response_msg.id_struct)
  return p != NULL ? *p : *reinterpret_cast<const ::message::Id_struct*>(
      &::message::_Id_struct_default_instance_);
}
inline ::message::Id_struct* Locate_sift_response_msg::release_id_struct() {
  // @@protoc_insertion_point(field_release:message.Locate_sift_response_msg.id_struct)
  clear_has_id_struct();
  ::message::Id_struct* temp = id_struct_;
  id_struct_ = NULL;
  return temp;
}
inline ::message::Id_struct* Locate_sift_response_msg::mutable_id_struct() {
  set_has_id_struct();
  if (id_struct_ == NULL) {
    auto* p = CreateMaybeMessage<::message::Id_struct>(GetArenaNoVirtual());
    id_struct_ = p;
  }
  // @@protoc_insertion_point(field_mutable:message.Locate_sift_response_msg.id_struct)
  return id_struct_;
}
inline void Locate_sift_response_msg::set_allocated_id_struct(::message::Id_struct* id_struct) {
  ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
  if (message_arena == NULL) {
    delete reinterpret_cast< ::google::protobuf::MessageLite*>(id_struct_);
  }
  if (id_struct) {
    ::google::protobuf::Arena* submessage_arena = NULL;
    if (message_arena != submessage_arena) {
      id_struct = ::google::protobuf::internal::GetOwnedMessage(
          message_arena, id_struct, submessage_arena);
    }
    set_has_id_struct();
  } else {
    clear_has_id_struct();
  }
  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::has_lidar_id() const {
  return (_has_bits_[0] & 0x00000010u) != 0;
}
inline void Locate_sift_response_msg::set_has_lidar_id() {
  _has_bits_[0] |= 0x00000010u;
}
inline void Locate_sift_response_msg::clear_has_lidar_id() {
  _has_bits_[0] &= ~0x00000010u;
}
inline void Locate_sift_response_msg::clear_lidar_id() {
  lidar_id_ = 0;
  clear_has_lidar_id();
}
inline ::google::protobuf::int32 Locate_sift_response_msg::lidar_id() const {
  // @@protoc_insertion_point(field_get:message.Locate_sift_response_msg.lidar_id)
  return lidar_id_;
}
inline void Locate_sift_response_msg::set_lidar_id(::google::protobuf::int32 value) {
  set_has_lidar_id();
  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::cloud_type_size() const {
  return 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 ::google::protobuf::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::cloud_type(int index) const {
  // @@protoc_insertion_point(field_get:message.Locate_sift_response_msg.cloud_type)
  return cloud_type_.Get(index);
}
inline ::message::Cloud_type* Locate_sift_response_msg::add_cloud_type() {
  // @@protoc_insertion_point(field_add:message.Locate_sift_response_msg.cloud_type)
  return cloud_type_.Add();
}
inline const ::google::protobuf::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::has_error_manager() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
inline void Locate_sift_response_msg::set_has_error_manager() {
  _has_bits_[0] |= 0x00000008u;
}
inline void Locate_sift_response_msg::clear_has_error_manager() {
  _has_bits_[0] &= ~0x00000008u;
}
inline const ::message::Error_manager& Locate_sift_response_msg::_internal_error_manager() const {
  return *error_manager_;
}
inline const ::message::Error_manager& Locate_sift_response_msg::error_manager() const {
  const ::message::Error_manager* p = error_manager_;
  // @@protoc_insertion_point(field_get:message.Locate_sift_response_msg.error_manager)
  return p != NULL ? *p : *reinterpret_cast<const ::message::Error_manager*>(
      &::message::_Error_manager_default_instance_);
}
inline ::message::Error_manager* Locate_sift_response_msg::release_error_manager() {
  // @@protoc_insertion_point(field_release:message.Locate_sift_response_msg.error_manager)
  clear_has_error_manager();
  ::message::Error_manager* temp = error_manager_;
  error_manager_ = NULL;
  return temp;
}
inline ::message::Error_manager* Locate_sift_response_msg::mutable_error_manager() {
  set_has_error_manager();
  if (error_manager_ == NULL) {
    auto* p = CreateMaybeMessage<::message::Error_manager>(GetArenaNoVirtual());
    error_manager_ = p;
  }
  // @@protoc_insertion_point(field_mutable:message.Locate_sift_response_msg.error_manager)
  return error_manager_;
}
inline void Locate_sift_response_msg::set_allocated_error_manager(::message::Error_manager* error_manager) {
  ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
  if (message_arena == NULL) {
    delete reinterpret_cast< ::google::protobuf::MessageLite*>(error_manager_);
  }
  if (error_manager) {
    ::google::protobuf::Arena* submessage_arena = NULL;
    if (message_arena != submessage_arena) {
      error_manager = ::google::protobuf::internal::GetOwnedMessage(
          message_arena, error_manager, submessage_arena);
    }
    set_has_error_manager();
  } else {
    clear_has_error_manager();
  }
  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

namespace google {
namespace protobuf {

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();
}

}  // namespace protobuf
}  // namespace google

// @@protoc_insertion_point(global_scope)

#endif  // PROTOBUF_INCLUDED_measure_5fmessage_2eproto
