JaiaBot  1.19.0
JaiaBot micro-AUV software
jaia_dccl.pb.h
Go to the documentation of this file.
1 // Generated by the protocol buffer compiler. DO NOT EDIT!
2 // source: jaiabot/messages/jaia_dccl.proto
3 
4 #ifndef GOOGLE_PROTOBUF_INCLUDED_jaiabot_2fmessages_2fjaia_5fdccl_2eproto
5 #define GOOGLE_PROTOBUF_INCLUDED_jaiabot_2fmessages_2fjaia_5fdccl_2eproto
6 
7 #include <limits>
8 #include <string>
9 
10 #include <google/protobuf/port_def.inc>
11 #if PROTOBUF_VERSION < 3012000
12 #error This file was generated by a newer version of protoc which is
13 #error incompatible with your Protocol Buffer headers. Please update
14 #error your headers.
15 #endif
16 #if 3012004 < PROTOBUF_MIN_PROTOC_VERSION
17 #error This file was generated by an older version of protoc which is
18 #error incompatible with your Protocol Buffer headers. Please
19 #error regenerate this file with a newer version of protoc.
20 #endif
21 
22 #include <google/protobuf/port_undef.inc>
23 #include <google/protobuf/io/coded_stream.h>
24 #include <google/protobuf/arena.h>
25 #include <google/protobuf/arenastring.h>
26 #include <google/protobuf/generated_message_table_driven.h>
27 #include <google/protobuf/generated_message_util.h>
28 #include <google/protobuf/inlined_string_field.h>
29 #include <google/protobuf/metadata_lite.h>
30 #include <google/protobuf/generated_message_reflection.h>
31 #include <google/protobuf/message.h>
32 #include <google/protobuf/repeated_field.h> // IWYU pragma: export
33 #include <google/protobuf/extension_set.h> // IWYU pragma: export
34 #include <google/protobuf/generated_enum_reflection.h>
35 #include <google/protobuf/unknown_field_set.h>
36 #include "dccl/option_extensions.pb.h"
40 #include "goby/middleware/protobuf/coroner.pb.h"
45 #include <boost/units/quantity.hpp>
46 #include <boost/units/absolute.hpp>
47 #include <boost/units/dimensionless_type.hpp>
48 #include <boost/units/make_scaled_unit.hpp>
49 
50 #include <boost/units/systems/angle/degrees.hpp>
51 
52 #include <boost/units/systems/temperature/celsius.hpp>
53 
54 #include <boost/units/systems/si.hpp>
55 // @@protoc_insertion_point(includes)
56 #include <google/protobuf/port_def.inc>
57 #define PROTOBUF_INTERNAL_EXPORT_jaiabot_2fmessages_2fjaia_5fdccl_2eproto
58 PROTOBUF_NAMESPACE_OPEN
59 namespace internal {
60 class AnyMetadata;
61 } // namespace internal
62 PROTOBUF_NAMESPACE_CLOSE
63 
64 // Internal implementation detail -- do not use these members.
66  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[]
67  PROTOBUF_SECTION_VARIABLE(protodesc_cold);
68  static const ::PROTOBUF_NAMESPACE_ID::internal::AuxillaryParseTableField aux[]
69  PROTOBUF_SECTION_VARIABLE(protodesc_cold);
70  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[11]
71  PROTOBUF_SECTION_VARIABLE(protodesc_cold);
72  static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[];
73  static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[];
74  static const ::PROTOBUF_NAMESPACE_ID::uint32 offsets[];
75 };
76 extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_jaiabot_2fmessages_2fjaia_5fdccl_2eproto;
77 namespace jaiabot {
78 namespace protobuf {
79 class BotStatus;
80 class BotStatusDefaultTypeInternal;
81 extern BotStatusDefaultTypeInternal _BotStatus_default_instance_;
82 class BotStatus_Attitude;
83 class BotStatus_AttitudeDefaultTypeInternal;
84 extern BotStatus_AttitudeDefaultTypeInternal _BotStatus_Attitude_default_instance_;
85 class BotStatus_Speed;
86 class BotStatus_SpeedDefaultTypeInternal;
87 extern BotStatus_SpeedDefaultTypeInternal _BotStatus_Speed_default_instance_;
88 class Command;
89 class CommandDefaultTypeInternal;
90 extern CommandDefaultTypeInternal _Command_default_instance_;
91 class CommandForHub;
92 class CommandForHubDefaultTypeInternal;
93 extern CommandForHubDefaultTypeInternal _CommandForHub_default_instance_;
94 class ContactUpdate;
95 class ContactUpdateDefaultTypeInternal;
96 extern ContactUpdateDefaultTypeInternal _ContactUpdate_default_instance_;
97 class DivePacket;
98 class DivePacketDefaultTypeInternal;
99 extern DivePacketDefaultTypeInternal _DivePacket_default_instance_;
100 class DivePacket_Measurements;
101 class DivePacket_MeasurementsDefaultTypeInternal;
102 extern DivePacket_MeasurementsDefaultTypeInternal _DivePacket_Measurements_default_instance_;
103 class DriftPacket;
104 class DriftPacketDefaultTypeInternal;
105 extern DriftPacketDefaultTypeInternal _DriftPacket_default_instance_;
106 class DriftPacket_EstimatedDrift;
107 class DriftPacket_EstimatedDriftDefaultTypeInternal;
108 extern DriftPacket_EstimatedDriftDefaultTypeInternal _DriftPacket_EstimatedDrift_default_instance_;
109 class TaskPacket;
110 class TaskPacketDefaultTypeInternal;
111 extern TaskPacketDefaultTypeInternal _TaskPacket_default_instance_;
112 } // namespace protobuf
113 } // namespace jaiabot
114 PROTOBUF_NAMESPACE_OPEN
115 template<> ::jaiabot::protobuf::BotStatus* Arena::CreateMaybeMessage<::jaiabot::protobuf::BotStatus>(Arena*);
116 template<> ::jaiabot::protobuf::BotStatus_Attitude* Arena::CreateMaybeMessage<::jaiabot::protobuf::BotStatus_Attitude>(Arena*);
117 template<> ::jaiabot::protobuf::BotStatus_Speed* Arena::CreateMaybeMessage<::jaiabot::protobuf::BotStatus_Speed>(Arena*);
118 template<> ::jaiabot::protobuf::Command* Arena::CreateMaybeMessage<::jaiabot::protobuf::Command>(Arena*);
119 template<> ::jaiabot::protobuf::CommandForHub* Arena::CreateMaybeMessage<::jaiabot::protobuf::CommandForHub>(Arena*);
120 template<> ::jaiabot::protobuf::ContactUpdate* Arena::CreateMaybeMessage<::jaiabot::protobuf::ContactUpdate>(Arena*);
121 template<> ::jaiabot::protobuf::DivePacket* Arena::CreateMaybeMessage<::jaiabot::protobuf::DivePacket>(Arena*);
122 template<> ::jaiabot::protobuf::DivePacket_Measurements* Arena::CreateMaybeMessage<::jaiabot::protobuf::DivePacket_Measurements>(Arena*);
123 template<> ::jaiabot::protobuf::DriftPacket* Arena::CreateMaybeMessage<::jaiabot::protobuf::DriftPacket>(Arena*);
124 template<> ::jaiabot::protobuf::DriftPacket_EstimatedDrift* Arena::CreateMaybeMessage<::jaiabot::protobuf::DriftPacket_EstimatedDrift>(Arena*);
125 template<> ::jaiabot::protobuf::TaskPacket* Arena::CreateMaybeMessage<::jaiabot::protobuf::TaskPacket>(Arena*);
126 PROTOBUF_NAMESPACE_CLOSE
127 namespace jaiabot {
128 namespace protobuf {
129 
151 };
156 
157 const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* Command_CommandType_descriptor();
158 template<typename T>
159 inline const std::string& Command_CommandType_Name(T enum_t_value) {
160  static_assert(::std::is_same<T, Command_CommandType>::value ||
161  ::std::is_integral<T>::value,
162  "Incorrect type passed to function Command_CommandType_Name.");
163  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
164  Command_CommandType_descriptor(), enum_t_value);
165 }
167  const std::string& name, Command_CommandType* value) {
168  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<Command_CommandType>(
169  Command_CommandType_descriptor(), name, value);
170 }
177 };
182 
183 const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* CommandForHub_HubCommandType_descriptor();
184 template<typename T>
185 inline const std::string& CommandForHub_HubCommandType_Name(T enum_t_value) {
186  static_assert(::std::is_same<T, CommandForHub_HubCommandType>::value ||
187  ::std::is_integral<T>::value,
188  "Incorrect type passed to function CommandForHub_HubCommandType_Name.");
189  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
191 }
193  const std::string& name, CommandForHub_HubCommandType* value) {
194  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<CommandForHub_HubCommandType>(
196 }
197 enum BotStatus_BotType : int {
200 };
205 
206 const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* BotStatus_BotType_descriptor();
207 template<typename T>
208 inline const std::string& BotStatus_BotType_Name(T enum_t_value) {
209  static_assert(::std::is_same<T, BotStatus_BotType>::value ||
210  ::std::is_integral<T>::value,
211  "Incorrect type passed to function BotStatus_BotType_Name.");
212  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
213  BotStatus_BotType_descriptor(), enum_t_value);
214 }
216  const std::string& name, BotStatus_BotType* value) {
217  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<BotStatus_BotType>(
218  BotStatus_BotType_descriptor(), name, value);
219 }
223 };
228 
229 const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* DivePacket_BottomType_descriptor();
230 template<typename T>
231 inline const std::string& DivePacket_BottomType_Name(T enum_t_value) {
232  static_assert(::std::is_same<T, DivePacket_BottomType>::value ||
233  ::std::is_integral<T>::value,
234  "Incorrect type passed to function DivePacket_BottomType_Name.");
235  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
236  DivePacket_BottomType_descriptor(), enum_t_value);
237 }
239  const std::string& name, DivePacket_BottomType* value) {
240  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<DivePacket_BottomType>(
241  DivePacket_BottomType_descriptor(), name, value);
242 }
243 // ===================================================================
244 
245 class Command PROTOBUF_FINAL :
246  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:jaiabot.protobuf.Command) */ {
247  public:
248  inline Command() : Command(nullptr) {};
249  virtual ~Command();
250 
251  Command(const Command& from);
252  Command(Command&& from) noexcept
253  : Command() {
254  *this = ::std::move(from);
255  }
256 
257  inline Command& operator=(const Command& from) {
258  CopyFrom(from);
259  return *this;
260  }
261  inline Command& operator=(Command&& from) noexcept {
262  if (GetArena() == from.GetArena()) {
263  if (this != &from) InternalSwap(&from);
264  } else {
265  CopyFrom(from);
266  }
267  return *this;
268  }
269 
270  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
271  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
272  }
273  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
274  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
275  }
276 
277  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
278  return GetDescriptor();
279  }
280  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
281  return GetMetadataStatic().descriptor;
282  }
283  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
284  return GetMetadataStatic().reflection;
285  }
286  static const Command& default_instance();
287 
289  kPlan = 20,
290  kRc = 30,
291  kRcTask = 31,
292  COMMAND_DATA_NOT_SET = 0,
293  };
294 
295  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
296  static inline const Command* internal_default_instance() {
297  return reinterpret_cast<const Command*>(
299  }
300  static constexpr int kIndexInFileMessages =
301  0;
302 
303  friend void swap(Command& a, Command& b) {
304  a.Swap(&b);
305  }
306  inline void Swap(Command* other) {
307  if (other == this) return;
308  if (GetArena() == other->GetArena()) {
309  InternalSwap(other);
310  } else {
311  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
312  }
313  }
314  void UnsafeArenaSwap(Command* other) {
315  if (other == this) return;
316  GOOGLE_DCHECK(GetArena() == other->GetArena());
317  InternalSwap(other);
318  }
319 
320  // implements Message ----------------------------------------------
321 
322  inline Command* New() const final {
323  return CreateMaybeMessage<Command>(nullptr);
324  }
325 
326  Command* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
327  return CreateMaybeMessage<Command>(arena);
328  }
329  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
330  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
331  void CopyFrom(const Command& from);
332  void MergeFrom(const Command& from);
333  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
334  bool IsInitialized() const final;
335 
336  size_t ByteSizeLong() const final;
337  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
338  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
339  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
340  int GetCachedSize() const final { return _cached_size_.Get(); }
341 
342  private:
343  inline void SharedCtor();
344  inline void SharedDtor();
345  void SetCachedSize(int size) const final;
346  void InternalSwap(Command* other);
347  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
348  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
349  return "jaiabot.protobuf.Command";
350  }
351  protected:
352  explicit Command(::PROTOBUF_NAMESPACE_ID::Arena* arena);
353  private:
354  static void ArenaDtor(void* object);
355  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
356  public:
357 
358  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
359  private:
360  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
361  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_jaiabot_2fmessages_2fjaia_5fdccl_2eproto);
362  return ::descriptor_table_jaiabot_2fmessages_2fjaia_5fdccl_2eproto.file_level_metadata[kIndexInFileMessages];
363  }
364 
365  public:
366 
367  // nested types ----------------------------------------------------
368 
370  static constexpr CommandType MISSION_PLAN =
372  static constexpr CommandType ACTIVATE =
374  static constexpr CommandType START_MISSION =
376  static constexpr CommandType MISSION_PLAN_FRAGMENT =
378  static constexpr CommandType NEXT_TASK =
380  static constexpr CommandType RETURN_TO_HOME =
382  static constexpr CommandType STOP =
384  static constexpr CommandType PAUSE =
386  static constexpr CommandType RESUME =
388  static constexpr CommandType REMOTE_CONTROL_SETPOINT =
390  static constexpr CommandType REMOTE_CONTROL_TASK =
392  static constexpr CommandType REMOTE_CONTROL_RESUME_MOVEMENT =
394  static constexpr CommandType RECOVERED =
396  static constexpr CommandType SHUTDOWN =
398  static constexpr CommandType RETRY_DATA_OFFLOAD =
400  static constexpr CommandType DATA_OFFLOAD_COMPLETE =
402  static constexpr CommandType DATA_OFFLOAD_FAILED =
404  static constexpr CommandType RESTART_ALL_SERVICES =
406  static constexpr CommandType REBOOT_COMPUTER =
408  static constexpr CommandType SHUTDOWN_COMPUTER =
410  static inline bool CommandType_IsValid(int value) {
411  return Command_CommandType_IsValid(value);
412  }
413  static constexpr CommandType CommandType_MIN =
415  static constexpr CommandType CommandType_MAX =
417  static constexpr int CommandType_ARRAYSIZE =
419  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
422  }
423  template<typename T>
424  static inline const std::string& CommandType_Name(T enum_t_value) {
425  static_assert(::std::is_same<T, CommandType>::value ||
426  ::std::is_integral<T>::value,
427  "Incorrect type passed to function CommandType_Name.");
428  return Command_CommandType_Name(enum_t_value);
429  }
430  static inline bool CommandType_Parse(const std::string& name,
431  CommandType* value) {
432  return Command_CommandType_Parse(name, value);
433  }
434 
435  // accessors -------------------------------------------------------
436 
437  enum : int {
438  kTimeFieldNumber = 2,
439  kBotIdFieldNumber = 1,
440  kLinkFieldNumber = 3,
441  kTypeFieldNumber = 10,
442  kPlanFieldNumber = 20,
443  kRcFieldNumber = 30,
444  kRcTaskFieldNumber = 31,
445  };
446  // required uint64 time = 2 [(.dccl.field) = {
447  bool has_time() const;
448  private:
449  bool _internal_has_time() const;
450  public:
451  void clear_time();
452  ::PROTOBUF_NAMESPACE_ID::uint64 time() const;
453  void set_time(::PROTOBUF_NAMESPACE_ID::uint64 value);
454  private:
455  ::PROTOBUF_NAMESPACE_ID::uint64 _internal_time() const;
456  void _internal_set_time(::PROTOBUF_NAMESPACE_ID::uint64 value);
457  public:
458 
459  // required uint32 bot_id = 1 [(.dccl.field) = {
460  bool has_bot_id() const;
461  private:
462  bool _internal_has_bot_id() const;
463  public:
464  void clear_bot_id();
465  ::PROTOBUF_NAMESPACE_ID::uint32 bot_id() const;
466  void set_bot_id(::PROTOBUF_NAMESPACE_ID::uint32 value);
467  private:
468  ::PROTOBUF_NAMESPACE_ID::uint32 _internal_bot_id() const;
469  void _internal_set_bot_id(::PROTOBUF_NAMESPACE_ID::uint32 value);
470  public:
471 
472  // optional .jaiabot.protobuf.Link link = 3 [(.dccl.field) = {
473  bool has_link() const;
474  private:
475  bool _internal_has_link() const;
476  public:
477  void clear_link();
480  private:
481  ::jaiabot::protobuf::Link _internal_link() const;
482  void _internal_set_link(::jaiabot::protobuf::Link value);
483  public:
484 
485  // required .jaiabot.protobuf.Command.CommandType type = 10 [(.jaia.field) = {
486  bool has_type() const;
487  private:
488  bool _internal_has_type() const;
489  public:
490  void clear_type();
493  private:
494  ::jaiabot::protobuf::Command_CommandType _internal_type() const;
495  void _internal_set_type(::jaiabot::protobuf::Command_CommandType value);
496  public:
497 
498  // .jaiabot.protobuf.MissionPlan plan = 20 [(.jaia.field) = {
499  bool has_plan() const;
500  private:
501  bool _internal_has_plan() const;
502  public:
503  void clear_plan();
504  const ::jaiabot::protobuf::MissionPlan& plan() const;
505  ::jaiabot::protobuf::MissionPlan* release_plan();
506  ::jaiabot::protobuf::MissionPlan* mutable_plan();
507  void set_allocated_plan(::jaiabot::protobuf::MissionPlan* plan);
508  private:
509  const ::jaiabot::protobuf::MissionPlan& _internal_plan() const;
510  ::jaiabot::protobuf::MissionPlan* _internal_mutable_plan();
511  public:
513  ::jaiabot::protobuf::MissionPlan* plan);
514  ::jaiabot::protobuf::MissionPlan* unsafe_arena_release_plan();
515 
516  // .jaiabot.protobuf.RemoteControl rc = 30 [(.jaia.field) = {
517  bool has_rc() const;
518  private:
519  bool _internal_has_rc() const;
520  public:
521  void clear_rc();
522  const ::jaiabot::protobuf::RemoteControl& rc() const;
523  ::jaiabot::protobuf::RemoteControl* release_rc();
524  ::jaiabot::protobuf::RemoteControl* mutable_rc();
525  void set_allocated_rc(::jaiabot::protobuf::RemoteControl* rc);
526  private:
527  const ::jaiabot::protobuf::RemoteControl& _internal_rc() const;
528  ::jaiabot::protobuf::RemoteControl* _internal_mutable_rc();
529  public:
531  ::jaiabot::protobuf::RemoteControl* rc);
532  ::jaiabot::protobuf::RemoteControl* unsafe_arena_release_rc();
533 
534  // .jaiabot.protobuf.MissionTask rc_task = 31;
535  bool has_rc_task() const;
536  private:
537  bool _internal_has_rc_task() const;
538  public:
540  const ::jaiabot::protobuf::MissionTask& rc_task() const;
541  ::jaiabot::protobuf::MissionTask* release_rc_task();
542  ::jaiabot::protobuf::MissionTask* mutable_rc_task();
543  void set_allocated_rc_task(::jaiabot::protobuf::MissionTask* rc_task);
544  private:
545  const ::jaiabot::protobuf::MissionTask& _internal_rc_task() const;
546  ::jaiabot::protobuf::MissionTask* _internal_mutable_rc_task();
547  public:
549  ::jaiabot::protobuf::MissionTask* rc_task);
550  ::jaiabot::protobuf::MissionTask* unsafe_arena_release_rc_task();
551 
554  enum DCCLParameters { DCCL_ID = 80, DCCL_MAX_BYTES = 250 };
555  typedef boost::units::time_dimension time_dimension;
556 
557  typedef boost::units::make_scaled_unit<boost::units::unit<time_dimension,boost::units::si::system> , boost::units::scale<10, boost::units::static_rational<-6> > >::type time_unit;
558 
559  template<typename Quantity >
560  void set_time_with_units(Quantity value_w_units)
561  { set_time(boost::units::quantity<time_unit,google::protobuf::uint64 >(value_w_units).value() ); };
562 
563  template<typename Quantity >
564  Quantity time_with_units() const
565  { return Quantity(time() * time_unit()); };
566 
567  boost::units::quantity< time_unit,google::protobuf::uint64 > time_with_units() const
568  { return time_with_units<boost::units::quantity< time_unit,google::protobuf::uint64 > >(); };
569 
570  // @@protoc_insertion_point(class_scope:jaiabot.protobuf.Command)
571  private:
572  class _Internal;
573  void set_has_plan();
574  void set_has_rc();
575  void set_has_rc_task();
576 
577  inline bool has_command_data() const;
578  inline void clear_has_command_data();
579 
580  // helper for ByteSizeLong()
581  size_t RequiredFieldsByteSizeFallback() const;
582 
583  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
584  typedef void InternalArenaConstructable_;
585  typedef void DestructorSkippable_;
586  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
587  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
588  ::PROTOBUF_NAMESPACE_ID::uint64 time_;
589  ::PROTOBUF_NAMESPACE_ID::uint32 bot_id_;
590  int link_;
591  int type_;
592  union CommandDataUnion {
593  CommandDataUnion() {}
594  ::jaiabot::protobuf::MissionPlan* plan_;
595  ::jaiabot::protobuf::RemoteControl* rc_;
596  ::jaiabot::protobuf::MissionTask* rc_task_;
597  } command_data_;
598  ::PROTOBUF_NAMESPACE_ID::uint32 _oneof_case_[1];
599 
600  friend struct ::TableStruct_jaiabot_2fmessages_2fjaia_5fdccl_2eproto;
601 };
602 // -------------------------------------------------------------------
603 
604 class CommandForHub PROTOBUF_FINAL :
605  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:jaiabot.protobuf.CommandForHub) */ {
606  public:
607  inline CommandForHub() : CommandForHub(nullptr) {};
608  virtual ~CommandForHub();
609 
610  CommandForHub(const CommandForHub& from);
611  CommandForHub(CommandForHub&& from) noexcept
612  : CommandForHub() {
613  *this = ::std::move(from);
614  }
615 
616  inline CommandForHub& operator=(const CommandForHub& from) {
617  CopyFrom(from);
618  return *this;
619  }
620  inline CommandForHub& operator=(CommandForHub&& from) noexcept {
621  if (GetArena() == from.GetArena()) {
622  if (this != &from) InternalSwap(&from);
623  } else {
624  CopyFrom(from);
625  }
626  return *this;
627  }
628 
629  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
630  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
631  }
632  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
633  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
634  }
635 
636  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
637  return GetDescriptor();
638  }
639  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
640  return GetMetadataStatic().descriptor;
641  }
642  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
643  return GetMetadataStatic().reflection;
644  }
645  static const CommandForHub& default_instance();
646 
647  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
648  static inline const CommandForHub* internal_default_instance() {
649  return reinterpret_cast<const CommandForHub*>(
651  }
652  static constexpr int kIndexInFileMessages =
653  1;
654 
655  friend void swap(CommandForHub& a, CommandForHub& b) {
656  a.Swap(&b);
657  }
658  inline void Swap(CommandForHub* other) {
659  if (other == this) return;
660  if (GetArena() == other->GetArena()) {
661  InternalSwap(other);
662  } else {
663  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
664  }
665  }
666  void UnsafeArenaSwap(CommandForHub* other) {
667  if (other == this) return;
668  GOOGLE_DCHECK(GetArena() == other->GetArena());
669  InternalSwap(other);
670  }
671 
672  // implements Message ----------------------------------------------
673 
674  inline CommandForHub* New() const final {
675  return CreateMaybeMessage<CommandForHub>(nullptr);
676  }
677 
678  CommandForHub* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
679  return CreateMaybeMessage<CommandForHub>(arena);
680  }
681  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
682  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
683  void CopyFrom(const CommandForHub& from);
684  void MergeFrom(const CommandForHub& from);
685  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
686  bool IsInitialized() const final;
687 
688  size_t ByteSizeLong() const final;
689  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
690  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
691  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
692  int GetCachedSize() const final { return _cached_size_.Get(); }
693 
694  private:
695  inline void SharedCtor();
696  inline void SharedDtor();
697  void SetCachedSize(int size) const final;
698  void InternalSwap(CommandForHub* other);
699  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
700  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
701  return "jaiabot.protobuf.CommandForHub";
702  }
703  protected:
704  explicit CommandForHub(::PROTOBUF_NAMESPACE_ID::Arena* arena);
705  private:
706  static void ArenaDtor(void* object);
707  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
708  public:
709 
710  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
711  private:
712  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
713  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_jaiabot_2fmessages_2fjaia_5fdccl_2eproto);
714  return ::descriptor_table_jaiabot_2fmessages_2fjaia_5fdccl_2eproto.file_level_metadata[kIndexInFileMessages];
715  }
716 
717  public:
718 
719  // nested types ----------------------------------------------------
720 
722  static constexpr HubCommandType SCAN_FOR_BOTS =
724  static constexpr HubCommandType RESTART_ALL_SERVICES =
726  static constexpr HubCommandType REBOOT_COMPUTER =
728  static constexpr HubCommandType SHUTDOWN_COMPUTER =
730  static constexpr HubCommandType SET_HUB_LOCATION =
732  static inline bool HubCommandType_IsValid(int value) {
734  }
735  static constexpr HubCommandType HubCommandType_MIN =
737  static constexpr HubCommandType HubCommandType_MAX =
739  static constexpr int HubCommandType_ARRAYSIZE =
741  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
744  }
745  template<typename T>
746  static inline const std::string& HubCommandType_Name(T enum_t_value) {
747  static_assert(::std::is_same<T, HubCommandType>::value ||
748  ::std::is_integral<T>::value,
749  "Incorrect type passed to function HubCommandType_Name.");
750  return CommandForHub_HubCommandType_Name(enum_t_value);
751  }
752  static inline bool HubCommandType_Parse(const std::string& name,
753  HubCommandType* value) {
754  return CommandForHub_HubCommandType_Parse(name, value);
755  }
756 
757  // accessors -------------------------------------------------------
758 
759  enum : int {
760  kHubLocationFieldNumber = 80,
761  kTimeFieldNumber = 2,
762  kHubIdFieldNumber = 1,
763  kScanForBotIdFieldNumber = 11,
764  kTypeFieldNumber = 10,
765  };
766  // optional .jaiabot.protobuf.GeographicCoordinate hub_location = 80 [(.jaia.field) = {
767  bool has_hub_location() const;
768  private:
769  bool _internal_has_hub_location() const;
770  public:
772  const ::jaiabot::protobuf::GeographicCoordinate& hub_location() const;
773  ::jaiabot::protobuf::GeographicCoordinate* release_hub_location();
774  ::jaiabot::protobuf::GeographicCoordinate* mutable_hub_location();
775  void set_allocated_hub_location(::jaiabot::protobuf::GeographicCoordinate* hub_location);
776  private:
777  const ::jaiabot::protobuf::GeographicCoordinate& _internal_hub_location() const;
778  ::jaiabot::protobuf::GeographicCoordinate* _internal_mutable_hub_location();
779  public:
781  ::jaiabot::protobuf::GeographicCoordinate* hub_location);
782  ::jaiabot::protobuf::GeographicCoordinate* unsafe_arena_release_hub_location();
783 
784  // required uint64 time = 2 [(.dccl.field) = {
785  bool has_time() const;
786  private:
787  bool _internal_has_time() const;
788  public:
789  void clear_time();
790  ::PROTOBUF_NAMESPACE_ID::uint64 time() const;
791  void set_time(::PROTOBUF_NAMESPACE_ID::uint64 value);
792  private:
793  ::PROTOBUF_NAMESPACE_ID::uint64 _internal_time() const;
794  void _internal_set_time(::PROTOBUF_NAMESPACE_ID::uint64 value);
795  public:
796 
797  // required uint32 hub_id = 1 [(.jaia.field) = {
798  bool has_hub_id() const;
799  private:
800  bool _internal_has_hub_id() const;
801  public:
802  void clear_hub_id();
803  ::PROTOBUF_NAMESPACE_ID::uint32 hub_id() const;
804  void set_hub_id(::PROTOBUF_NAMESPACE_ID::uint32 value);
805  private:
806  ::PROTOBUF_NAMESPACE_ID::uint32 _internal_hub_id() const;
807  void _internal_set_hub_id(::PROTOBUF_NAMESPACE_ID::uint32 value);
808  public:
809 
810  // optional uint32 scan_for_bot_id = 11;
811  bool has_scan_for_bot_id() const;
812  private:
813  bool _internal_has_scan_for_bot_id() const;
814  public:
816  ::PROTOBUF_NAMESPACE_ID::uint32 scan_for_bot_id() const;
817  void set_scan_for_bot_id(::PROTOBUF_NAMESPACE_ID::uint32 value);
818  private:
819  ::PROTOBUF_NAMESPACE_ID::uint32 _internal_scan_for_bot_id() const;
820  void _internal_set_scan_for_bot_id(::PROTOBUF_NAMESPACE_ID::uint32 value);
821  public:
822 
823  // required .jaiabot.protobuf.CommandForHub.HubCommandType type = 10 [(.jaia.field) = {
824  bool has_type() const;
825  private:
826  bool _internal_has_type() const;
827  public:
828  void clear_type();
831  private:
833  void _internal_set_type(::jaiabot::protobuf::CommandForHub_HubCommandType value);
834  public:
835 
836  typedef boost::units::time_dimension time_dimension;
837 
838  typedef boost::units::make_scaled_unit<boost::units::unit<time_dimension,boost::units::si::system> , boost::units::scale<10, boost::units::static_rational<-6> > >::type time_unit;
839 
840  template<typename Quantity >
841  void set_time_with_units(Quantity value_w_units)
842  { set_time(boost::units::quantity<time_unit,google::protobuf::uint64 >(value_w_units).value() ); };
843 
844  template<typename Quantity >
845  Quantity time_with_units() const
846  { return Quantity(time() * time_unit()); };
847 
848  boost::units::quantity< time_unit,google::protobuf::uint64 > time_with_units() const
849  { return time_with_units<boost::units::quantity< time_unit,google::protobuf::uint64 > >(); };
850 
851  // @@protoc_insertion_point(class_scope:jaiabot.protobuf.CommandForHub)
852  private:
853  class _Internal;
854 
855  // helper for ByteSizeLong()
856  size_t RequiredFieldsByteSizeFallback() const;
857 
858  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
859  typedef void InternalArenaConstructable_;
860  typedef void DestructorSkippable_;
861  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
862  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
863  ::jaiabot::protobuf::GeographicCoordinate* hub_location_;
864  ::PROTOBUF_NAMESPACE_ID::uint64 time_;
865  ::PROTOBUF_NAMESPACE_ID::uint32 hub_id_;
866  ::PROTOBUF_NAMESPACE_ID::uint32 scan_for_bot_id_;
867  int type_;
868  friend struct ::TableStruct_jaiabot_2fmessages_2fjaia_5fdccl_2eproto;
869 };
870 // -------------------------------------------------------------------
871 
872 class BotStatus_Attitude PROTOBUF_FINAL :
873  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:jaiabot.protobuf.BotStatus.Attitude) */ {
874  public:
875  inline BotStatus_Attitude() : BotStatus_Attitude(nullptr) {};
877 
878  BotStatus_Attitude(const BotStatus_Attitude& from);
879  BotStatus_Attitude(BotStatus_Attitude&& from) noexcept
880  : BotStatus_Attitude() {
881  *this = ::std::move(from);
882  }
883 
884  inline BotStatus_Attitude& operator=(const BotStatus_Attitude& from) {
885  CopyFrom(from);
886  return *this;
887  }
888  inline BotStatus_Attitude& operator=(BotStatus_Attitude&& from) noexcept {
889  if (GetArena() == from.GetArena()) {
890  if (this != &from) InternalSwap(&from);
891  } else {
892  CopyFrom(from);
893  }
894  return *this;
895  }
896 
897  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
898  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
899  }
900  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
901  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
902  }
903 
904  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
905  return GetDescriptor();
906  }
907  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
908  return GetMetadataStatic().descriptor;
909  }
910  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
911  return GetMetadataStatic().reflection;
912  }
913  static const BotStatus_Attitude& default_instance();
914 
915  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
916  static inline const BotStatus_Attitude* internal_default_instance() {
917  return reinterpret_cast<const BotStatus_Attitude*>(
919  }
920  static constexpr int kIndexInFileMessages =
921  2;
922 
923  friend void swap(BotStatus_Attitude& a, BotStatus_Attitude& b) {
924  a.Swap(&b);
925  }
926  inline void Swap(BotStatus_Attitude* other) {
927  if (other == this) return;
928  if (GetArena() == other->GetArena()) {
929  InternalSwap(other);
930  } else {
931  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
932  }
933  }
934  void UnsafeArenaSwap(BotStatus_Attitude* other) {
935  if (other == this) return;
936  GOOGLE_DCHECK(GetArena() == other->GetArena());
937  InternalSwap(other);
938  }
939 
940  // implements Message ----------------------------------------------
941 
942  inline BotStatus_Attitude* New() const final {
943  return CreateMaybeMessage<BotStatus_Attitude>(nullptr);
944  }
945 
946  BotStatus_Attitude* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
947  return CreateMaybeMessage<BotStatus_Attitude>(arena);
948  }
949  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
950  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
951  void CopyFrom(const BotStatus_Attitude& from);
952  void MergeFrom(const BotStatus_Attitude& from);
953  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
954  bool IsInitialized() const final;
955 
956  size_t ByteSizeLong() const final;
957  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
958  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
959  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
960  int GetCachedSize() const final { return _cached_size_.Get(); }
961 
962  private:
963  inline void SharedCtor();
964  inline void SharedDtor();
965  void SetCachedSize(int size) const final;
966  void InternalSwap(BotStatus_Attitude* other);
967  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
968  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
969  return "jaiabot.protobuf.BotStatus.Attitude";
970  }
971  protected:
972  explicit BotStatus_Attitude(::PROTOBUF_NAMESPACE_ID::Arena* arena);
973  private:
974  static void ArenaDtor(void* object);
975  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
976  public:
977 
978  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
979  private:
980  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
981  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_jaiabot_2fmessages_2fjaia_5fdccl_2eproto);
982  return ::descriptor_table_jaiabot_2fmessages_2fjaia_5fdccl_2eproto.file_level_metadata[kIndexInFileMessages];
983  }
984 
985  public:
986 
987  // nested types ----------------------------------------------------
988 
989  // accessors -------------------------------------------------------
990 
991  enum : int {
992  kRollFieldNumber = 1,
993  kPitchFieldNumber = 2,
994  kHeadingFieldNumber = 3,
995  kCourseOverGroundFieldNumber = 4,
996  };
997  // optional double roll = 1 [(.dccl.field) = {
998  bool has_roll() const;
999  private:
1000  bool _internal_has_roll() const;
1001  public:
1002  void clear_roll();
1003  double roll() const;
1004  void set_roll(double value);
1005  private:
1006  double _internal_roll() const;
1007  void _internal_set_roll(double value);
1008  public:
1009 
1010  // optional double pitch = 2 [(.dccl.field) = {
1011  bool has_pitch() const;
1012  private:
1013  bool _internal_has_pitch() const;
1014  public:
1015  void clear_pitch();
1016  double pitch() const;
1017  void set_pitch(double value);
1018  private:
1019  double _internal_pitch() const;
1020  void _internal_set_pitch(double value);
1021  public:
1022 
1023  // optional double heading = 3 [(.dccl.field) = {
1024  bool has_heading() const;
1025  private:
1026  bool _internal_has_heading() const;
1027  public:
1029  double heading() const;
1030  void set_heading(double value);
1031  private:
1032  double _internal_heading() const;
1033  void _internal_set_heading(double value);
1034  public:
1035 
1036  // optional double course_over_ground = 4 [(.dccl.field) = {
1038  private:
1039  bool _internal_has_course_over_ground() const;
1040  public:
1042  double course_over_ground() const;
1043  void set_course_over_ground(double value);
1044  private:
1045  double _internal_course_over_ground() const;
1046  void _internal_set_course_over_ground(double value);
1047  public:
1048 
1049  typedef boost::units::plane_angle_dimension roll_dimension;
1050 
1051  typedef boost::units::unit<roll_dimension,boost::units::degree::system> roll_unit;
1052 
1053  template<typename Quantity >
1054  void set_roll_with_units(Quantity value_w_units)
1055  { set_roll(boost::units::quantity<roll_unit,double >(value_w_units).value() ); };
1056 
1057  template<typename Quantity >
1058  Quantity roll_with_units() const
1059  { return Quantity(roll() * roll_unit()); };
1060 
1061  boost::units::quantity< roll_unit,double > roll_with_units() const
1062  { return roll_with_units<boost::units::quantity< roll_unit,double > >(); };
1063 
1064  typedef boost::units::plane_angle_dimension pitch_dimension;
1065 
1066  typedef boost::units::unit<pitch_dimension,boost::units::degree::system> pitch_unit;
1067 
1068  template<typename Quantity >
1069  void set_pitch_with_units(Quantity value_w_units)
1070  { set_pitch(boost::units::quantity<pitch_unit,double >(value_w_units).value() ); };
1071 
1072  template<typename Quantity >
1073  Quantity pitch_with_units() const
1074  { return Quantity(pitch() * pitch_unit()); };
1075 
1076  boost::units::quantity< pitch_unit,double > pitch_with_units() const
1077  { return pitch_with_units<boost::units::quantity< pitch_unit,double > >(); };
1078 
1079  typedef boost::units::plane_angle_dimension heading_dimension;
1080 
1081  typedef boost::units::unit<heading_dimension,boost::units::degree::system> heading_unit;
1082 
1083  template<typename Quantity >
1084  void set_heading_with_units(Quantity value_w_units)
1085  { set_heading(boost::units::quantity<heading_unit,double >(value_w_units).value() ); };
1086 
1087  template<typename Quantity >
1088  Quantity heading_with_units() const
1089  { return Quantity(heading() * heading_unit()); };
1090 
1091  boost::units::quantity< heading_unit,double > heading_with_units() const
1092  { return heading_with_units<boost::units::quantity< heading_unit,double > >(); };
1093 
1094  typedef boost::units::plane_angle_dimension course_over_ground_dimension;
1095 
1096  typedef boost::units::unit<course_over_ground_dimension,boost::units::degree::system> course_over_ground_unit;
1097 
1098  template<typename Quantity >
1099  void set_course_over_ground_with_units(Quantity value_w_units)
1100  { set_course_over_ground(boost::units::quantity<course_over_ground_unit,double >(value_w_units).value() ); };
1101 
1102  template<typename Quantity >
1104  { return Quantity(course_over_ground() * course_over_ground_unit()); };
1105 
1106  boost::units::quantity< course_over_ground_unit,double > course_over_ground_with_units() const
1107  { return course_over_ground_with_units<boost::units::quantity< course_over_ground_unit,double > >(); };
1108 
1109  // @@protoc_insertion_point(class_scope:jaiabot.protobuf.BotStatus.Attitude)
1110  private:
1111  class _Internal;
1112 
1113  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1114  typedef void InternalArenaConstructable_;
1115  typedef void DestructorSkippable_;
1116  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
1117  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1118  double roll_;
1119  double pitch_;
1120  double heading_;
1121  double course_over_ground_;
1122  friend struct ::TableStruct_jaiabot_2fmessages_2fjaia_5fdccl_2eproto;
1123 };
1124 // -------------------------------------------------------------------
1125 
1126 class BotStatus_Speed PROTOBUF_FINAL :
1127  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:jaiabot.protobuf.BotStatus.Speed) */ {
1128  public:
1129  inline BotStatus_Speed() : BotStatus_Speed(nullptr) {};
1130  virtual ~BotStatus_Speed();
1131 
1132  BotStatus_Speed(const BotStatus_Speed& from);
1133  BotStatus_Speed(BotStatus_Speed&& from) noexcept
1134  : BotStatus_Speed() {
1135  *this = ::std::move(from);
1136  }
1137 
1138  inline BotStatus_Speed& operator=(const BotStatus_Speed& from) {
1139  CopyFrom(from);
1140  return *this;
1141  }
1142  inline BotStatus_Speed& operator=(BotStatus_Speed&& from) noexcept {
1143  if (GetArena() == from.GetArena()) {
1144  if (this != &from) InternalSwap(&from);
1145  } else {
1146  CopyFrom(from);
1147  }
1148  return *this;
1149  }
1150 
1151  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
1152  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
1153  }
1154  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
1155  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1156  }
1157 
1158  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
1159  return GetDescriptor();
1160  }
1161  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
1162  return GetMetadataStatic().descriptor;
1163  }
1164  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
1165  return GetMetadataStatic().reflection;
1166  }
1167  static const BotStatus_Speed& default_instance();
1168 
1169  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
1170  static inline const BotStatus_Speed* internal_default_instance() {
1171  return reinterpret_cast<const BotStatus_Speed*>(
1173  }
1174  static constexpr int kIndexInFileMessages =
1175  3;
1176 
1177  friend void swap(BotStatus_Speed& a, BotStatus_Speed& b) {
1178  a.Swap(&b);
1179  }
1180  inline void Swap(BotStatus_Speed* other) {
1181  if (other == this) return;
1182  if (GetArena() == other->GetArena()) {
1183  InternalSwap(other);
1184  } else {
1185  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
1186  }
1187  }
1188  void UnsafeArenaSwap(BotStatus_Speed* other) {
1189  if (other == this) return;
1190  GOOGLE_DCHECK(GetArena() == other->GetArena());
1191  InternalSwap(other);
1192  }
1193 
1194  // implements Message ----------------------------------------------
1195 
1196  inline BotStatus_Speed* New() const final {
1197  return CreateMaybeMessage<BotStatus_Speed>(nullptr);
1198  }
1199 
1200  BotStatus_Speed* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
1201  return CreateMaybeMessage<BotStatus_Speed>(arena);
1202  }
1203  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1204  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1205  void CopyFrom(const BotStatus_Speed& from);
1206  void MergeFrom(const BotStatus_Speed& from);
1207  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
1208  bool IsInitialized() const final;
1209 
1210  size_t ByteSizeLong() const final;
1211  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
1212  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
1213  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
1214  int GetCachedSize() const final { return _cached_size_.Get(); }
1215 
1216  private:
1217  inline void SharedCtor();
1218  inline void SharedDtor();
1219  void SetCachedSize(int size) const final;
1220  void InternalSwap(BotStatus_Speed* other);
1221  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
1222  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
1223  return "jaiabot.protobuf.BotStatus.Speed";
1224  }
1225  protected:
1226  explicit BotStatus_Speed(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1227  private:
1228  static void ArenaDtor(void* object);
1229  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1230  public:
1231 
1232  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
1233  private:
1234  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
1235  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_jaiabot_2fmessages_2fjaia_5fdccl_2eproto);
1236  return ::descriptor_table_jaiabot_2fmessages_2fjaia_5fdccl_2eproto.file_level_metadata[kIndexInFileMessages];
1237  }
1238 
1239  public:
1240 
1241  // nested types ----------------------------------------------------
1242 
1243  // accessors -------------------------------------------------------
1244 
1245  enum : int {
1246  kOverGroundFieldNumber = 1,
1247  kOverWaterFieldNumber = 2,
1248  };
1249  // optional double over_ground = 1 [(.dccl.field) = {
1250  bool has_over_ground() const;
1251  private:
1252  bool _internal_has_over_ground() const;
1253  public:
1255  double over_ground() const;
1256  void set_over_ground(double value);
1257  private:
1258  double _internal_over_ground() const;
1259  void _internal_set_over_ground(double value);
1260  public:
1261 
1262  // optional double over_water = 2 [(.dccl.field) = {
1263  bool has_over_water() const;
1264  private:
1265  bool _internal_has_over_water() const;
1266  public:
1268  double over_water() const;
1269  void set_over_water(double value);
1270  private:
1271  double _internal_over_water() const;
1272  void _internal_set_over_water(double value);
1273  public:
1274 
1275  typedef boost::units::velocity_dimension over_ground_dimension;
1276 
1277  typedef boost::units::unit<over_ground_dimension,boost::units::si::system> over_ground_unit;
1278 
1279  template<typename Quantity >
1280  void set_over_ground_with_units(Quantity value_w_units)
1281  { set_over_ground(boost::units::quantity<over_ground_unit,double >(value_w_units).value() ); };
1282 
1283  template<typename Quantity >
1284  Quantity over_ground_with_units() const
1285  { return Quantity(over_ground() * over_ground_unit()); };
1286 
1287  boost::units::quantity< over_ground_unit,double > over_ground_with_units() const
1288  { return over_ground_with_units<boost::units::quantity< over_ground_unit,double > >(); };
1289 
1290  typedef boost::units::velocity_dimension over_water_dimension;
1291 
1292  typedef boost::units::unit<over_water_dimension,boost::units::si::system> over_water_unit;
1293 
1294  template<typename Quantity >
1295  void set_over_water_with_units(Quantity value_w_units)
1296  { set_over_water(boost::units::quantity<over_water_unit,double >(value_w_units).value() ); };
1297 
1298  template<typename Quantity >
1299  Quantity over_water_with_units() const
1300  { return Quantity(over_water() * over_water_unit()); };
1301 
1302  boost::units::quantity< over_water_unit,double > over_water_with_units() const
1303  { return over_water_with_units<boost::units::quantity< over_water_unit,double > >(); };
1304 
1305  // @@protoc_insertion_point(class_scope:jaiabot.protobuf.BotStatus.Speed)
1306  private:
1307  class _Internal;
1308 
1309  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1310  typedef void InternalArenaConstructable_;
1311  typedef void DestructorSkippable_;
1312  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
1313  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1314  double over_ground_;
1315  double over_water_;
1316  friend struct ::TableStruct_jaiabot_2fmessages_2fjaia_5fdccl_2eproto;
1317 };
1318 // -------------------------------------------------------------------
1319 
1320 class BotStatus PROTOBUF_FINAL :
1321  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:jaiabot.protobuf.BotStatus) */ {
1322  public:
1323  inline BotStatus() : BotStatus(nullptr) {};
1324  virtual ~BotStatus();
1325 
1326  BotStatus(const BotStatus& from);
1327  BotStatus(BotStatus&& from) noexcept
1328  : BotStatus() {
1329  *this = ::std::move(from);
1330  }
1331 
1332  inline BotStatus& operator=(const BotStatus& from) {
1333  CopyFrom(from);
1334  return *this;
1335  }
1336  inline BotStatus& operator=(BotStatus&& from) noexcept {
1337  if (GetArena() == from.GetArena()) {
1338  if (this != &from) InternalSwap(&from);
1339  } else {
1340  CopyFrom(from);
1341  }
1342  return *this;
1343  }
1344 
1345  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
1346  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
1347  }
1348  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
1349  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1350  }
1351 
1352  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
1353  return GetDescriptor();
1354  }
1355  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
1356  return GetMetadataStatic().descriptor;
1357  }
1358  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
1359  return GetMetadataStatic().reflection;
1360  }
1361  static const BotStatus& default_instance();
1362 
1363  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
1364  static inline const BotStatus* internal_default_instance() {
1365  return reinterpret_cast<const BotStatus*>(
1367  }
1368  static constexpr int kIndexInFileMessages =
1369  4;
1370 
1371  friend void swap(BotStatus& a, BotStatus& b) {
1372  a.Swap(&b);
1373  }
1374  inline void Swap(BotStatus* other) {
1375  if (other == this) return;
1376  if (GetArena() == other->GetArena()) {
1377  InternalSwap(other);
1378  } else {
1379  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
1380  }
1381  }
1382  void UnsafeArenaSwap(BotStatus* other) {
1383  if (other == this) return;
1384  GOOGLE_DCHECK(GetArena() == other->GetArena());
1385  InternalSwap(other);
1386  }
1387 
1388  // implements Message ----------------------------------------------
1389 
1390  inline BotStatus* New() const final {
1391  return CreateMaybeMessage<BotStatus>(nullptr);
1392  }
1393 
1394  BotStatus* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
1395  return CreateMaybeMessage<BotStatus>(arena);
1396  }
1397  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1398  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1399  void CopyFrom(const BotStatus& from);
1400  void MergeFrom(const BotStatus& from);
1401  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
1402  bool IsInitialized() const final;
1403 
1404  size_t ByteSizeLong() const final;
1405  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
1406  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
1407  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
1408  int GetCachedSize() const final { return _cached_size_.Get(); }
1409 
1410  private:
1411  inline void SharedCtor();
1412  inline void SharedDtor();
1413  void SetCachedSize(int size) const final;
1414  void InternalSwap(BotStatus* other);
1415  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
1416  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
1417  return "jaiabot.protobuf.BotStatus";
1418  }
1419  protected:
1420  explicit BotStatus(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1421  private:
1422  static void ArenaDtor(void* object);
1423  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1424  public:
1425 
1426  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
1427  private:
1428  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
1429  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_jaiabot_2fmessages_2fjaia_5fdccl_2eproto);
1430  return ::descriptor_table_jaiabot_2fmessages_2fjaia_5fdccl_2eproto.file_level_metadata[kIndexInFileMessages];
1431  }
1432 
1433  public:
1434 
1435  // nested types ----------------------------------------------------
1436 
1437  typedef BotStatus_Attitude Attitude;
1438  typedef BotStatus_Speed Speed;
1439 
1441  static constexpr BotType HYDRO =
1443  static constexpr BotType ECHO =
1445  static inline bool BotType_IsValid(int value) {
1446  return BotStatus_BotType_IsValid(value);
1447  }
1448  static constexpr BotType BotType_MIN =
1450  static constexpr BotType BotType_MAX =
1452  static constexpr int BotType_ARRAYSIZE =
1454  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
1457  }
1458  template<typename T>
1459  static inline const std::string& BotType_Name(T enum_t_value) {
1460  static_assert(::std::is_same<T, BotType>::value ||
1461  ::std::is_integral<T>::value,
1462  "Incorrect type passed to function BotType_Name.");
1463  return BotStatus_BotType_Name(enum_t_value);
1464  }
1465  static inline bool BotType_Parse(const std::string& name,
1466  BotType* value) {
1467  return BotStatus_BotType_Parse(name, value);
1468  }
1469 
1470  // accessors -------------------------------------------------------
1471 
1472  enum : int {
1473  kErrorFieldNumber = 5,
1474  kWarningFieldNumber = 6,
1475  kLocationFieldNumber = 10,
1476  kAttitudeFieldNumber = 20,
1477  kSpeedFieldNumber = 30,
1478  kTimeFieldNumber = 2,
1479  kLastCommandTimeFieldNumber = 3,
1480  kDepthFieldNumber = 11,
1481  kBotIdFieldNumber = 1,
1482  kMissionStateFieldNumber = 40,
1483  kWifiLinkQualityPercentageFieldNumber = 58,
1484  kDistanceToActiveGoalFieldNumber = 42,
1485  kActiveGoalFieldNumber = 41,
1486  kActiveGoalTimeoutFieldNumber = 43,
1487  kRepeatIndexFieldNumber = 44,
1488  kCalibrationStatusFieldNumber = 54,
1489  kSalinityFieldNumber = 51,
1490  kTemperatureFieldNumber = 52,
1491  kBatteryPercentFieldNumber = 53,
1492  kHdopFieldNumber = 56,
1493  kPdopFieldNumber = 57,
1494  kReceivedTimeFieldNumber = 59,
1495  kHealthStateFieldNumber = 4,
1496  kBotTypeFieldNumber = 7,
1497  kLinkFieldNumber = 8,
1498  kCalibrationStateFieldNumber = 55,
1499  };
1500  // repeated .jaiabot.protobuf.Error error = 5 [(.dccl.field) = {
1501  int error_size() const;
1502  private:
1503  int _internal_error_size() const;
1504  public:
1505  void clear_error();
1506  private:
1507  ::jaiabot::protobuf::Error _internal_error(int index) const;
1508  void _internal_add_error(::jaiabot::protobuf::Error value);
1509  ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>* _internal_mutable_error();
1510  public:
1512  void set_error(int index, ::jaiabot::protobuf::Error value);
1514  const ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>& error() const;
1515  ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>* mutable_error();
1516 
1517  // repeated .jaiabot.protobuf.Warning warning = 6 [(.dccl.field) = {
1518  int warning_size() const;
1519  private:
1520  int _internal_warning_size() const;
1521  public:
1523  private:
1524  ::jaiabot::protobuf::Warning _internal_warning(int index) const;
1525  void _internal_add_warning(::jaiabot::protobuf::Warning value);
1526  ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>* _internal_mutable_warning();
1527  public:
1529  void set_warning(int index, ::jaiabot::protobuf::Warning value);
1531  const ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>& warning() const;
1532  ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>* mutable_warning();
1533 
1534  // optional .jaiabot.protobuf.GeographicCoordinate location = 10 [(.jaia.field) = {
1535  bool has_location() const;
1536  private:
1537  bool _internal_has_location() const;
1538  public:
1540  const ::jaiabot::protobuf::GeographicCoordinate& location() const;
1541  ::jaiabot::protobuf::GeographicCoordinate* release_location();
1542  ::jaiabot::protobuf::GeographicCoordinate* mutable_location();
1543  void set_allocated_location(::jaiabot::protobuf::GeographicCoordinate* location);
1544  private:
1545  const ::jaiabot::protobuf::GeographicCoordinate& _internal_location() const;
1546  ::jaiabot::protobuf::GeographicCoordinate* _internal_mutable_location();
1547  public:
1549  ::jaiabot::protobuf::GeographicCoordinate* location);
1550  ::jaiabot::protobuf::GeographicCoordinate* unsafe_arena_release_location();
1551 
1552  // optional .jaiabot.protobuf.BotStatus.Attitude attitude = 20 [(.jaia.field) = {
1553  bool has_attitude() const;
1554  private:
1555  bool _internal_has_attitude() const;
1556  public:
1558  const ::jaiabot::protobuf::BotStatus_Attitude& attitude() const;
1559  ::jaiabot::protobuf::BotStatus_Attitude* release_attitude();
1560  ::jaiabot::protobuf::BotStatus_Attitude* mutable_attitude();
1561  void set_allocated_attitude(::jaiabot::protobuf::BotStatus_Attitude* attitude);
1562  private:
1563  const ::jaiabot::protobuf::BotStatus_Attitude& _internal_attitude() const;
1564  ::jaiabot::protobuf::BotStatus_Attitude* _internal_mutable_attitude();
1565  public:
1567  ::jaiabot::protobuf::BotStatus_Attitude* attitude);
1568  ::jaiabot::protobuf::BotStatus_Attitude* unsafe_arena_release_attitude();
1569 
1570  // optional .jaiabot.protobuf.BotStatus.Speed speed = 30 [(.jaia.field) = {
1571  bool has_speed() const;
1572  private:
1573  bool _internal_has_speed() const;
1574  public:
1575  void clear_speed();
1576  const ::jaiabot::protobuf::BotStatus_Speed& speed() const;
1577  ::jaiabot::protobuf::BotStatus_Speed* release_speed();
1578  ::jaiabot::protobuf::BotStatus_Speed* mutable_speed();
1579  void set_allocated_speed(::jaiabot::protobuf::BotStatus_Speed* speed);
1580  private:
1581  const ::jaiabot::protobuf::BotStatus_Speed& _internal_speed() const;
1582  ::jaiabot::protobuf::BotStatus_Speed* _internal_mutable_speed();
1583  public:
1585  ::jaiabot::protobuf::BotStatus_Speed* speed);
1586  ::jaiabot::protobuf::BotStatus_Speed* unsafe_arena_release_speed();
1587 
1588  // required uint64 time = 2 [(.dccl.field) = {
1589  bool has_time() const;
1590  private:
1591  bool _internal_has_time() const;
1592  public:
1593  void clear_time();
1594  ::PROTOBUF_NAMESPACE_ID::uint64 time() const;
1595  void set_time(::PROTOBUF_NAMESPACE_ID::uint64 value);
1596  private:
1597  ::PROTOBUF_NAMESPACE_ID::uint64 _internal_time() const;
1598  void _internal_set_time(::PROTOBUF_NAMESPACE_ID::uint64 value);
1599  public:
1600 
1601  // optional uint64 last_command_time = 3 [(.dccl.field) = {
1603  private:
1604  bool _internal_has_last_command_time() const;
1605  public:
1607  ::PROTOBUF_NAMESPACE_ID::uint64 last_command_time() const;
1608  void set_last_command_time(::PROTOBUF_NAMESPACE_ID::uint64 value);
1609  private:
1610  ::PROTOBUF_NAMESPACE_ID::uint64 _internal_last_command_time() const;
1611  void _internal_set_last_command_time(::PROTOBUF_NAMESPACE_ID::uint64 value);
1612  public:
1613 
1614  // optional double depth = 11 [(.dccl.field) = {
1615  bool has_depth() const;
1616  private:
1617  bool _internal_has_depth() const;
1618  public:
1619  void clear_depth();
1620  double depth() const;
1621  void set_depth(double value);
1622  private:
1623  double _internal_depth() const;
1624  void _internal_set_depth(double value);
1625  public:
1626 
1627  // required uint32 bot_id = 1 [(.dccl.field) = {
1628  bool has_bot_id() const;
1629  private:
1630  bool _internal_has_bot_id() const;
1631  public:
1633  ::PROTOBUF_NAMESPACE_ID::uint32 bot_id() const;
1634  void set_bot_id(::PROTOBUF_NAMESPACE_ID::uint32 value);
1635  private:
1636  ::PROTOBUF_NAMESPACE_ID::uint32 _internal_bot_id() const;
1637  void _internal_set_bot_id(::PROTOBUF_NAMESPACE_ID::uint32 value);
1638  public:
1639 
1640  // optional .jaiabot.protobuf.MissionState mission_state = 40 [(.jaia.field) = {
1641  bool has_mission_state() const;
1642  private:
1643  bool _internal_has_mission_state() const;
1644  public:
1648  private:
1649  ::jaiabot::protobuf::MissionState _internal_mission_state() const;
1650  void _internal_set_mission_state(::jaiabot::protobuf::MissionState value);
1651  public:
1652 
1653  // optional int32 wifi_link_quality_percentage = 58 [(.dccl.field) = {
1655  private:
1656  bool _internal_has_wifi_link_quality_percentage() const;
1657  public:
1659  ::PROTOBUF_NAMESPACE_ID::int32 wifi_link_quality_percentage() const;
1660  void set_wifi_link_quality_percentage(::PROTOBUF_NAMESPACE_ID::int32 value);
1661  private:
1662  ::PROTOBUF_NAMESPACE_ID::int32 _internal_wifi_link_quality_percentage() const;
1663  void _internal_set_wifi_link_quality_percentage(::PROTOBUF_NAMESPACE_ID::int32 value);
1664  public:
1665 
1666  // optional double distance_to_active_goal = 42 [(.dccl.field) = {
1668  private:
1669  bool _internal_has_distance_to_active_goal() const;
1670  public:
1672  double distance_to_active_goal() const;
1673  void set_distance_to_active_goal(double value);
1674  private:
1675  double _internal_distance_to_active_goal() const;
1676  void _internal_set_distance_to_active_goal(double value);
1677  public:
1678 
1679  // optional int32 active_goal = 41 [(.dccl.field) = {
1680  bool has_active_goal() const;
1681  private:
1682  bool _internal_has_active_goal() const;
1683  public:
1685  ::PROTOBUF_NAMESPACE_ID::int32 active_goal() const;
1686  void set_active_goal(::PROTOBUF_NAMESPACE_ID::int32 value);
1687  private:
1688  ::PROTOBUF_NAMESPACE_ID::int32 _internal_active_goal() const;
1689  void _internal_set_active_goal(::PROTOBUF_NAMESPACE_ID::int32 value);
1690  public:
1691 
1692  // optional uint32 active_goal_timeout = 43 [(.dccl.field) = {
1694  private:
1695  bool _internal_has_active_goal_timeout() const;
1696  public:
1698  ::PROTOBUF_NAMESPACE_ID::uint32 active_goal_timeout() const;
1699  void set_active_goal_timeout(::PROTOBUF_NAMESPACE_ID::uint32 value);
1700  private:
1701  ::PROTOBUF_NAMESPACE_ID::uint32 _internal_active_goal_timeout() const;
1702  void _internal_set_active_goal_timeout(::PROTOBUF_NAMESPACE_ID::uint32 value);
1703  public:
1704 
1705  // optional int32 repeat_index = 44 [(.dccl.field) = {
1706  bool has_repeat_index() const;
1707  private:
1708  bool _internal_has_repeat_index() const;
1709  public:
1711  ::PROTOBUF_NAMESPACE_ID::int32 repeat_index() const;
1712  void set_repeat_index(::PROTOBUF_NAMESPACE_ID::int32 value);
1713  private:
1714  ::PROTOBUF_NAMESPACE_ID::int32 _internal_repeat_index() const;
1715  void _internal_set_repeat_index(::PROTOBUF_NAMESPACE_ID::int32 value);
1716  public:
1717 
1718  // optional int32 calibration_status = 54 [(.dccl.field) = {
1720  private:
1721  bool _internal_has_calibration_status() const;
1722  public:
1724  ::PROTOBUF_NAMESPACE_ID::int32 calibration_status() const;
1725  void set_calibration_status(::PROTOBUF_NAMESPACE_ID::int32 value);
1726  private:
1727  ::PROTOBUF_NAMESPACE_ID::int32 _internal_calibration_status() const;
1728  void _internal_set_calibration_status(::PROTOBUF_NAMESPACE_ID::int32 value);
1729  public:
1730 
1731  // optional double salinity = 51 [(.dccl.field) = {
1732  bool has_salinity() const;
1733  private:
1734  bool _internal_has_salinity() const;
1735  public:
1737  double salinity() const;
1738  void set_salinity(double value);
1739  private:
1740  double _internal_salinity() const;
1741  void _internal_set_salinity(double value);
1742  public:
1743 
1744  // optional double temperature = 52 [(.dccl.field) = {
1745  bool has_temperature() const;
1746  private:
1747  bool _internal_has_temperature() const;
1748  public:
1750  double temperature() const;
1751  void set_temperature(double value);
1752  private:
1753  double _internal_temperature() const;
1754  void _internal_set_temperature(double value);
1755  public:
1756 
1757  // optional double battery_percent = 53 [(.dccl.field) = {
1758  bool has_battery_percent() const;
1759  private:
1760  bool _internal_has_battery_percent() const;
1761  public:
1763  double battery_percent() const;
1764  void set_battery_percent(double value);
1765  private:
1766  double _internal_battery_percent() const;
1767  void _internal_set_battery_percent(double value);
1768  public:
1769 
1770  // optional double hdop = 56 [(.dccl.field) = {
1771  bool has_hdop() const;
1772  private:
1773  bool _internal_has_hdop() const;
1774  public:
1775  void clear_hdop();
1776  double hdop() const;
1777  void set_hdop(double value);
1778  private:
1779  double _internal_hdop() const;
1780  void _internal_set_hdop(double value);
1781  public:
1782 
1783  // optional double pdop = 57 [(.dccl.field) = {
1784  bool has_pdop() const;
1785  private:
1786  bool _internal_has_pdop() const;
1787  public:
1788  void clear_pdop();
1789  double pdop() const;
1790  void set_pdop(double value);
1791  private:
1792  double _internal_pdop() const;
1793  void _internal_set_pdop(double value);
1794  public:
1795 
1796  // optional uint64 received_time = 59 [(.dccl.field) = {
1797  bool has_received_time() const;
1798  private:
1799  bool _internal_has_received_time() const;
1800  public:
1802  ::PROTOBUF_NAMESPACE_ID::uint64 received_time() const;
1803  void set_received_time(::PROTOBUF_NAMESPACE_ID::uint64 value);
1804  private:
1805  ::PROTOBUF_NAMESPACE_ID::uint64 _internal_received_time() const;
1806  void _internal_set_received_time(::PROTOBUF_NAMESPACE_ID::uint64 value);
1807  public:
1808 
1809  // optional .goby.middleware.protobuf.HealthState health_state = 4 [(.jaia.field) = {
1810  bool has_health_state() const;
1811  private:
1812  bool _internal_has_health_state() const;
1813  public:
1815  ::goby::middleware::protobuf::HealthState health_state() const;
1816  void set_health_state(::goby::middleware::protobuf::HealthState value);
1817  private:
1818  ::goby::middleware::protobuf::HealthState _internal_health_state() const;
1819  void _internal_set_health_state(::goby::middleware::protobuf::HealthState value);
1820  public:
1821 
1822  // optional .jaiabot.protobuf.BotStatus.BotType bot_type = 7 [(.jaia.field) = {
1823  bool has_bot_type() const;
1824  private:
1825  bool _internal_has_bot_type() const;
1826  public:
1830  private:
1831  ::jaiabot::protobuf::BotStatus_BotType _internal_bot_type() const;
1832  void _internal_set_bot_type(::jaiabot::protobuf::BotStatus_BotType value);
1833  public:
1834 
1835  // optional .jaiabot.protobuf.Link link = 8 [(.dccl.field) = {
1836  bool has_link() const;
1837  private:
1838  bool _internal_has_link() const;
1839  public:
1840  void clear_link();
1843  private:
1844  ::jaiabot::protobuf::Link _internal_link() const;
1845  void _internal_set_link(::jaiabot::protobuf::Link value);
1846  public:
1847 
1848  // optional .jaiabot.protobuf.IMUCalibrationState calibration_state = 55;
1850  private:
1851  bool _internal_has_calibration_state() const;
1852  public:
1856  private:
1857  ::jaiabot::protobuf::IMUCalibrationState _internal_calibration_state() const;
1858  void _internal_set_calibration_state(::jaiabot::protobuf::IMUCalibrationState value);
1859  public:
1860 
1861  enum DCCLParameters { DCCL_ID = 81, DCCL_MAX_BYTES = 250 };
1862  typedef boost::units::time_dimension time_dimension;
1863 
1864  typedef boost::units::make_scaled_unit<boost::units::unit<time_dimension,boost::units::si::system> , boost::units::scale<10, boost::units::static_rational<-6> > >::type time_unit;
1865 
1866  template<typename Quantity >
1867  void set_time_with_units(Quantity value_w_units)
1868  { set_time(boost::units::quantity<time_unit,google::protobuf::uint64 >(value_w_units).value() ); };
1869 
1870  template<typename Quantity >
1871  Quantity time_with_units() const
1872  { return Quantity(time() * time_unit()); };
1873 
1874  boost::units::quantity< time_unit,google::protobuf::uint64 > time_with_units() const
1875  { return time_with_units<boost::units::quantity< time_unit,google::protobuf::uint64 > >(); };
1876 
1877  typedef boost::units::time_dimension last_command_time_dimension;
1878 
1879  typedef boost::units::make_scaled_unit<boost::units::unit<last_command_time_dimension,boost::units::si::system> , boost::units::scale<10, boost::units::static_rational<-6> > >::type last_command_time_unit;
1880 
1881  template<typename Quantity >
1882  void set_last_command_time_with_units(Quantity value_w_units)
1883  { set_last_command_time(boost::units::quantity<last_command_time_unit,google::protobuf::uint64 >(value_w_units).value() ); };
1884 
1885  template<typename Quantity >
1887  { return Quantity(last_command_time() * last_command_time_unit()); };
1888 
1889  boost::units::quantity< last_command_time_unit,google::protobuf::uint64 > last_command_time_with_units() const
1890  { return last_command_time_with_units<boost::units::quantity< last_command_time_unit,google::protobuf::uint64 > >(); };
1891 
1892  typedef boost::units::length_dimension depth_dimension;
1893 
1894  typedef boost::units::unit<depth_dimension,boost::units::si::system> depth_unit;
1895 
1896  template<typename Quantity >
1897  void set_depth_with_units(Quantity value_w_units)
1898  { set_depth(boost::units::quantity<depth_unit,double >(value_w_units).value() ); };
1899 
1900  template<typename Quantity >
1901  Quantity depth_with_units() const
1902  { return Quantity(depth() * depth_unit()); };
1903 
1904  boost::units::quantity< depth_unit,double > depth_with_units() const
1905  { return depth_with_units<boost::units::quantity< depth_unit,double > >(); };
1906 
1907  typedef boost::units::length_dimension distance_to_active_goal_dimension;
1908 
1909  typedef boost::units::unit<distance_to_active_goal_dimension,boost::units::si::system> distance_to_active_goal_unit;
1910 
1911  template<typename Quantity >
1912  void set_distance_to_active_goal_with_units(Quantity value_w_units)
1913  { set_distance_to_active_goal(boost::units::quantity<distance_to_active_goal_unit,double >(value_w_units).value() ); };
1914 
1915  template<typename Quantity >
1917  { return Quantity(distance_to_active_goal() * distance_to_active_goal_unit()); };
1918 
1919  boost::units::quantity< distance_to_active_goal_unit,double > distance_to_active_goal_with_units() const
1920  { return distance_to_active_goal_with_units<boost::units::quantity< distance_to_active_goal_unit,double > >(); };
1921 
1922  typedef boost::units::derived_dimension< boost::units::time_base_dimension,1 >::type active_goal_timeout_dimension;
1923 
1924  typedef boost::units::unit<active_goal_timeout_dimension,boost::units::si::system> active_goal_timeout_unit;
1925 
1926  template<typename Quantity >
1927  void set_active_goal_timeout_with_units(Quantity value_w_units)
1928  { set_active_goal_timeout(boost::units::quantity<active_goal_timeout_unit,google::protobuf::uint32 >(value_w_units).value() ); };
1929 
1930  template<typename Quantity >
1932  { return Quantity(active_goal_timeout() * active_goal_timeout_unit()); };
1933 
1934  boost::units::quantity< active_goal_timeout_unit,google::protobuf::uint32 > active_goal_timeout_with_units() const
1935  { return active_goal_timeout_with_units<boost::units::quantity< active_goal_timeout_unit,google::protobuf::uint32 > >(); };
1936 
1937  typedef boost::units::temperature_dimension temperature_dimension;
1938 
1939  typedef boost::units::absolute<boost::units::unit<temperature_dimension,boost::units::celsius::system> > temperature_unit;
1940 
1941  template<typename Quantity >
1942  void set_temperature_with_units(Quantity value_w_units)
1943  { set_temperature(boost::units::quantity<temperature_unit,double >(value_w_units).value() ); };
1944 
1945  template<typename Quantity >
1946  Quantity temperature_with_units() const
1947  { return Quantity(temperature() * temperature_unit()); };
1948 
1949  boost::units::quantity< temperature_unit,double > temperature_with_units() const
1950  { return temperature_with_units<boost::units::quantity< temperature_unit,double > >(); };
1951 
1952  typedef boost::units::time_dimension received_time_dimension;
1953 
1954  typedef boost::units::make_scaled_unit<boost::units::unit<received_time_dimension,boost::units::si::system> , boost::units::scale<10, boost::units::static_rational<-6> > >::type received_time_unit;
1955 
1956  template<typename Quantity >
1957  void set_received_time_with_units(Quantity value_w_units)
1958  { set_received_time(boost::units::quantity<received_time_unit,google::protobuf::uint64 >(value_w_units).value() ); };
1959 
1960  template<typename Quantity >
1961  Quantity received_time_with_units() const
1962  { return Quantity(received_time() * received_time_unit()); };
1963 
1964  boost::units::quantity< received_time_unit,google::protobuf::uint64 > received_time_with_units() const
1965  { return received_time_with_units<boost::units::quantity< received_time_unit,google::protobuf::uint64 > >(); };
1966 
1967  // @@protoc_insertion_point(class_scope:jaiabot.protobuf.BotStatus)
1968  private:
1969  class _Internal;
1970 
1971  // helper for ByteSizeLong()
1972  size_t RequiredFieldsByteSizeFallback() const;
1973 
1974  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1975  typedef void InternalArenaConstructable_;
1976  typedef void DestructorSkippable_;
1977  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
1978  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1979  ::PROTOBUF_NAMESPACE_ID::RepeatedField<int> error_;
1980  ::PROTOBUF_NAMESPACE_ID::RepeatedField<int> warning_;
1981  ::jaiabot::protobuf::GeographicCoordinate* location_;
1982  ::jaiabot::protobuf::BotStatus_Attitude* attitude_;
1983  ::jaiabot::protobuf::BotStatus_Speed* speed_;
1984  ::PROTOBUF_NAMESPACE_ID::uint64 time_;
1985  ::PROTOBUF_NAMESPACE_ID::uint64 last_command_time_;
1986  double depth_;
1987  ::PROTOBUF_NAMESPACE_ID::uint32 bot_id_;
1988  int mission_state_;
1989  ::PROTOBUF_NAMESPACE_ID::int32 wifi_link_quality_percentage_;
1990  double distance_to_active_goal_;
1991  ::PROTOBUF_NAMESPACE_ID::int32 active_goal_;
1992  ::PROTOBUF_NAMESPACE_ID::uint32 active_goal_timeout_;
1993  ::PROTOBUF_NAMESPACE_ID::int32 repeat_index_;
1994  ::PROTOBUF_NAMESPACE_ID::int32 calibration_status_;
1995  double salinity_;
1996  double temperature_;
1997  double battery_percent_;
1998  double hdop_;
1999  double pdop_;
2000  ::PROTOBUF_NAMESPACE_ID::uint64 received_time_;
2001  int health_state_;
2002  int bot_type_;
2003  int link_;
2004  int calibration_state_;
2005  friend struct ::TableStruct_jaiabot_2fmessages_2fjaia_5fdccl_2eproto;
2006 };
2007 // -------------------------------------------------------------------
2008 
2009 class DriftPacket_EstimatedDrift PROTOBUF_FINAL :
2010  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:jaiabot.protobuf.DriftPacket.EstimatedDrift) */ {
2011  public:
2012  inline DriftPacket_EstimatedDrift() : DriftPacket_EstimatedDrift(nullptr) {};
2014 
2015  DriftPacket_EstimatedDrift(const DriftPacket_EstimatedDrift& from);
2016  DriftPacket_EstimatedDrift(DriftPacket_EstimatedDrift&& from) noexcept
2017  : DriftPacket_EstimatedDrift() {
2018  *this = ::std::move(from);
2019  }
2020 
2021  inline DriftPacket_EstimatedDrift& operator=(const DriftPacket_EstimatedDrift& from) {
2022  CopyFrom(from);
2023  return *this;
2024  }
2025  inline DriftPacket_EstimatedDrift& operator=(DriftPacket_EstimatedDrift&& from) noexcept {
2026  if (GetArena() == from.GetArena()) {
2027  if (this != &from) InternalSwap(&from);
2028  } else {
2029  CopyFrom(from);
2030  }
2031  return *this;
2032  }
2033 
2034  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
2035  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
2036  }
2037  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
2038  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
2039  }
2040 
2041  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
2042  return GetDescriptor();
2043  }
2044  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
2045  return GetMetadataStatic().descriptor;
2046  }
2047  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
2048  return GetMetadataStatic().reflection;
2049  }
2050  static const DriftPacket_EstimatedDrift& default_instance();
2051 
2052  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
2053  static inline const DriftPacket_EstimatedDrift* internal_default_instance() {
2054  return reinterpret_cast<const DriftPacket_EstimatedDrift*>(
2056  }
2057  static constexpr int kIndexInFileMessages =
2058  5;
2059 
2060  friend void swap(DriftPacket_EstimatedDrift& a, DriftPacket_EstimatedDrift& b) {
2061  a.Swap(&b);
2062  }
2063  inline void Swap(DriftPacket_EstimatedDrift* other) {
2064  if (other == this) return;
2065  if (GetArena() == other->GetArena()) {
2066  InternalSwap(other);
2067  } else {
2068  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
2069  }
2070  }
2071  void UnsafeArenaSwap(DriftPacket_EstimatedDrift* other) {
2072  if (other == this) return;
2073  GOOGLE_DCHECK(GetArena() == other->GetArena());
2074  InternalSwap(other);
2075  }
2076 
2077  // implements Message ----------------------------------------------
2078 
2079  inline DriftPacket_EstimatedDrift* New() const final {
2080  return CreateMaybeMessage<DriftPacket_EstimatedDrift>(nullptr);
2081  }
2082 
2083  DriftPacket_EstimatedDrift* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
2084  return CreateMaybeMessage<DriftPacket_EstimatedDrift>(arena);
2085  }
2086  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2087  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2088  void CopyFrom(const DriftPacket_EstimatedDrift& from);
2089  void MergeFrom(const DriftPacket_EstimatedDrift& from);
2090  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
2091  bool IsInitialized() const final;
2092 
2093  size_t ByteSizeLong() const final;
2094  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
2095  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
2096  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
2097  int GetCachedSize() const final { return _cached_size_.Get(); }
2098 
2099  private:
2100  inline void SharedCtor();
2101  inline void SharedDtor();
2102  void SetCachedSize(int size) const final;
2103  void InternalSwap(DriftPacket_EstimatedDrift* other);
2104  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
2105  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
2106  return "jaiabot.protobuf.DriftPacket.EstimatedDrift";
2107  }
2108  protected:
2109  explicit DriftPacket_EstimatedDrift(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2110  private:
2111  static void ArenaDtor(void* object);
2112  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2113  public:
2114 
2115  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
2116  private:
2117  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
2118  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_jaiabot_2fmessages_2fjaia_5fdccl_2eproto);
2119  return ::descriptor_table_jaiabot_2fmessages_2fjaia_5fdccl_2eproto.file_level_metadata[kIndexInFileMessages];
2120  }
2121 
2122  public:
2123 
2124  // nested types ----------------------------------------------------
2125 
2126  // accessors -------------------------------------------------------
2127 
2128  enum : int {
2129  kSpeedFieldNumber = 1,
2130  kHeadingFieldNumber = 3,
2131  };
2132  // required double speed = 1 [(.dccl.field) = {
2133  bool has_speed() const;
2134  private:
2135  bool _internal_has_speed() const;
2136  public:
2137  void clear_speed();
2138  double speed() const;
2139  void set_speed(double value);
2140  private:
2141  double _internal_speed() const;
2142  void _internal_set_speed(double value);
2143  public:
2144 
2145  // optional double heading = 3 [(.dccl.field) = {
2146  bool has_heading() const;
2147  private:
2148  bool _internal_has_heading() const;
2149  public:
2151  double heading() const;
2152  void set_heading(double value);
2153  private:
2154  double _internal_heading() const;
2155  void _internal_set_heading(double value);
2156  public:
2157 
2158  typedef boost::units::velocity_dimension speed_dimension;
2159 
2160  typedef boost::units::unit<speed_dimension,boost::units::si::system> speed_unit;
2161 
2162  template<typename Quantity >
2163  void set_speed_with_units(Quantity value_w_units)
2164  { set_speed(boost::units::quantity<speed_unit,double >(value_w_units).value() ); };
2165 
2166  template<typename Quantity >
2167  Quantity speed_with_units() const
2168  { return Quantity(speed() * speed_unit()); };
2169 
2170  boost::units::quantity< speed_unit,double > speed_with_units() const
2171  { return speed_with_units<boost::units::quantity< speed_unit,double > >(); };
2172 
2173  typedef boost::units::plane_angle_dimension heading_dimension;
2174 
2175  typedef boost::units::unit<heading_dimension,boost::units::degree::system> heading_unit;
2176 
2177  template<typename Quantity >
2178  void set_heading_with_units(Quantity value_w_units)
2179  { set_heading(boost::units::quantity<heading_unit,double >(value_w_units).value() ); };
2180 
2181  template<typename Quantity >
2182  Quantity heading_with_units() const
2183  { return Quantity(heading() * heading_unit()); };
2184 
2185  boost::units::quantity< heading_unit,double > heading_with_units() const
2186  { return heading_with_units<boost::units::quantity< heading_unit,double > >(); };
2187 
2188  // @@protoc_insertion_point(class_scope:jaiabot.protobuf.DriftPacket.EstimatedDrift)
2189  private:
2190  class _Internal;
2191 
2192  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
2193  typedef void InternalArenaConstructable_;
2194  typedef void DestructorSkippable_;
2195  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
2196  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
2197  double speed_;
2198  double heading_;
2199  friend struct ::TableStruct_jaiabot_2fmessages_2fjaia_5fdccl_2eproto;
2200 };
2201 // -------------------------------------------------------------------
2202 
2203 class DriftPacket PROTOBUF_FINAL :
2204  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:jaiabot.protobuf.DriftPacket) */ {
2205  public:
2206  inline DriftPacket() : DriftPacket(nullptr) {};
2207  virtual ~DriftPacket();
2208 
2209  DriftPacket(const DriftPacket& from);
2210  DriftPacket(DriftPacket&& from) noexcept
2211  : DriftPacket() {
2212  *this = ::std::move(from);
2213  }
2214 
2215  inline DriftPacket& operator=(const DriftPacket& from) {
2216  CopyFrom(from);
2217  return *this;
2218  }
2219  inline DriftPacket& operator=(DriftPacket&& from) noexcept {
2220  if (GetArena() == from.GetArena()) {
2221  if (this != &from) InternalSwap(&from);
2222  } else {
2223  CopyFrom(from);
2224  }
2225  return *this;
2226  }
2227 
2228  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
2229  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
2230  }
2231  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
2232  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
2233  }
2234 
2235  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
2236  return GetDescriptor();
2237  }
2238  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
2239  return GetMetadataStatic().descriptor;
2240  }
2241  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
2242  return GetMetadataStatic().reflection;
2243  }
2244  static const DriftPacket& default_instance();
2245 
2246  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
2247  static inline const DriftPacket* internal_default_instance() {
2248  return reinterpret_cast<const DriftPacket*>(
2250  }
2251  static constexpr int kIndexInFileMessages =
2252  6;
2253 
2254  friend void swap(DriftPacket& a, DriftPacket& b) {
2255  a.Swap(&b);
2256  }
2257  inline void Swap(DriftPacket* other) {
2258  if (other == this) return;
2259  if (GetArena() == other->GetArena()) {
2260  InternalSwap(other);
2261  } else {
2262  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
2263  }
2264  }
2265  void UnsafeArenaSwap(DriftPacket* other) {
2266  if (other == this) return;
2267  GOOGLE_DCHECK(GetArena() == other->GetArena());
2268  InternalSwap(other);
2269  }
2270 
2271  // implements Message ----------------------------------------------
2272 
2273  inline DriftPacket* New() const final {
2274  return CreateMaybeMessage<DriftPacket>(nullptr);
2275  }
2276 
2277  DriftPacket* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
2278  return CreateMaybeMessage<DriftPacket>(arena);
2279  }
2280  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2281  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2282  void CopyFrom(const DriftPacket& from);
2283  void MergeFrom(const DriftPacket& from);
2284  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
2285  bool IsInitialized() const final;
2286 
2287  size_t ByteSizeLong() const final;
2288  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
2289  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
2290  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
2291  int GetCachedSize() const final { return _cached_size_.Get(); }
2292 
2293  private:
2294  inline void SharedCtor();
2295  inline void SharedDtor();
2296  void SetCachedSize(int size) const final;
2297  void InternalSwap(DriftPacket* other);
2298  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
2299  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
2300  return "jaiabot.protobuf.DriftPacket";
2301  }
2302  protected:
2303  explicit DriftPacket(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2304  private:
2305  static void ArenaDtor(void* object);
2306  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2307  public:
2308 
2309  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
2310  private:
2311  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
2312  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_jaiabot_2fmessages_2fjaia_5fdccl_2eproto);
2313  return ::descriptor_table_jaiabot_2fmessages_2fjaia_5fdccl_2eproto.file_level_metadata[kIndexInFileMessages];
2314  }
2315 
2316  public:
2317 
2318  // nested types ----------------------------------------------------
2319 
2320  typedef DriftPacket_EstimatedDrift EstimatedDrift;
2321 
2322  // accessors -------------------------------------------------------
2323 
2324  enum : int {
2325  kEstimatedDriftFieldNumber = 10,
2326  kStartLocationFieldNumber = 11,
2327  kEndLocationFieldNumber = 12,
2328  kDriftDurationFieldNumber = 1,
2329  kSignificantWaveHeightFieldNumber = 13,
2330  };
2331  // optional .jaiabot.protobuf.DriftPacket.EstimatedDrift estimated_drift = 10 [(.jaia.field) = {
2332  bool has_estimated_drift() const;
2333  private:
2334  bool _internal_has_estimated_drift() const;
2335  public:
2337  const ::jaiabot::protobuf::DriftPacket_EstimatedDrift& estimated_drift() const;
2338  ::jaiabot::protobuf::DriftPacket_EstimatedDrift* release_estimated_drift();
2339  ::jaiabot::protobuf::DriftPacket_EstimatedDrift* mutable_estimated_drift();
2340  void set_allocated_estimated_drift(::jaiabot::protobuf::DriftPacket_EstimatedDrift* estimated_drift);
2341  private:
2342  const ::jaiabot::protobuf::DriftPacket_EstimatedDrift& _internal_estimated_drift() const;
2343  ::jaiabot::protobuf::DriftPacket_EstimatedDrift* _internal_mutable_estimated_drift();
2344  public:
2346  ::jaiabot::protobuf::DriftPacket_EstimatedDrift* estimated_drift);
2347  ::jaiabot::protobuf::DriftPacket_EstimatedDrift* unsafe_arena_release_estimated_drift();
2348 
2349  // optional .jaiabot.protobuf.GeographicCoordinate start_location = 11 [(.jaia.field) = {
2350  bool has_start_location() const;
2351  private:
2352  bool _internal_has_start_location() const;
2353  public:
2355  const ::jaiabot::protobuf::GeographicCoordinate& start_location() const;
2356  ::jaiabot::protobuf::GeographicCoordinate* release_start_location();
2357  ::jaiabot::protobuf::GeographicCoordinate* mutable_start_location();
2358  void set_allocated_start_location(::jaiabot::protobuf::GeographicCoordinate* start_location);
2359  private:
2360  const ::jaiabot::protobuf::GeographicCoordinate& _internal_start_location() const;
2361  ::jaiabot::protobuf::GeographicCoordinate* _internal_mutable_start_location();
2362  public:
2364  ::jaiabot::protobuf::GeographicCoordinate* start_location);
2365  ::jaiabot::protobuf::GeographicCoordinate* unsafe_arena_release_start_location();
2366 
2367  // optional .jaiabot.protobuf.GeographicCoordinate end_location = 12 [(.jaia.field) = {
2368  bool has_end_location() const;
2369  private:
2370  bool _internal_has_end_location() const;
2371  public:
2373  const ::jaiabot::protobuf::GeographicCoordinate& end_location() const;
2374  ::jaiabot::protobuf::GeographicCoordinate* release_end_location();
2375  ::jaiabot::protobuf::GeographicCoordinate* mutable_end_location();
2376  void set_allocated_end_location(::jaiabot::protobuf::GeographicCoordinate* end_location);
2377  private:
2378  const ::jaiabot::protobuf::GeographicCoordinate& _internal_end_location() const;
2379  ::jaiabot::protobuf::GeographicCoordinate* _internal_mutable_end_location();
2380  public:
2382  ::jaiabot::protobuf::GeographicCoordinate* end_location);
2383  ::jaiabot::protobuf::GeographicCoordinate* unsafe_arena_release_end_location();
2384 
2385  // optional int32 drift_duration = 1 [default = 0, (.dccl.field) = {
2386  bool has_drift_duration() const;
2387  private:
2388  bool _internal_has_drift_duration() const;
2389  public:
2391  ::PROTOBUF_NAMESPACE_ID::int32 drift_duration() const;
2392  void set_drift_duration(::PROTOBUF_NAMESPACE_ID::int32 value);
2393  private:
2394  ::PROTOBUF_NAMESPACE_ID::int32 _internal_drift_duration() const;
2395  void _internal_set_drift_duration(::PROTOBUF_NAMESPACE_ID::int32 value);
2396  public:
2397 
2398  // optional double significant_wave_height = 13 [(.dccl.field) = {
2400  private:
2401  bool _internal_has_significant_wave_height() const;
2402  public:
2404  double significant_wave_height() const;
2405  void set_significant_wave_height(double value);
2406  private:
2407  double _internal_significant_wave_height() const;
2408  void _internal_set_significant_wave_height(double value);
2409  public:
2410 
2411  typedef boost::units::derived_dimension< boost::units::time_base_dimension,1 >::type drift_duration_dimension;
2412 
2413  typedef boost::units::unit<drift_duration_dimension,boost::units::si::system> drift_duration_unit;
2414 
2415  template<typename Quantity >
2416  void set_drift_duration_with_units(Quantity value_w_units)
2417  { set_drift_duration(boost::units::quantity<drift_duration_unit,google::protobuf::int32 >(value_w_units).value() ); };
2418 
2419  template<typename Quantity >
2420  Quantity drift_duration_with_units() const
2421  { return Quantity(drift_duration() * drift_duration_unit()); };
2422 
2423  boost::units::quantity< drift_duration_unit,google::protobuf::int32 > drift_duration_with_units() const
2424  { return drift_duration_with_units<boost::units::quantity< drift_duration_unit,google::protobuf::int32 > >(); };
2425 
2426  typedef boost::units::length_dimension significant_wave_height_dimension;
2427 
2428  typedef boost::units::unit<significant_wave_height_dimension,boost::units::si::system> significant_wave_height_unit;
2429 
2430  template<typename Quantity >
2431  void set_significant_wave_height_with_units(Quantity value_w_units)
2432  { set_significant_wave_height(boost::units::quantity<significant_wave_height_unit,double >(value_w_units).value() ); };
2433 
2434  template<typename Quantity >
2436  { return Quantity(significant_wave_height() * significant_wave_height_unit()); };
2437 
2438  boost::units::quantity< significant_wave_height_unit,double > significant_wave_height_with_units() const
2439  { return significant_wave_height_with_units<boost::units::quantity< significant_wave_height_unit,double > >(); };
2440 
2441  // @@protoc_insertion_point(class_scope:jaiabot.protobuf.DriftPacket)
2442  private:
2443  class _Internal;
2444 
2445  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
2446  typedef void InternalArenaConstructable_;
2447  typedef void DestructorSkippable_;
2448  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
2449  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
2450  ::jaiabot::protobuf::DriftPacket_EstimatedDrift* estimated_drift_;
2451  ::jaiabot::protobuf::GeographicCoordinate* start_location_;
2452  ::jaiabot::protobuf::GeographicCoordinate* end_location_;
2453  ::PROTOBUF_NAMESPACE_ID::int32 drift_duration_;
2454  double significant_wave_height_;
2455  friend struct ::TableStruct_jaiabot_2fmessages_2fjaia_5fdccl_2eproto;
2456 };
2457 // -------------------------------------------------------------------
2458 
2459 class DivePacket_Measurements PROTOBUF_FINAL :
2460  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:jaiabot.protobuf.DivePacket.Measurements) */ {
2461  public:
2462  inline DivePacket_Measurements() : DivePacket_Measurements(nullptr) {};
2464 
2465  DivePacket_Measurements(const DivePacket_Measurements& from);
2466  DivePacket_Measurements(DivePacket_Measurements&& from) noexcept
2467  : DivePacket_Measurements() {
2468  *this = ::std::move(from);
2469  }
2470 
2471  inline DivePacket_Measurements& operator=(const DivePacket_Measurements& from) {
2472  CopyFrom(from);
2473  return *this;
2474  }
2475  inline DivePacket_Measurements& operator=(DivePacket_Measurements&& from) noexcept {
2476  if (GetArena() == from.GetArena()) {
2477  if (this != &from) InternalSwap(&from);
2478  } else {
2479  CopyFrom(from);
2480  }
2481  return *this;
2482  }
2483 
2484  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
2485  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
2486  }
2487  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
2488  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
2489  }
2490 
2491  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
2492  return GetDescriptor();
2493  }
2494  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
2495  return GetMetadataStatic().descriptor;
2496  }
2497  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
2498  return GetMetadataStatic().reflection;
2499  }
2500  static const DivePacket_Measurements& default_instance();
2501 
2502  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
2503  static inline const DivePacket_Measurements* internal_default_instance() {
2504  return reinterpret_cast<const DivePacket_Measurements*>(
2506  }
2507  static constexpr int kIndexInFileMessages =
2508  7;
2509 
2510  friend void swap(DivePacket_Measurements& a, DivePacket_Measurements& b) {
2511  a.Swap(&b);
2512  }
2513  inline void Swap(DivePacket_Measurements* other) {
2514  if (other == this) return;
2515  if (GetArena() == other->GetArena()) {
2516  InternalSwap(other);
2517  } else {
2518  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
2519  }
2520  }
2521  void UnsafeArenaSwap(DivePacket_Measurements* other) {
2522  if (other == this) return;
2523  GOOGLE_DCHECK(GetArena() == other->GetArena());
2524  InternalSwap(other);
2525  }
2526 
2527  // implements Message ----------------------------------------------
2528 
2529  inline DivePacket_Measurements* New() const final {
2530  return CreateMaybeMessage<DivePacket_Measurements>(nullptr);
2531  }
2532 
2533  DivePacket_Measurements* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
2534  return CreateMaybeMessage<DivePacket_Measurements>(arena);
2535  }
2536  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2537  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2538  void CopyFrom(const DivePacket_Measurements& from);
2539  void MergeFrom(const DivePacket_Measurements& from);
2540  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
2541  bool IsInitialized() const final;
2542 
2543  size_t ByteSizeLong() const final;
2544  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
2545  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
2546  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
2547  int GetCachedSize() const final { return _cached_size_.Get(); }
2548 
2549  private:
2550  inline void SharedCtor();
2551  inline void SharedDtor();
2552  void SetCachedSize(int size) const final;
2553  void InternalSwap(DivePacket_Measurements* other);
2554  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
2555  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
2556  return "jaiabot.protobuf.DivePacket.Measurements";
2557  }
2558  protected:
2559  explicit DivePacket_Measurements(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2560  private:
2561  static void ArenaDtor(void* object);
2562  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2563  public:
2564 
2565  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
2566  private:
2567  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
2568  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_jaiabot_2fmessages_2fjaia_5fdccl_2eproto);
2569  return ::descriptor_table_jaiabot_2fmessages_2fjaia_5fdccl_2eproto.file_level_metadata[kIndexInFileMessages];
2570  }
2571 
2572  public:
2573 
2574  // nested types ----------------------------------------------------
2575 
2576  // accessors -------------------------------------------------------
2577 
2578  enum : int {
2579  kMeanDepthFieldNumber = 1,
2580  kMeanTemperatureFieldNumber = 2,
2581  kMeanSalinityFieldNumber = 3,
2582  };
2583  // optional double mean_depth = 1 [(.dccl.field) = {
2584  bool has_mean_depth() const;
2585  private:
2586  bool _internal_has_mean_depth() const;
2587  public:
2589  double mean_depth() const;
2590  void set_mean_depth(double value);
2591  private:
2592  double _internal_mean_depth() const;
2593  void _internal_set_mean_depth(double value);
2594  public:
2595 
2596  // optional double mean_temperature = 2 [(.dccl.field) = {
2597  bool has_mean_temperature() const;
2598  private:
2599  bool _internal_has_mean_temperature() const;
2600  public:
2602  double mean_temperature() const;
2603  void set_mean_temperature(double value);
2604  private:
2605  double _internal_mean_temperature() const;
2606  void _internal_set_mean_temperature(double value);
2607  public:
2608 
2609  // optional double mean_salinity = 3 [(.dccl.field) = {
2610  bool has_mean_salinity() const;
2611  private:
2612  bool _internal_has_mean_salinity() const;
2613  public:
2615  double mean_salinity() const;
2616  void set_mean_salinity(double value);
2617  private:
2618  double _internal_mean_salinity() const;
2619  void _internal_set_mean_salinity(double value);
2620  public:
2621 
2622  typedef boost::units::length_dimension mean_depth_dimension;
2623 
2624  typedef boost::units::unit<mean_depth_dimension,boost::units::si::system> mean_depth_unit;
2625 
2626  template<typename Quantity >
2627  void set_mean_depth_with_units(Quantity value_w_units)
2628  { set_mean_depth(boost::units::quantity<mean_depth_unit,double >(value_w_units).value() ); };
2629 
2630  template<typename Quantity >
2631  Quantity mean_depth_with_units() const
2632  { return Quantity(mean_depth() * mean_depth_unit()); };
2633 
2634  boost::units::quantity< mean_depth_unit,double > mean_depth_with_units() const
2635  { return mean_depth_with_units<boost::units::quantity< mean_depth_unit,double > >(); };
2636 
2637  typedef boost::units::temperature_dimension mean_temperature_dimension;
2638 
2639  typedef boost::units::absolute<boost::units::unit<mean_temperature_dimension,boost::units::celsius::system> > mean_temperature_unit;
2640 
2641  template<typename Quantity >
2642  void set_mean_temperature_with_units(Quantity value_w_units)
2643  { set_mean_temperature(boost::units::quantity<mean_temperature_unit,double >(value_w_units).value() ); };
2644 
2645  template<typename Quantity >
2647  { return Quantity(mean_temperature() * mean_temperature_unit()); };
2648 
2649  boost::units::quantity< mean_temperature_unit,double > mean_temperature_with_units() const
2650  { return mean_temperature_with_units<boost::units::quantity< mean_temperature_unit,double > >(); };
2651 
2652  // @@protoc_insertion_point(class_scope:jaiabot.protobuf.DivePacket.Measurements)
2653  private:
2654  class _Internal;
2655 
2656  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
2657  typedef void InternalArenaConstructable_;
2658  typedef void DestructorSkippable_;
2659  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
2660  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
2661  double mean_depth_;
2662  double mean_temperature_;
2663  double mean_salinity_;
2664  friend struct ::TableStruct_jaiabot_2fmessages_2fjaia_5fdccl_2eproto;
2665 };
2666 // -------------------------------------------------------------------
2667 
2668 class DivePacket PROTOBUF_FINAL :
2669  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:jaiabot.protobuf.DivePacket) */ {
2670  public:
2671  inline DivePacket() : DivePacket(nullptr) {};
2672  virtual ~DivePacket();
2673 
2674  DivePacket(const DivePacket& from);
2675  DivePacket(DivePacket&& from) noexcept
2676  : DivePacket() {
2677  *this = ::std::move(from);
2678  }
2679 
2680  inline DivePacket& operator=(const DivePacket& from) {
2681  CopyFrom(from);
2682  return *this;
2683  }
2684  inline DivePacket& operator=(DivePacket&& from) noexcept {
2685  if (GetArena() == from.GetArena()) {
2686  if (this != &from) InternalSwap(&from);
2687  } else {
2688  CopyFrom(from);
2689  }
2690  return *this;
2691  }
2692 
2693  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
2694  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
2695  }
2696  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
2697  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
2698  }
2699 
2700  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
2701  return GetDescriptor();
2702  }
2703  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
2704  return GetMetadataStatic().descriptor;
2705  }
2706  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
2707  return GetMetadataStatic().reflection;
2708  }
2709  static const DivePacket& default_instance();
2710 
2711  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
2712  static inline const DivePacket* internal_default_instance() {
2713  return reinterpret_cast<const DivePacket*>(
2715  }
2716  static constexpr int kIndexInFileMessages =
2717  8;
2718 
2719  friend void swap(DivePacket& a, DivePacket& b) {
2720  a.Swap(&b);
2721  }
2722  inline void Swap(DivePacket* other) {
2723  if (other == this) return;
2724  if (GetArena() == other->GetArena()) {
2725  InternalSwap(other);
2726  } else {
2727  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
2728  }
2729  }
2730  void UnsafeArenaSwap(DivePacket* other) {
2731  if (other == this) return;
2732  GOOGLE_DCHECK(GetArena() == other->GetArena());
2733  InternalSwap(other);
2734  }
2735 
2736  // implements Message ----------------------------------------------
2737 
2738  inline DivePacket* New() const final {
2739  return CreateMaybeMessage<DivePacket>(nullptr);
2740  }
2741 
2742  DivePacket* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
2743  return CreateMaybeMessage<DivePacket>(arena);
2744  }
2745  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2746  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2747  void CopyFrom(const DivePacket& from);
2748  void MergeFrom(const DivePacket& from);
2749  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
2750  bool IsInitialized() const final;
2751 
2752  size_t ByteSizeLong() const final;
2753  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
2754  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
2755  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
2756  int GetCachedSize() const final { return _cached_size_.Get(); }
2757 
2758  private:
2759  inline void SharedCtor();
2760  inline void SharedDtor();
2761  void SetCachedSize(int size) const final;
2762  void InternalSwap(DivePacket* other);
2763  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
2764  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
2765  return "jaiabot.protobuf.DivePacket";
2766  }
2767  protected:
2768  explicit DivePacket(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2769  private:
2770  static void ArenaDtor(void* object);
2771  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2772  public:
2773 
2774  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
2775  private:
2776  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
2777  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_jaiabot_2fmessages_2fjaia_5fdccl_2eproto);
2778  return ::descriptor_table_jaiabot_2fmessages_2fjaia_5fdccl_2eproto.file_level_metadata[kIndexInFileMessages];
2779  }
2780 
2781  public:
2782 
2783  // nested types ----------------------------------------------------
2784 
2785  typedef DivePacket_Measurements Measurements;
2786 
2788  static constexpr BottomType HARD =
2790  static constexpr BottomType SOFT =
2792  static inline bool BottomType_IsValid(int value) {
2793  return DivePacket_BottomType_IsValid(value);
2794  }
2795  static constexpr BottomType BottomType_MIN =
2797  static constexpr BottomType BottomType_MAX =
2799  static constexpr int BottomType_ARRAYSIZE =
2801  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
2804  }
2805  template<typename T>
2806  static inline const std::string& BottomType_Name(T enum_t_value) {
2807  static_assert(::std::is_same<T, BottomType>::value ||
2808  ::std::is_integral<T>::value,
2809  "Incorrect type passed to function BottomType_Name.");
2810  return DivePacket_BottomType_Name(enum_t_value);
2811  }
2812  static inline bool BottomType_Parse(const std::string& name,
2813  BottomType* value) {
2814  return DivePacket_BottomType_Parse(name, value);
2815  }
2816 
2817  // accessors -------------------------------------------------------
2818 
2819  enum : int {
2820  kMeasurementFieldNumber = 14,
2821  kStartLocationFieldNumber = 15,
2822  kDiveRateFieldNumber = 10,
2823  kUnpoweredRiseRateFieldNumber = 11,
2824  kPoweredRiseRateFieldNumber = 12,
2825  kBottomDiveFieldNumber = 17,
2826  kReachedMinDepthFieldNumber = 18,
2827  kDepthAchievedFieldNumber = 13,
2828  kDurationToAcquireGpsFieldNumber = 16,
2829  kMaxAccelerationFieldNumber = 20,
2830  kBottomTypeFieldNumber = 19,
2831  };
2832  // repeated .jaiabot.protobuf.DivePacket.Measurements measurement = 14 [(.dccl.field) = {
2833  int measurement_size() const;
2834  private:
2835  int _internal_measurement_size() const;
2836  public:
2838  ::jaiabot::protobuf::DivePacket_Measurements* mutable_measurement(int index);
2839  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::jaiabot::protobuf::DivePacket_Measurements >*
2841  private:
2842  const ::jaiabot::protobuf::DivePacket_Measurements& _internal_measurement(int index) const;
2843  ::jaiabot::protobuf::DivePacket_Measurements* _internal_add_measurement();
2844  public:
2845  const ::jaiabot::protobuf::DivePacket_Measurements& measurement(int index) const;
2846  ::jaiabot::protobuf::DivePacket_Measurements* add_measurement();
2847  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::jaiabot::protobuf::DivePacket_Measurements >&
2848  measurement() const;
2849 
2850  // optional .jaiabot.protobuf.GeographicCoordinate start_location = 15 [(.jaia.field) = {
2851  bool has_start_location() const;
2852  private:
2853  bool _internal_has_start_location() const;
2854  public:
2856  const ::jaiabot::protobuf::GeographicCoordinate& start_location() const;
2857  ::jaiabot::protobuf::GeographicCoordinate* release_start_location();
2858  ::jaiabot::protobuf::GeographicCoordinate* mutable_start_location();
2859  void set_allocated_start_location(::jaiabot::protobuf::GeographicCoordinate* start_location);
2860  private:
2861  const ::jaiabot::protobuf::GeographicCoordinate& _internal_start_location() const;
2862  ::jaiabot::protobuf::GeographicCoordinate* _internal_mutable_start_location();
2863  public:
2865  ::jaiabot::protobuf::GeographicCoordinate* start_location);
2866  ::jaiabot::protobuf::GeographicCoordinate* unsafe_arena_release_start_location();
2867 
2868  // required double dive_rate = 10 [(.dccl.field) = {
2869  bool has_dive_rate() const;
2870  private:
2871  bool _internal_has_dive_rate() const;
2872  public:
2874  double dive_rate() const;
2875  void set_dive_rate(double value);
2876  private:
2877  double _internal_dive_rate() const;
2878  void _internal_set_dive_rate(double value);
2879  public:
2880 
2881  // optional double unpowered_rise_rate = 11 [(.dccl.field) = {
2883  private:
2884  bool _internal_has_unpowered_rise_rate() const;
2885  public:
2887  double unpowered_rise_rate() const;
2888  void set_unpowered_rise_rate(double value);
2889  private:
2890  double _internal_unpowered_rise_rate() const;
2891  void _internal_set_unpowered_rise_rate(double value);
2892  public:
2893 
2894  // optional double powered_rise_rate = 12 [(.dccl.field) = {
2896  private:
2897  bool _internal_has_powered_rise_rate() const;
2898  public:
2900  double powered_rise_rate() const;
2901  void set_powered_rise_rate(double value);
2902  private:
2903  double _internal_powered_rise_rate() const;
2904  void _internal_set_powered_rise_rate(double value);
2905  public:
2906 
2907  // optional bool bottom_dive = 17 [default = false, (.jaia.field) = {
2908  bool has_bottom_dive() const;
2909  private:
2910  bool _internal_has_bottom_dive() const;
2911  public:
2913  bool bottom_dive() const;
2914  void set_bottom_dive(bool value);
2915  private:
2916  bool _internal_bottom_dive() const;
2917  void _internal_set_bottom_dive(bool value);
2918  public:
2919 
2920  // optional bool reached_min_depth = 18 [default = false, (.jaia.field) = {
2922  private:
2923  bool _internal_has_reached_min_depth() const;
2924  public:
2926  bool reached_min_depth() const;
2927  void set_reached_min_depth(bool value);
2928  private:
2929  bool _internal_reached_min_depth() const;
2930  void _internal_set_reached_min_depth(bool value);
2931  public:
2932 
2933  // required double depth_achieved = 13 [(.dccl.field) = {
2934  bool has_depth_achieved() const;
2935  private:
2936  bool _internal_has_depth_achieved() const;
2937  public:
2939  double depth_achieved() const;
2940  void set_depth_achieved(double value);
2941  private:
2942  double _internal_depth_achieved() const;
2943  void _internal_set_depth_achieved(double value);
2944  public:
2945 
2946  // optional double duration_to_acquire_gps = 16 [(.dccl.field) = {
2948  private:
2949  bool _internal_has_duration_to_acquire_gps() const;
2950  public:
2952  double duration_to_acquire_gps() const;
2953  void set_duration_to_acquire_gps(double value);
2954  private:
2955  double _internal_duration_to_acquire_gps() const;
2956  void _internal_set_duration_to_acquire_gps(double value);
2957  public:
2958 
2959  // optional double max_acceleration = 20 [(.dccl.field) = {
2960  bool has_max_acceleration() const;
2961  private:
2962  bool _internal_has_max_acceleration() const;
2963  public:
2965  double max_acceleration() const;
2966  void set_max_acceleration(double value);
2967  private:
2968  double _internal_max_acceleration() const;
2969  void _internal_set_max_acceleration(double value);
2970  public:
2971 
2972  // optional .jaiabot.protobuf.DivePacket.BottomType bottom_type = 19 [(.jaia.field) = {
2973  bool has_bottom_type() const;
2974  private:
2975  bool _internal_has_bottom_type() const;
2976  public:
2980  private:
2981  ::jaiabot::protobuf::DivePacket_BottomType _internal_bottom_type() const;
2982  void _internal_set_bottom_type(::jaiabot::protobuf::DivePacket_BottomType value);
2983  public:
2984 
2985  typedef boost::units::velocity_dimension dive_rate_dimension;
2986 
2987  typedef boost::units::unit<dive_rate_dimension,boost::units::si::system> dive_rate_unit;
2988 
2989  template<typename Quantity >
2990  void set_dive_rate_with_units(Quantity value_w_units)
2991  { set_dive_rate(boost::units::quantity<dive_rate_unit,double >(value_w_units).value() ); };
2992 
2993  template<typename Quantity >
2994  Quantity dive_rate_with_units() const
2995  { return Quantity(dive_rate() * dive_rate_unit()); };
2996 
2997  boost::units::quantity< dive_rate_unit,double > dive_rate_with_units() const
2998  { return dive_rate_with_units<boost::units::quantity< dive_rate_unit,double > >(); };
2999 
3000  typedef boost::units::velocity_dimension unpowered_rise_rate_dimension;
3001 
3002  typedef boost::units::unit<unpowered_rise_rate_dimension,boost::units::si::system> unpowered_rise_rate_unit;
3003 
3004  template<typename Quantity >
3005  void set_unpowered_rise_rate_with_units(Quantity value_w_units)
3006  { set_unpowered_rise_rate(boost::units::quantity<unpowered_rise_rate_unit,double >(value_w_units).value() ); };
3007 
3008  template<typename Quantity >
3010  { return Quantity(unpowered_rise_rate() * unpowered_rise_rate_unit()); };
3011 
3012  boost::units::quantity< unpowered_rise_rate_unit,double > unpowered_rise_rate_with_units() const
3013  { return unpowered_rise_rate_with_units<boost::units::quantity< unpowered_rise_rate_unit,double > >(); };
3014 
3015  typedef boost::units::velocity_dimension powered_rise_rate_dimension;
3016 
3017  typedef boost::units::unit<powered_rise_rate_dimension,boost::units::si::system> powered_rise_rate_unit;
3018 
3019  template<typename Quantity >
3020  void set_powered_rise_rate_with_units(Quantity value_w_units)
3021  { set_powered_rise_rate(boost::units::quantity<powered_rise_rate_unit,double >(value_w_units).value() ); };
3022 
3023  template<typename Quantity >
3025  { return Quantity(powered_rise_rate() * powered_rise_rate_unit()); };
3026 
3027  boost::units::quantity< powered_rise_rate_unit,double > powered_rise_rate_with_units() const
3028  { return powered_rise_rate_with_units<boost::units::quantity< powered_rise_rate_unit,double > >(); };
3029 
3030  typedef boost::units::length_dimension depth_achieved_dimension;
3031 
3032  typedef boost::units::unit<depth_achieved_dimension,boost::units::si::system> depth_achieved_unit;
3033 
3034  template<typename Quantity >
3035  void set_depth_achieved_with_units(Quantity value_w_units)
3036  { set_depth_achieved(boost::units::quantity<depth_achieved_unit,double >(value_w_units).value() ); };
3037 
3038  template<typename Quantity >
3039  Quantity depth_achieved_with_units() const
3040  { return Quantity(depth_achieved() * depth_achieved_unit()); };
3041 
3042  boost::units::quantity< depth_achieved_unit,double > depth_achieved_with_units() const
3043  { return depth_achieved_with_units<boost::units::quantity< depth_achieved_unit,double > >(); };
3044 
3045  typedef boost::units::derived_dimension< boost::units::time_base_dimension,1 >::type duration_to_acquire_gps_dimension;
3046 
3047  typedef boost::units::unit<duration_to_acquire_gps_dimension,boost::units::si::system> duration_to_acquire_gps_unit;
3048 
3049  template<typename Quantity >
3050  void set_duration_to_acquire_gps_with_units(Quantity value_w_units)
3051  { set_duration_to_acquire_gps(boost::units::quantity<duration_to_acquire_gps_unit,double >(value_w_units).value() ); };
3052 
3053  template<typename Quantity >
3055  { return Quantity(duration_to_acquire_gps() * duration_to_acquire_gps_unit()); };
3056 
3057  boost::units::quantity< duration_to_acquire_gps_unit,double > duration_to_acquire_gps_with_units() const
3058  { return duration_to_acquire_gps_with_units<boost::units::quantity< duration_to_acquire_gps_unit,double > >(); };
3059 
3060  typedef boost::units::acceleration_dimension max_acceleration_dimension;
3061 
3062  typedef boost::units::unit<max_acceleration_dimension,boost::units::si::system> max_acceleration_unit;
3063 
3064  template<typename Quantity >
3065  void set_max_acceleration_with_units(Quantity value_w_units)
3066  { set_max_acceleration(boost::units::quantity<max_acceleration_unit,double >(value_w_units).value() ); };
3067 
3068  template<typename Quantity >
3070  { return Quantity(max_acceleration() * max_acceleration_unit()); };
3071 
3072  boost::units::quantity< max_acceleration_unit,double > max_acceleration_with_units() const
3073  { return max_acceleration_with_units<boost::units::quantity< max_acceleration_unit,double > >(); };
3074 
3075  // @@protoc_insertion_point(class_scope:jaiabot.protobuf.DivePacket)
3076  private:
3077  class _Internal;
3078 
3079  // helper for ByteSizeLong()
3080  size_t RequiredFieldsByteSizeFallback() const;
3081 
3082  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
3083  typedef void InternalArenaConstructable_;
3084  typedef void DestructorSkippable_;
3085  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
3086  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
3087  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::jaiabot::protobuf::DivePacket_Measurements > measurement_;
3088  ::jaiabot::protobuf::GeographicCoordinate* start_location_;
3089  double dive_rate_;
3090  double unpowered_rise_rate_;
3091  double powered_rise_rate_;
3092  bool bottom_dive_;
3093  bool reached_min_depth_;
3094  double depth_achieved_;
3095  double duration_to_acquire_gps_;
3096  double max_acceleration_;
3097  int bottom_type_;
3098  friend struct ::TableStruct_jaiabot_2fmessages_2fjaia_5fdccl_2eproto;
3099 };
3100 // -------------------------------------------------------------------
3101 
3102 class TaskPacket PROTOBUF_FINAL :
3103  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:jaiabot.protobuf.TaskPacket) */ {
3104  public:
3105  inline TaskPacket() : TaskPacket(nullptr) {};
3106  virtual ~TaskPacket();
3107 
3108  TaskPacket(const TaskPacket& from);
3109  TaskPacket(TaskPacket&& from) noexcept
3110  : TaskPacket() {
3111  *this = ::std::move(from);
3112  }
3113 
3114  inline TaskPacket& operator=(const TaskPacket& from) {
3115  CopyFrom(from);
3116  return *this;
3117  }
3118  inline TaskPacket& operator=(TaskPacket&& from) noexcept {
3119  if (GetArena() == from.GetArena()) {
3120  if (this != &from) InternalSwap(&from);
3121  } else {
3122  CopyFrom(from);
3123  }
3124  return *this;
3125  }
3126 
3127  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
3128  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
3129  }
3130  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
3131  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
3132  }
3133 
3134  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
3135  return GetDescriptor();
3136  }
3137  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
3138  return GetMetadataStatic().descriptor;
3139  }
3140  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
3141  return GetMetadataStatic().reflection;
3142  }
3143  static const TaskPacket& default_instance();
3144 
3145  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
3146  static inline const TaskPacket* internal_default_instance() {
3147  return reinterpret_cast<const TaskPacket*>(
3149  }
3150  static constexpr int kIndexInFileMessages =
3151  9;
3152 
3153  friend void swap(TaskPacket& a, TaskPacket& b) {
3154  a.Swap(&b);
3155  }
3156  inline void Swap(TaskPacket* other) {
3157  if (other == this) return;
3158  if (GetArena() == other->GetArena()) {
3159  InternalSwap(other);
3160  } else {
3161  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
3162  }
3163  }
3164  void UnsafeArenaSwap(TaskPacket* other) {
3165  if (other == this) return;
3166  GOOGLE_DCHECK(GetArena() == other->GetArena());
3167  InternalSwap(other);
3168  }
3169 
3170  // implements Message ----------------------------------------------
3171 
3172  inline TaskPacket* New() const final {
3173  return CreateMaybeMessage<TaskPacket>(nullptr);
3174  }
3175 
3176  TaskPacket* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
3177  return CreateMaybeMessage<TaskPacket>(arena);
3178  }
3179  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
3180  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
3181  void CopyFrom(const TaskPacket& from);
3182  void MergeFrom(const TaskPacket& from);
3183  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
3184  bool IsInitialized() const final;
3185 
3186  size_t ByteSizeLong() const final;
3187  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
3188  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
3189  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
3190  int GetCachedSize() const final { return _cached_size_.Get(); }
3191 
3192  private:
3193  inline void SharedCtor();
3194  inline void SharedDtor();
3195  void SetCachedSize(int size) const final;
3196  void InternalSwap(TaskPacket* other);
3197  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
3198  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
3199  return "jaiabot.protobuf.TaskPacket";
3200  }
3201  protected:
3202  explicit TaskPacket(::PROTOBUF_NAMESPACE_ID::Arena* arena);
3203  private:
3204  static void ArenaDtor(void* object);
3205  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
3206  public:
3207 
3208  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
3209  private:
3210  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
3211  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_jaiabot_2fmessages_2fjaia_5fdccl_2eproto);
3212  return ::descriptor_table_jaiabot_2fmessages_2fjaia_5fdccl_2eproto.file_level_metadata[kIndexInFileMessages];
3213  }
3214 
3215  public:
3216 
3217  // nested types ----------------------------------------------------
3218 
3219  // accessors -------------------------------------------------------
3220 
3221  enum : int {
3222  kDiveFieldNumber = 10,
3223  kDriftFieldNumber = 11,
3224  kStartTimeFieldNumber = 2,
3225  kBotIdFieldNumber = 1,
3226  kTypeFieldNumber = 4,
3227  kEndTimeFieldNumber = 3,
3228  kLinkFieldNumber = 5,
3229  };
3230  // optional .jaiabot.protobuf.DivePacket dive = 10 [(.jaia.field) = {
3231  bool has_dive() const;
3232  private:
3233  bool _internal_has_dive() const;
3234  public:
3235  void clear_dive();
3236  const ::jaiabot::protobuf::DivePacket& dive() const;
3237  ::jaiabot::protobuf::DivePacket* release_dive();
3238  ::jaiabot::protobuf::DivePacket* mutable_dive();
3239  void set_allocated_dive(::jaiabot::protobuf::DivePacket* dive);
3240  private:
3241  const ::jaiabot::protobuf::DivePacket& _internal_dive() const;
3242  ::jaiabot::protobuf::DivePacket* _internal_mutable_dive();
3243  public:
3245  ::jaiabot::protobuf::DivePacket* dive);
3246  ::jaiabot::protobuf::DivePacket* unsafe_arena_release_dive();
3247 
3248  // optional .jaiabot.protobuf.DriftPacket drift = 11 [(.jaia.field) = {
3249  bool has_drift() const;
3250  private:
3251  bool _internal_has_drift() const;
3252  public:
3253  void clear_drift();
3254  const ::jaiabot::protobuf::DriftPacket& drift() const;
3255  ::jaiabot::protobuf::DriftPacket* release_drift();
3256  ::jaiabot::protobuf::DriftPacket* mutable_drift();
3257  void set_allocated_drift(::jaiabot::protobuf::DriftPacket* drift);
3258  private:
3259  const ::jaiabot::protobuf::DriftPacket& _internal_drift() const;
3260  ::jaiabot::protobuf::DriftPacket* _internal_mutable_drift();
3261  public:
3263  ::jaiabot::protobuf::DriftPacket* drift);
3264  ::jaiabot::protobuf::DriftPacket* unsafe_arena_release_drift();
3265 
3266  // required uint64 start_time = 2 [(.dccl.field) = {
3267  bool has_start_time() const;
3268  private:
3269  bool _internal_has_start_time() const;
3270  public:
3272  ::PROTOBUF_NAMESPACE_ID::uint64 start_time() const;
3273  void set_start_time(::PROTOBUF_NAMESPACE_ID::uint64 value);
3274  private:
3275  ::PROTOBUF_NAMESPACE_ID::uint64 _internal_start_time() const;
3276  void _internal_set_start_time(::PROTOBUF_NAMESPACE_ID::uint64 value);
3277  public:
3278 
3279  // required uint32 bot_id = 1 [(.dccl.field) = {
3280  bool has_bot_id() const;
3281  private:
3282  bool _internal_has_bot_id() const;
3283  public:
3285  ::PROTOBUF_NAMESPACE_ID::uint32 bot_id() const;
3286  void set_bot_id(::PROTOBUF_NAMESPACE_ID::uint32 value);
3287  private:
3288  ::PROTOBUF_NAMESPACE_ID::uint32 _internal_bot_id() const;
3289  void _internal_set_bot_id(::PROTOBUF_NAMESPACE_ID::uint32 value);
3290  public:
3291 
3292  // required .jaiabot.protobuf.MissionTask.TaskType type = 4 [(.jaia.field) = {
3293  bool has_type() const;
3294  private:
3295  bool _internal_has_type() const;
3296  public:
3297  void clear_type();
3300  private:
3301  ::jaiabot::protobuf::MissionTask_TaskType _internal_type() const;
3302  void _internal_set_type(::jaiabot::protobuf::MissionTask_TaskType value);
3303  public:
3304 
3305  // required uint64 end_time = 3 [(.dccl.field) = {
3306  bool has_end_time() const;
3307  private:
3308  bool _internal_has_end_time() const;
3309  public:
3311  ::PROTOBUF_NAMESPACE_ID::uint64 end_time() const;
3312  void set_end_time(::PROTOBUF_NAMESPACE_ID::uint64 value);
3313  private:
3314  ::PROTOBUF_NAMESPACE_ID::uint64 _internal_end_time() const;
3315  void _internal_set_end_time(::PROTOBUF_NAMESPACE_ID::uint64 value);
3316  public:
3317 
3318  // optional .jaiabot.protobuf.Link link = 5 [(.dccl.field) = {
3319  bool has_link() const;
3320  private:
3321  bool _internal_has_link() const;
3322  public:
3323  void clear_link();
3326  private:
3327  ::jaiabot::protobuf::Link _internal_link() const;
3328  void _internal_set_link(::jaiabot::protobuf::Link value);
3329  public:
3330 
3331  enum DCCLParameters { DCCL_ID = 20481, DCCL_MAX_BYTES = 250 };
3332  typedef boost::units::time_dimension start_time_dimension;
3333 
3334  typedef boost::units::make_scaled_unit<boost::units::unit<start_time_dimension,boost::units::si::system> , boost::units::scale<10, boost::units::static_rational<-6> > >::type start_time_unit;
3335 
3336  template<typename Quantity >
3337  void set_start_time_with_units(Quantity value_w_units)
3338  { set_start_time(boost::units::quantity<start_time_unit,google::protobuf::uint64 >(value_w_units).value() ); };
3339 
3340  template<typename Quantity >
3341  Quantity start_time_with_units() const
3342  { return Quantity(start_time() * start_time_unit()); };
3343 
3344  boost::units::quantity< start_time_unit,google::protobuf::uint64 > start_time_with_units() const
3345  { return start_time_with_units<boost::units::quantity< start_time_unit,google::protobuf::uint64 > >(); };
3346 
3347  typedef boost::units::time_dimension end_time_dimension;
3348 
3349  typedef boost::units::make_scaled_unit<boost::units::unit<end_time_dimension,boost::units::si::system> , boost::units::scale<10, boost::units::static_rational<-6> > >::type end_time_unit;
3350 
3351  template<typename Quantity >
3352  void set_end_time_with_units(Quantity value_w_units)
3353  { set_end_time(boost::units::quantity<end_time_unit,google::protobuf::uint64 >(value_w_units).value() ); };
3354 
3355  template<typename Quantity >
3356  Quantity end_time_with_units() const
3357  { return Quantity(end_time() * end_time_unit()); };
3358 
3359  boost::units::quantity< end_time_unit,google::protobuf::uint64 > end_time_with_units() const
3360  { return end_time_with_units<boost::units::quantity< end_time_unit,google::protobuf::uint64 > >(); };
3361 
3362  // @@protoc_insertion_point(class_scope:jaiabot.protobuf.TaskPacket)
3363  private:
3364  class _Internal;
3365 
3366  // helper for ByteSizeLong()
3367  size_t RequiredFieldsByteSizeFallback() const;
3368 
3369  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
3370  typedef void InternalArenaConstructable_;
3371  typedef void DestructorSkippable_;
3372  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
3373  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
3374  ::jaiabot::protobuf::DivePacket* dive_;
3375  ::jaiabot::protobuf::DriftPacket* drift_;
3376  ::PROTOBUF_NAMESPACE_ID::uint64 start_time_;
3377  ::PROTOBUF_NAMESPACE_ID::uint32 bot_id_;
3378  int type_;
3379  ::PROTOBUF_NAMESPACE_ID::uint64 end_time_;
3380  int link_;
3381  friend struct ::TableStruct_jaiabot_2fmessages_2fjaia_5fdccl_2eproto;
3382 };
3383 // -------------------------------------------------------------------
3384 
3385 class ContactUpdate PROTOBUF_FINAL :
3386  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:jaiabot.protobuf.ContactUpdate) */ {
3387  public:
3388  inline ContactUpdate() : ContactUpdate(nullptr) {};
3389  virtual ~ContactUpdate();
3390 
3392  ContactUpdate(ContactUpdate&& from) noexcept
3393  : ContactUpdate() {
3394  *this = ::std::move(from);
3395  }
3396 
3397  inline ContactUpdate& operator=(const ContactUpdate& from) {
3398  CopyFrom(from);
3399  return *this;
3400  }
3401  inline ContactUpdate& operator=(ContactUpdate&& from) noexcept {
3402  if (GetArena() == from.GetArena()) {
3403  if (this != &from) InternalSwap(&from);
3404  } else {
3405  CopyFrom(from);
3406  }
3407  return *this;
3408  }
3409 
3410  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
3411  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
3412  }
3413  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
3414  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
3415  }
3416 
3417  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
3418  return GetDescriptor();
3419  }
3420  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
3421  return GetMetadataStatic().descriptor;
3422  }
3423  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
3424  return GetMetadataStatic().reflection;
3425  }
3427 
3428  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
3429  static inline const ContactUpdate* internal_default_instance() {
3430  return reinterpret_cast<const ContactUpdate*>(
3432  }
3433  static constexpr int kIndexInFileMessages =
3434  10;
3435 
3436  friend void swap(ContactUpdate& a, ContactUpdate& b) {
3437  a.Swap(&b);
3438  }
3439  inline void Swap(ContactUpdate* other) {
3440  if (other == this) return;
3441  if (GetArena() == other->GetArena()) {
3442  InternalSwap(other);
3443  } else {
3444  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
3445  }
3446  }
3448  if (other == this) return;
3449  GOOGLE_DCHECK(GetArena() == other->GetArena());
3450  InternalSwap(other);
3451  }
3452 
3453  // implements Message ----------------------------------------------
3454 
3455  inline ContactUpdate* New() const final {
3456  return CreateMaybeMessage<ContactUpdate>(nullptr);
3457  }
3458 
3459  ContactUpdate* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
3460  return CreateMaybeMessage<ContactUpdate>(arena);
3461  }
3462  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
3463  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
3464  void CopyFrom(const ContactUpdate& from);
3465  void MergeFrom(const ContactUpdate& from);
3466  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
3467  bool IsInitialized() const final;
3468 
3469  size_t ByteSizeLong() const final;
3470  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
3471  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
3472  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
3473  int GetCachedSize() const final { return _cached_size_.Get(); }
3474 
3475  private:
3476  inline void SharedCtor();
3477  inline void SharedDtor();
3478  void SetCachedSize(int size) const final;
3479  void InternalSwap(ContactUpdate* other);
3480  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
3481  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
3482  return "jaiabot.protobuf.ContactUpdate";
3483  }
3484  protected:
3485  explicit ContactUpdate(::PROTOBUF_NAMESPACE_ID::Arena* arena);
3486  private:
3487  static void ArenaDtor(void* object);
3488  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
3489  public:
3490 
3491  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
3492  private:
3493  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
3494  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_jaiabot_2fmessages_2fjaia_5fdccl_2eproto);
3495  return ::descriptor_table_jaiabot_2fmessages_2fjaia_5fdccl_2eproto.file_level_metadata[kIndexInFileMessages];
3496  }
3497 
3498  public:
3499 
3500  // nested types ----------------------------------------------------
3501 
3502  // accessors -------------------------------------------------------
3503 
3504  enum : int {
3505  kLocationFieldNumber = 2,
3506  kSpeedOverGroundFieldNumber = 3,
3507  kHeadingOrCogFieldNumber = 5,
3508  kContactFieldNumber = 1,
3509  };
3510  // required .jaiabot.protobuf.GeographicCoordinate location = 2;
3511  bool has_location() const;
3512  private:
3513  bool _internal_has_location() const;
3514  public:
3516  const ::jaiabot::protobuf::GeographicCoordinate& location() const;
3517  ::jaiabot::protobuf::GeographicCoordinate* release_location();
3518  ::jaiabot::protobuf::GeographicCoordinate* mutable_location();
3519  void set_allocated_location(::jaiabot::protobuf::GeographicCoordinate* location);
3520  private:
3521  const ::jaiabot::protobuf::GeographicCoordinate& _internal_location() const;
3522  ::jaiabot::protobuf::GeographicCoordinate* _internal_mutable_location();
3523  public:
3525  ::jaiabot::protobuf::GeographicCoordinate* location);
3526  ::jaiabot::protobuf::GeographicCoordinate* unsafe_arena_release_location();
3527 
3528  // optional double speed_over_ground = 3 [(.dccl.field) = {
3530  private:
3531  bool _internal_has_speed_over_ground() const;
3532  public:
3534  double speed_over_ground() const;
3535  void set_speed_over_ground(double value);
3536  private:
3537  double _internal_speed_over_ground() const;
3538  void _internal_set_speed_over_ground(double value);
3539  public:
3540 
3541  // optional double heading_or_cog = 5 [(.dccl.field) = {
3542  bool has_heading_or_cog() const;
3543  private:
3544  bool _internal_has_heading_or_cog() const;
3545  public:
3547  double heading_or_cog() const;
3548  void set_heading_or_cog(double value);
3549  private:
3550  double _internal_heading_or_cog() const;
3551  void _internal_set_heading_or_cog(double value);
3552  public:
3553 
3554  // optional int32 contact = 1 [(.dccl.field) = {
3555  bool has_contact() const;
3556  private:
3557  bool _internal_has_contact() const;
3558  public:
3560  ::PROTOBUF_NAMESPACE_ID::int32 contact() const;
3561  void set_contact(::PROTOBUF_NAMESPACE_ID::int32 value);
3562  private:
3563  ::PROTOBUF_NAMESPACE_ID::int32 _internal_contact() const;
3564  void _internal_set_contact(::PROTOBUF_NAMESPACE_ID::int32 value);
3565  public:
3566 
3567  enum DCCLParameters { DCCL_ID = 20482, DCCL_MAX_BYTES = 16 };
3568  typedef boost::units::velocity_dimension speed_over_ground_dimension;
3569 
3570  typedef boost::units::unit<speed_over_ground_dimension,boost::units::si::system> speed_over_ground_unit;
3571 
3572  template<typename Quantity >
3573  void set_speed_over_ground_with_units(Quantity value_w_units)
3574  { set_speed_over_ground(boost::units::quantity<speed_over_ground_unit,double >(value_w_units).value() ); };
3575 
3576  template<typename Quantity >
3578  { return Quantity(speed_over_ground() * speed_over_ground_unit()); };
3579 
3580  boost::units::quantity< speed_over_ground_unit,double > speed_over_ground_with_units() const
3581  { return speed_over_ground_with_units<boost::units::quantity< speed_over_ground_unit,double > >(); };
3582 
3583  typedef boost::units::plane_angle_dimension heading_or_cog_dimension;
3584 
3585  typedef boost::units::unit<heading_or_cog_dimension,boost::units::degree::system> heading_or_cog_unit;
3586 
3587  template<typename Quantity >
3588  void set_heading_or_cog_with_units(Quantity value_w_units)
3589  { set_heading_or_cog(boost::units::quantity<heading_or_cog_unit,double >(value_w_units).value() ); };
3590 
3591  template<typename Quantity >
3592  Quantity heading_or_cog_with_units() const
3593  { return Quantity(heading_or_cog() * heading_or_cog_unit()); };
3594 
3595  boost::units::quantity< heading_or_cog_unit,double > heading_or_cog_with_units() const
3596  { return heading_or_cog_with_units<boost::units::quantity< heading_or_cog_unit,double > >(); };
3597 
3598  // @@protoc_insertion_point(class_scope:jaiabot.protobuf.ContactUpdate)
3599  private:
3600  class _Internal;
3601 
3602  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
3603  typedef void InternalArenaConstructable_;
3604  typedef void DestructorSkippable_;
3605  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
3606  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
3607  ::jaiabot::protobuf::GeographicCoordinate* location_;
3608  double speed_over_ground_;
3609  double heading_or_cog_;
3610  ::PROTOBUF_NAMESPACE_ID::int32 contact_;
3611  friend struct ::TableStruct_jaiabot_2fmessages_2fjaia_5fdccl_2eproto;
3612 };
3613 // ===================================================================
3614 
3615 
3616 // ===================================================================
3617 
3618 #ifdef __GNUC__
3619  #pragma GCC diagnostic push
3620  #pragma GCC diagnostic ignored "-Wstrict-aliasing"
3621 #endif // __GNUC__
3622 // Command
3623 
3624 // required uint32 bot_id = 1 [(.dccl.field) = {
3625 inline bool Command::_internal_has_bot_id() const {
3626  bool value = (_has_bits_[0] & 0x00000002u) != 0;
3627  return value;
3628 }
3629 inline bool Command::has_bot_id() const {
3630  return _internal_has_bot_id();
3631 }
3632 inline void Command::clear_bot_id() {
3633  bot_id_ = 0u;
3634  _has_bits_[0] &= ~0x00000002u;
3635 }
3636 inline ::PROTOBUF_NAMESPACE_ID::uint32 Command::_internal_bot_id() const {
3637  return bot_id_;
3638 }
3639 inline ::PROTOBUF_NAMESPACE_ID::uint32 Command::bot_id() const {
3640  // @@protoc_insertion_point(field_get:jaiabot.protobuf.Command.bot_id)
3641  return _internal_bot_id();
3642 }
3643 inline void Command::_internal_set_bot_id(::PROTOBUF_NAMESPACE_ID::uint32 value) {
3644  _has_bits_[0] |= 0x00000002u;
3645  bot_id_ = value;
3646 }
3647 inline void Command::set_bot_id(::PROTOBUF_NAMESPACE_ID::uint32 value) {
3648  _internal_set_bot_id(value);
3649  // @@protoc_insertion_point(field_set:jaiabot.protobuf.Command.bot_id)
3650 }
3651 
3652 // required uint64 time = 2 [(.dccl.field) = {
3653 inline bool Command::_internal_has_time() const {
3654  bool value = (_has_bits_[0] & 0x00000001u) != 0;
3655  return value;
3656 }
3657 inline bool Command::has_time() const {
3658  return _internal_has_time();
3659 }
3660 inline void Command::clear_time() {
3661  time_ = PROTOBUF_ULONGLONG(0);
3662  _has_bits_[0] &= ~0x00000001u;
3663 }
3664 inline ::PROTOBUF_NAMESPACE_ID::uint64 Command::_internal_time() const {
3665  return time_;
3666 }
3667 inline ::PROTOBUF_NAMESPACE_ID::uint64 Command::time() const {
3668  // @@protoc_insertion_point(field_get:jaiabot.protobuf.Command.time)
3669  return _internal_time();
3670 }
3671 inline void Command::_internal_set_time(::PROTOBUF_NAMESPACE_ID::uint64 value) {
3672  _has_bits_[0] |= 0x00000001u;
3673  time_ = value;
3674 }
3675 inline void Command::set_time(::PROTOBUF_NAMESPACE_ID::uint64 value) {
3676  _internal_set_time(value);
3677  // @@protoc_insertion_point(field_set:jaiabot.protobuf.Command.time)
3678 }
3679 
3680 // optional .jaiabot.protobuf.Link link = 3 [(.dccl.field) = {
3681 inline bool Command::_internal_has_link() const {
3682  bool value = (_has_bits_[0] & 0x00000004u) != 0;
3683  return value;
3684 }
3685 inline bool Command::has_link() const {
3686  return _internal_has_link();
3687 }
3688 inline void Command::clear_link() {
3689  link_ = -1;
3690  _has_bits_[0] &= ~0x00000004u;
3691 }
3692 inline ::jaiabot::protobuf::Link Command::_internal_link() const {
3693  return static_cast< ::jaiabot::protobuf::Link >(link_);
3694 }
3695 inline ::jaiabot::protobuf::Link Command::link() const {
3696  // @@protoc_insertion_point(field_get:jaiabot.protobuf.Command.link)
3697  return _internal_link();
3698 }
3699 inline void Command::_internal_set_link(::jaiabot::protobuf::Link value) {
3700  assert(::jaiabot::protobuf::Link_IsValid(value));
3701  _has_bits_[0] |= 0x00000004u;
3702  link_ = value;
3703 }
3704 inline void Command::set_link(::jaiabot::protobuf::Link value) {
3705  _internal_set_link(value);
3706  // @@protoc_insertion_point(field_set:jaiabot.protobuf.Command.link)
3707 }
3708 
3709 // required .jaiabot.protobuf.Command.CommandType type = 10 [(.jaia.field) = {
3710 inline bool Command::_internal_has_type() const {
3711  bool value = (_has_bits_[0] & 0x00000008u) != 0;
3712  return value;
3713 }
3714 inline bool Command::has_type() const {
3715  return _internal_has_type();
3716 }
3717 inline void Command::clear_type() {
3718  type_ = 1;
3719  _has_bits_[0] &= ~0x00000008u;
3720 }
3721 inline ::jaiabot::protobuf::Command_CommandType Command::_internal_type() const {
3722  return static_cast< ::jaiabot::protobuf::Command_CommandType >(type_);
3723 }
3725  // @@protoc_insertion_point(field_get:jaiabot.protobuf.Command.type)
3726  return _internal_type();
3727 }
3728 inline void Command::_internal_set_type(::jaiabot::protobuf::Command_CommandType value) {
3730  _has_bits_[0] |= 0x00000008u;
3731  type_ = value;
3732 }
3733 inline void Command::set_type(::jaiabot::protobuf::Command_CommandType value) {
3734  _internal_set_type(value);
3735  // @@protoc_insertion_point(field_set:jaiabot.protobuf.Command.type)
3736 }
3737 
3738 // .jaiabot.protobuf.MissionPlan plan = 20 [(.jaia.field) = {
3739 inline bool Command::_internal_has_plan() const {
3740  return command_data_case() == kPlan;
3741 }
3742 inline bool Command::has_plan() const {
3743  return _internal_has_plan();
3744 }
3745 inline void Command::set_has_plan() {
3746  _oneof_case_[0] = kPlan;
3747 }
3748 inline ::jaiabot::protobuf::MissionPlan* Command::release_plan() {
3749  // @@protoc_insertion_point(field_release:jaiabot.protobuf.Command.plan)
3750  if (_internal_has_plan()) {
3751  clear_has_command_data();
3752  ::jaiabot::protobuf::MissionPlan* temp = command_data_.plan_;
3753  if (GetArena() != nullptr) {
3754  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
3755  }
3756  command_data_.plan_ = nullptr;
3757  return temp;
3758  } else {
3759  return nullptr;
3760  }
3761 }
3762 inline const ::jaiabot::protobuf::MissionPlan& Command::_internal_plan() const {
3763  return _internal_has_plan()
3764  ? *command_data_.plan_
3765  : *reinterpret_cast< ::jaiabot::protobuf::MissionPlan*>(&::jaiabot::protobuf::_MissionPlan_default_instance_);
3766 }
3767 inline const ::jaiabot::protobuf::MissionPlan& Command::plan() const {
3768  // @@protoc_insertion_point(field_get:jaiabot.protobuf.Command.plan)
3769  return _internal_plan();
3770 }
3771 inline ::jaiabot::protobuf::MissionPlan* Command::unsafe_arena_release_plan() {
3772  // @@protoc_insertion_point(field_unsafe_arena_release:jaiabot.protobuf.Command.plan)
3773  if (_internal_has_plan()) {
3774  clear_has_command_data();
3775  ::jaiabot::protobuf::MissionPlan* temp = command_data_.plan_;
3776  command_data_.plan_ = nullptr;
3777  return temp;
3778  } else {
3779  return nullptr;
3780  }
3781 }
3782 inline void Command::unsafe_arena_set_allocated_plan(::jaiabot::protobuf::MissionPlan* plan) {
3783  clear_command_data();
3784  if (plan) {
3785  set_has_plan();
3786  command_data_.plan_ = plan;
3787  }
3788  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:jaiabot.protobuf.Command.plan)
3789 }
3790 inline ::jaiabot::protobuf::MissionPlan* Command::_internal_mutable_plan() {
3791  if (!_internal_has_plan()) {
3792  clear_command_data();
3793  set_has_plan();
3794  command_data_.plan_ = CreateMaybeMessage< ::jaiabot::protobuf::MissionPlan >(GetArena());
3795  }
3796  return command_data_.plan_;
3797 }
3798 inline ::jaiabot::protobuf::MissionPlan* Command::mutable_plan() {
3799  // @@protoc_insertion_point(field_mutable:jaiabot.protobuf.Command.plan)
3800  return _internal_mutable_plan();
3801 }
3802 
3803 // .jaiabot.protobuf.RemoteControl rc = 30 [(.jaia.field) = {
3804 inline bool Command::_internal_has_rc() const {
3805  return command_data_case() == kRc;
3806 }
3807 inline bool Command::has_rc() const {
3808  return _internal_has_rc();
3809 }
3810 inline void Command::set_has_rc() {
3811  _oneof_case_[0] = kRc;
3812 }
3813 inline ::jaiabot::protobuf::RemoteControl* Command::release_rc() {
3814  // @@protoc_insertion_point(field_release:jaiabot.protobuf.Command.rc)
3815  if (_internal_has_rc()) {
3816  clear_has_command_data();
3817  ::jaiabot::protobuf::RemoteControl* temp = command_data_.rc_;
3818  if (GetArena() != nullptr) {
3819  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
3820  }
3821  command_data_.rc_ = nullptr;
3822  return temp;
3823  } else {
3824  return nullptr;
3825  }
3826 }
3827 inline const ::jaiabot::protobuf::RemoteControl& Command::_internal_rc() const {
3828  return _internal_has_rc()
3829  ? *command_data_.rc_
3830  : *reinterpret_cast< ::jaiabot::protobuf::RemoteControl*>(&::jaiabot::protobuf::_RemoteControl_default_instance_);
3831 }
3832 inline const ::jaiabot::protobuf::RemoteControl& Command::rc() const {
3833  // @@protoc_insertion_point(field_get:jaiabot.protobuf.Command.rc)
3834  return _internal_rc();
3835 }
3836 inline ::jaiabot::protobuf::RemoteControl* Command::unsafe_arena_release_rc() {
3837  // @@protoc_insertion_point(field_unsafe_arena_release:jaiabot.protobuf.Command.rc)
3838  if (_internal_has_rc()) {
3839  clear_has_command_data();
3840  ::jaiabot::protobuf::RemoteControl* temp = command_data_.rc_;
3841  command_data_.rc_ = nullptr;
3842  return temp;
3843  } else {
3844  return nullptr;
3845  }
3846 }
3847 inline void Command::unsafe_arena_set_allocated_rc(::jaiabot::protobuf::RemoteControl* rc) {
3848  clear_command_data();
3849  if (rc) {
3850  set_has_rc();
3851  command_data_.rc_ = rc;
3852  }
3853  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:jaiabot.protobuf.Command.rc)
3854 }
3855 inline ::jaiabot::protobuf::RemoteControl* Command::_internal_mutable_rc() {
3856  if (!_internal_has_rc()) {
3857  clear_command_data();
3858  set_has_rc();
3859  command_data_.rc_ = CreateMaybeMessage< ::jaiabot::protobuf::RemoteControl >(GetArena());
3860  }
3861  return command_data_.rc_;
3862 }
3863 inline ::jaiabot::protobuf::RemoteControl* Command::mutable_rc() {
3864  // @@protoc_insertion_point(field_mutable:jaiabot.protobuf.Command.rc)
3865  return _internal_mutable_rc();
3866 }
3867 
3868 // .jaiabot.protobuf.MissionTask rc_task = 31;
3869 inline bool Command::_internal_has_rc_task() const {
3870  return command_data_case() == kRcTask;
3871 }
3872 inline bool Command::has_rc_task() const {
3873  return _internal_has_rc_task();
3874 }
3875 inline void Command::set_has_rc_task() {
3876  _oneof_case_[0] = kRcTask;
3877 }
3878 inline ::jaiabot::protobuf::MissionTask* Command::release_rc_task() {
3879  // @@protoc_insertion_point(field_release:jaiabot.protobuf.Command.rc_task)
3880  if (_internal_has_rc_task()) {
3881  clear_has_command_data();
3882  ::jaiabot::protobuf::MissionTask* temp = command_data_.rc_task_;
3883  if (GetArena() != nullptr) {
3884  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
3885  }
3886  command_data_.rc_task_ = nullptr;
3887  return temp;
3888  } else {
3889  return nullptr;
3890  }
3891 }
3892 inline const ::jaiabot::protobuf::MissionTask& Command::_internal_rc_task() const {
3893  return _internal_has_rc_task()
3894  ? *command_data_.rc_task_
3895  : *reinterpret_cast< ::jaiabot::protobuf::MissionTask*>(&::jaiabot::protobuf::_MissionTask_default_instance_);
3896 }
3897 inline const ::jaiabot::protobuf::MissionTask& Command::rc_task() const {
3898  // @@protoc_insertion_point(field_get:jaiabot.protobuf.Command.rc_task)
3899  return _internal_rc_task();
3900 }
3901 inline ::jaiabot::protobuf::MissionTask* Command::unsafe_arena_release_rc_task() {
3902  // @@protoc_insertion_point(field_unsafe_arena_release:jaiabot.protobuf.Command.rc_task)
3903  if (_internal_has_rc_task()) {
3904  clear_has_command_data();
3905  ::jaiabot::protobuf::MissionTask* temp = command_data_.rc_task_;
3906  command_data_.rc_task_ = nullptr;
3907  return temp;
3908  } else {
3909  return nullptr;
3910  }
3911 }
3912 inline void Command::unsafe_arena_set_allocated_rc_task(::jaiabot::protobuf::MissionTask* rc_task) {
3913  clear_command_data();
3914  if (rc_task) {
3915  set_has_rc_task();
3916  command_data_.rc_task_ = rc_task;
3917  }
3918  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:jaiabot.protobuf.Command.rc_task)
3919 }
3920 inline ::jaiabot::protobuf::MissionTask* Command::_internal_mutable_rc_task() {
3921  if (!_internal_has_rc_task()) {
3922  clear_command_data();
3923  set_has_rc_task();
3924  command_data_.rc_task_ = CreateMaybeMessage< ::jaiabot::protobuf::MissionTask >(GetArena());
3925  }
3926  return command_data_.rc_task_;
3927 }
3928 inline ::jaiabot::protobuf::MissionTask* Command::mutable_rc_task() {
3929  // @@protoc_insertion_point(field_mutable:jaiabot.protobuf.Command.rc_task)
3930  return _internal_mutable_rc_task();
3931 }
3932 
3933 inline bool Command::has_command_data() const {
3934  return command_data_case() != COMMAND_DATA_NOT_SET;
3935 }
3936 inline void Command::clear_has_command_data() {
3937  _oneof_case_[0] = COMMAND_DATA_NOT_SET;
3938 }
3939 inline Command::CommandDataCase Command::command_data_case() const {
3940  return Command::CommandDataCase(_oneof_case_[0]);
3941 }
3942 // -------------------------------------------------------------------
3943 
3944 // CommandForHub
3945 
3946 // required uint32 hub_id = 1 [(.jaia.field) = {
3947 inline bool CommandForHub::_internal_has_hub_id() const {
3948  bool value = (_has_bits_[0] & 0x00000004u) != 0;
3949  return value;
3950 }
3951 inline bool CommandForHub::has_hub_id() const {
3952  return _internal_has_hub_id();
3953 }
3954 inline void CommandForHub::clear_hub_id() {
3955  hub_id_ = 0u;
3956  _has_bits_[0] &= ~0x00000004u;
3957 }
3958 inline ::PROTOBUF_NAMESPACE_ID::uint32 CommandForHub::_internal_hub_id() const {
3959  return hub_id_;
3960 }
3961 inline ::PROTOBUF_NAMESPACE_ID::uint32 CommandForHub::hub_id() const {
3962  // @@protoc_insertion_point(field_get:jaiabot.protobuf.CommandForHub.hub_id)
3963  return _internal_hub_id();
3964 }
3965 inline void CommandForHub::_internal_set_hub_id(::PROTOBUF_NAMESPACE_ID::uint32 value) {
3966  _has_bits_[0] |= 0x00000004u;
3967  hub_id_ = value;
3968 }
3969 inline void CommandForHub::set_hub_id(::PROTOBUF_NAMESPACE_ID::uint32 value) {
3970  _internal_set_hub_id(value);
3971  // @@protoc_insertion_point(field_set:jaiabot.protobuf.CommandForHub.hub_id)
3972 }
3973 
3974 // required uint64 time = 2 [(.dccl.field) = {
3975 inline bool CommandForHub::_internal_has_time() const {
3976  bool value = (_has_bits_[0] & 0x00000002u) != 0;
3977  return value;
3978 }
3979 inline bool CommandForHub::has_time() const {
3980  return _internal_has_time();
3981 }
3982 inline void CommandForHub::clear_time() {
3983  time_ = PROTOBUF_ULONGLONG(0);
3984  _has_bits_[0] &= ~0x00000002u;
3985 }
3986 inline ::PROTOBUF_NAMESPACE_ID::uint64 CommandForHub::_internal_time() const {
3987  return time_;
3988 }
3989 inline ::PROTOBUF_NAMESPACE_ID::uint64 CommandForHub::time() const {
3990  // @@protoc_insertion_point(field_get:jaiabot.protobuf.CommandForHub.time)
3991  return _internal_time();
3992 }
3993 inline void CommandForHub::_internal_set_time(::PROTOBUF_NAMESPACE_ID::uint64 value) {
3994  _has_bits_[0] |= 0x00000002u;
3995  time_ = value;
3996 }
3997 inline void CommandForHub::set_time(::PROTOBUF_NAMESPACE_ID::uint64 value) {
3998  _internal_set_time(value);
3999  // @@protoc_insertion_point(field_set:jaiabot.protobuf.CommandForHub.time)
4000 }
4001 
4002 // required .jaiabot.protobuf.CommandForHub.HubCommandType type = 10 [(.jaia.field) = {
4003 inline bool CommandForHub::_internal_has_type() const {
4004  bool value = (_has_bits_[0] & 0x00000010u) != 0;
4005  return value;
4006 }
4007 inline bool CommandForHub::has_type() const {
4008  return _internal_has_type();
4009 }
4010 inline void CommandForHub::clear_type() {
4011  type_ = 5;
4012  _has_bits_[0] &= ~0x00000010u;
4013 }
4014 inline ::jaiabot::protobuf::CommandForHub_HubCommandType CommandForHub::_internal_type() const {
4015  return static_cast< ::jaiabot::protobuf::CommandForHub_HubCommandType >(type_);
4016 }
4018  // @@protoc_insertion_point(field_get:jaiabot.protobuf.CommandForHub.type)
4019  return _internal_type();
4020 }
4021 inline void CommandForHub::_internal_set_type(::jaiabot::protobuf::CommandForHub_HubCommandType value) {
4023  _has_bits_[0] |= 0x00000010u;
4024  type_ = value;
4025 }
4026 inline void CommandForHub::set_type(::jaiabot::protobuf::CommandForHub_HubCommandType value) {
4027  _internal_set_type(value);
4028  // @@protoc_insertion_point(field_set:jaiabot.protobuf.CommandForHub.type)
4029 }
4030 
4031 // optional uint32 scan_for_bot_id = 11;
4032 inline bool CommandForHub::_internal_has_scan_for_bot_id() const {
4033  bool value = (_has_bits_[0] & 0x00000008u) != 0;
4034  return value;
4035 }
4036 inline bool CommandForHub::has_scan_for_bot_id() const {
4037  return _internal_has_scan_for_bot_id();
4038 }
4039 inline void CommandForHub::clear_scan_for_bot_id() {
4040  scan_for_bot_id_ = 0u;
4041  _has_bits_[0] &= ~0x00000008u;
4042 }
4043 inline ::PROTOBUF_NAMESPACE_ID::uint32 CommandForHub::_internal_scan_for_bot_id() const {
4044  return scan_for_bot_id_;
4045 }
4046 inline ::PROTOBUF_NAMESPACE_ID::uint32 CommandForHub::scan_for_bot_id() const {
4047  // @@protoc_insertion_point(field_get:jaiabot.protobuf.CommandForHub.scan_for_bot_id)
4048  return _internal_scan_for_bot_id();
4049 }
4050 inline void CommandForHub::_internal_set_scan_for_bot_id(::PROTOBUF_NAMESPACE_ID::uint32 value) {
4051  _has_bits_[0] |= 0x00000008u;
4052  scan_for_bot_id_ = value;
4053 }
4054 inline void CommandForHub::set_scan_for_bot_id(::PROTOBUF_NAMESPACE_ID::uint32 value) {
4055  _internal_set_scan_for_bot_id(value);
4056  // @@protoc_insertion_point(field_set:jaiabot.protobuf.CommandForHub.scan_for_bot_id)
4057 }
4058 
4059 // optional .jaiabot.protobuf.GeographicCoordinate hub_location = 80 [(.jaia.field) = {
4060 inline bool CommandForHub::_internal_has_hub_location() const {
4061  bool value = (_has_bits_[0] & 0x00000001u) != 0;
4062  PROTOBUF_ASSUME(!value || hub_location_ != nullptr);
4063  return value;
4064 }
4065 inline bool CommandForHub::has_hub_location() const {
4066  return _internal_has_hub_location();
4067 }
4068 inline const ::jaiabot::protobuf::GeographicCoordinate& CommandForHub::_internal_hub_location() const {
4069  const ::jaiabot::protobuf::GeographicCoordinate* p = hub_location_;
4070  return p != nullptr ? *p : *reinterpret_cast<const ::jaiabot::protobuf::GeographicCoordinate*>(
4072 }
4073 inline const ::jaiabot::protobuf::GeographicCoordinate& CommandForHub::hub_location() const {
4074  // @@protoc_insertion_point(field_get:jaiabot.protobuf.CommandForHub.hub_location)
4075  return _internal_hub_location();
4076 }
4077 inline void CommandForHub::unsafe_arena_set_allocated_hub_location(
4078  ::jaiabot::protobuf::GeographicCoordinate* hub_location) {
4079  if (GetArena() == nullptr) {
4080  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(hub_location_);
4081  }
4082  hub_location_ = hub_location;
4083  if (hub_location) {
4084  _has_bits_[0] |= 0x00000001u;
4085  } else {
4086  _has_bits_[0] &= ~0x00000001u;
4087  }
4088  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:jaiabot.protobuf.CommandForHub.hub_location)
4089 }
4090 inline ::jaiabot::protobuf::GeographicCoordinate* CommandForHub::release_hub_location() {
4091  auto temp = unsafe_arena_release_hub_location();
4092  if (GetArena() != nullptr) {
4093  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
4094  }
4095  return temp;
4096 }
4097 inline ::jaiabot::protobuf::GeographicCoordinate* CommandForHub::unsafe_arena_release_hub_location() {
4098  // @@protoc_insertion_point(field_release:jaiabot.protobuf.CommandForHub.hub_location)
4099  _has_bits_[0] &= ~0x00000001u;
4100  ::jaiabot::protobuf::GeographicCoordinate* temp = hub_location_;
4101  hub_location_ = nullptr;
4102  return temp;
4103 }
4104 inline ::jaiabot::protobuf::GeographicCoordinate* CommandForHub::_internal_mutable_hub_location() {
4105  _has_bits_[0] |= 0x00000001u;
4106  if (hub_location_ == nullptr) {
4107  auto* p = CreateMaybeMessage<::jaiabot::protobuf::GeographicCoordinate>(GetArena());
4108  hub_location_ = p;
4109  }
4110  return hub_location_;
4111 }
4112 inline ::jaiabot::protobuf::GeographicCoordinate* CommandForHub::mutable_hub_location() {
4113  // @@protoc_insertion_point(field_mutable:jaiabot.protobuf.CommandForHub.hub_location)
4114  return _internal_mutable_hub_location();
4115 }
4116 inline void CommandForHub::set_allocated_hub_location(::jaiabot::protobuf::GeographicCoordinate* hub_location) {
4117  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
4118  if (message_arena == nullptr) {
4119  delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(hub_location_);
4120  }
4121  if (hub_location) {
4122  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
4123  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(hub_location)->GetArena();
4124  if (message_arena != submessage_arena) {
4125  hub_location = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
4126  message_arena, hub_location, submessage_arena);
4127  }
4128  _has_bits_[0] |= 0x00000001u;
4129  } else {
4130  _has_bits_[0] &= ~0x00000001u;
4131  }
4132  hub_location_ = hub_location;
4133  // @@protoc_insertion_point(field_set_allocated:jaiabot.protobuf.CommandForHub.hub_location)
4134 }
4135 
4136 // -------------------------------------------------------------------
4137 
4138 // BotStatus_Attitude
4139 
4140 // optional double roll = 1 [(.dccl.field) = {
4141 inline bool BotStatus_Attitude::_internal_has_roll() const {
4142  bool value = (_has_bits_[0] & 0x00000001u) != 0;
4143  return value;
4144 }
4145 inline bool BotStatus_Attitude::has_roll() const {
4146  return _internal_has_roll();
4147 }
4148 inline void BotStatus_Attitude::clear_roll() {
4149  roll_ = 0;
4150  _has_bits_[0] &= ~0x00000001u;
4151 }
4152 inline double BotStatus_Attitude::_internal_roll() const {
4153  return roll_;
4154 }
4155 inline double BotStatus_Attitude::roll() const {
4156  // @@protoc_insertion_point(field_get:jaiabot.protobuf.BotStatus.Attitude.roll)
4157  return _internal_roll();
4158 }
4159 inline void BotStatus_Attitude::_internal_set_roll(double value) {
4160  _has_bits_[0] |= 0x00000001u;
4161  roll_ = value;
4162 }
4163 inline void BotStatus_Attitude::set_roll(double value) {
4164  _internal_set_roll(value);
4165  // @@protoc_insertion_point(field_set:jaiabot.protobuf.BotStatus.Attitude.roll)
4166 }
4167 
4168 // optional double pitch = 2 [(.dccl.field) = {
4169 inline bool BotStatus_Attitude::_internal_has_pitch() const {
4170  bool value = (_has_bits_[0] & 0x00000002u) != 0;
4171  return value;
4172 }
4173 inline bool BotStatus_Attitude::has_pitch() const {
4174  return _internal_has_pitch();
4175 }
4176 inline void BotStatus_Attitude::clear_pitch() {
4177  pitch_ = 0;
4178  _has_bits_[0] &= ~0x00000002u;
4179 }
4180 inline double BotStatus_Attitude::_internal_pitch() const {
4181  return pitch_;
4182 }
4183 inline double BotStatus_Attitude::pitch() const {
4184  // @@protoc_insertion_point(field_get:jaiabot.protobuf.BotStatus.Attitude.pitch)
4185  return _internal_pitch();
4186 }
4187 inline void BotStatus_Attitude::_internal_set_pitch(double value) {
4188  _has_bits_[0] |= 0x00000002u;
4189  pitch_ = value;
4190 }
4191 inline void BotStatus_Attitude::set_pitch(double value) {
4192  _internal_set_pitch(value);
4193  // @@protoc_insertion_point(field_set:jaiabot.protobuf.BotStatus.Attitude.pitch)
4194 }
4195 
4196 // optional double heading = 3 [(.dccl.field) = {
4197 inline bool BotStatus_Attitude::_internal_has_heading() const {
4198  bool value = (_has_bits_[0] & 0x00000004u) != 0;
4199  return value;
4200 }
4201 inline bool BotStatus_Attitude::has_heading() const {
4202  return _internal_has_heading();
4203 }
4204 inline void BotStatus_Attitude::clear_heading() {
4205  heading_ = 0;
4206  _has_bits_[0] &= ~0x00000004u;
4207 }
4208 inline double BotStatus_Attitude::_internal_heading() const {
4209  return heading_;
4210 }
4211 inline double BotStatus_Attitude::heading() const {
4212  // @@protoc_insertion_point(field_get:jaiabot.protobuf.BotStatus.Attitude.heading)
4213  return _internal_heading();
4214 }
4215 inline void BotStatus_Attitude::_internal_set_heading(double value) {
4216  _has_bits_[0] |= 0x00000004u;
4217  heading_ = value;
4218 }
4219 inline void BotStatus_Attitude::set_heading(double value) {
4220  _internal_set_heading(value);
4221  // @@protoc_insertion_point(field_set:jaiabot.protobuf.BotStatus.Attitude.heading)
4222 }
4223 
4224 // optional double course_over_ground = 4 [(.dccl.field) = {
4225 inline bool BotStatus_Attitude::_internal_has_course_over_ground() const {
4226  bool value = (_has_bits_[0] & 0x00000008u) != 0;
4227  return value;
4228 }
4229 inline bool BotStatus_Attitude::has_course_over_ground() const {
4230  return _internal_has_course_over_ground();
4231 }
4232 inline void BotStatus_Attitude::clear_course_over_ground() {
4233  course_over_ground_ = 0;
4234  _has_bits_[0] &= ~0x00000008u;
4235 }
4236 inline double BotStatus_Attitude::_internal_course_over_ground() const {
4237  return course_over_ground_;
4238 }
4239 inline double BotStatus_Attitude::course_over_ground() const {
4240  // @@protoc_insertion_point(field_get:jaiabot.protobuf.BotStatus.Attitude.course_over_ground)
4241  return _internal_course_over_ground();
4242 }
4243 inline void BotStatus_Attitude::_internal_set_course_over_ground(double value) {
4244  _has_bits_[0] |= 0x00000008u;
4245  course_over_ground_ = value;
4246 }
4247 inline void BotStatus_Attitude::set_course_over_ground(double value) {
4248  _internal_set_course_over_ground(value);
4249  // @@protoc_insertion_point(field_set:jaiabot.protobuf.BotStatus.Attitude.course_over_ground)
4250 }
4251 
4252 // -------------------------------------------------------------------
4253 
4254 // BotStatus_Speed
4255 
4256 // optional double over_ground = 1 [(.dccl.field) = {
4257 inline bool BotStatus_Speed::_internal_has_over_ground() const {
4258  bool value = (_has_bits_[0] & 0x00000001u) != 0;
4259  return value;
4260 }
4261 inline bool BotStatus_Speed::has_over_ground() const {
4262  return _internal_has_over_ground();
4263 }
4264 inline void BotStatus_Speed::clear_over_ground() {
4265  over_ground_ = 0;
4266  _has_bits_[0] &= ~0x00000001u;
4267 }
4268 inline double BotStatus_Speed::_internal_over_ground() const {
4269  return over_ground_;
4270 }
4271 inline double BotStatus_Speed::over_ground() const {
4272  // @@protoc_insertion_point(field_get:jaiabot.protobuf.BotStatus.Speed.over_ground)
4273  return _internal_over_ground();
4274 }
4275 inline void BotStatus_Speed::_internal_set_over_ground(double value) {
4276  _has_bits_[0] |= 0x00000001u;
4277  over_ground_ = value;
4278 }
4279 inline void BotStatus_Speed::set_over_ground(double value) {
4280  _internal_set_over_ground(value);
4281  // @@protoc_insertion_point(field_set:jaiabot.protobuf.BotStatus.Speed.over_ground)
4282 }
4283 
4284 // optional double over_water = 2 [(.dccl.field) = {
4285 inline bool BotStatus_Speed::_internal_has_over_water() const {
4286  bool value = (_has_bits_[0] & 0x00000002u) != 0;
4287  return value;
4288 }
4289 inline bool BotStatus_Speed::has_over_water() const {
4290  return _internal_has_over_water();
4291 }
4292 inline void BotStatus_Speed::clear_over_water() {
4293  over_water_ = 0;
4294  _has_bits_[0] &= ~0x00000002u;
4295 }
4296 inline double BotStatus_Speed::_internal_over_water() const {
4297  return over_water_;
4298 }
4299 inline double BotStatus_Speed::over_water() const {
4300  // @@protoc_insertion_point(field_get:jaiabot.protobuf.BotStatus.Speed.over_water)
4301  return _internal_over_water();
4302 }
4303 inline void BotStatus_Speed::_internal_set_over_water(double value) {
4304  _has_bits_[0] |= 0x00000002u;
4305  over_water_ = value;
4306 }
4307 inline void BotStatus_Speed::set_over_water(double value) {
4308  _internal_set_over_water(value);
4309  // @@protoc_insertion_point(field_set:jaiabot.protobuf.BotStatus.Speed.over_water)
4310 }
4311 
4312 // -------------------------------------------------------------------
4313 
4314 // BotStatus
4315 
4316 // required uint32 bot_id = 1 [(.dccl.field) = {
4317 inline bool BotStatus::_internal_has_bot_id() const {
4318  bool value = (_has_bits_[0] & 0x00000040u) != 0;
4319  return value;
4320 }
4321 inline bool BotStatus::has_bot_id() const {
4322  return _internal_has_bot_id();
4323 }
4324 inline void BotStatus::clear_bot_id() {
4325  bot_id_ = 0u;
4326  _has_bits_[0] &= ~0x00000040u;
4327 }
4328 inline ::PROTOBUF_NAMESPACE_ID::uint32 BotStatus::_internal_bot_id() const {
4329  return bot_id_;
4330 }
4331 inline ::PROTOBUF_NAMESPACE_ID::uint32 BotStatus::bot_id() const {
4332  // @@protoc_insertion_point(field_get:jaiabot.protobuf.BotStatus.bot_id)
4333  return _internal_bot_id();
4334 }
4335 inline void BotStatus::_internal_set_bot_id(::PROTOBUF_NAMESPACE_ID::uint32 value) {
4336  _has_bits_[0] |= 0x00000040u;
4337  bot_id_ = value;
4338 }
4339 inline void BotStatus::set_bot_id(::PROTOBUF_NAMESPACE_ID::uint32 value) {
4340  _internal_set_bot_id(value);
4341  // @@protoc_insertion_point(field_set:jaiabot.protobuf.BotStatus.bot_id)
4342 }
4343 
4344 // required uint64 time = 2 [(.dccl.field) = {
4345 inline bool BotStatus::_internal_has_time() const {
4346  bool value = (_has_bits_[0] & 0x00000008u) != 0;
4347  return value;
4348 }
4349 inline bool BotStatus::has_time() const {
4350  return _internal_has_time();
4351 }
4352 inline void BotStatus::clear_time() {
4353  time_ = PROTOBUF_ULONGLONG(0);
4354  _has_bits_[0] &= ~0x00000008u;
4355 }
4356 inline ::PROTOBUF_NAMESPACE_ID::uint64 BotStatus::_internal_time() const {
4357  return time_;
4358 }
4359 inline ::PROTOBUF_NAMESPACE_ID::uint64 BotStatus::time() const {
4360  // @@protoc_insertion_point(field_get:jaiabot.protobuf.BotStatus.time)
4361  return _internal_time();
4362 }
4363 inline void BotStatus::_internal_set_time(::PROTOBUF_NAMESPACE_ID::uint64 value) {
4364  _has_bits_[0] |= 0x00000008u;
4365  time_ = value;
4366 }
4367 inline void BotStatus::set_time(::PROTOBUF_NAMESPACE_ID::uint64 value) {
4368  _internal_set_time(value);
4369  // @@protoc_insertion_point(field_set:jaiabot.protobuf.BotStatus.time)
4370 }
4371 
4372 // optional uint64 last_command_time = 3 [(.dccl.field) = {
4373 inline bool BotStatus::_internal_has_last_command_time() const {
4374  bool value = (_has_bits_[0] & 0x00000010u) != 0;
4375  return value;
4376 }
4377 inline bool BotStatus::has_last_command_time() const {
4378  return _internal_has_last_command_time();
4379 }
4380 inline void BotStatus::clear_last_command_time() {
4381  last_command_time_ = PROTOBUF_ULONGLONG(0);
4382  _has_bits_[0] &= ~0x00000010u;
4383 }
4384 inline ::PROTOBUF_NAMESPACE_ID::uint64 BotStatus::_internal_last_command_time() const {
4385  return last_command_time_;
4386 }
4387 inline ::PROTOBUF_NAMESPACE_ID::uint64 BotStatus::last_command_time() const {
4388  // @@protoc_insertion_point(field_get:jaiabot.protobuf.BotStatus.last_command_time)
4389  return _internal_last_command_time();
4390 }
4391 inline void BotStatus::_internal_set_last_command_time(::PROTOBUF_NAMESPACE_ID::uint64 value) {
4392  _has_bits_[0] |= 0x00000010u;
4393  last_command_time_ = value;
4394 }
4395 inline void BotStatus::set_last_command_time(::PROTOBUF_NAMESPACE_ID::uint64 value) {
4396  _internal_set_last_command_time(value);
4397  // @@protoc_insertion_point(field_set:jaiabot.protobuf.BotStatus.last_command_time)
4398 }
4399 
4400 // optional .goby.middleware.protobuf.HealthState health_state = 4 [(.jaia.field) = {
4401 inline bool BotStatus::_internal_has_health_state() const {
4402  bool value = (_has_bits_[0] & 0x00100000u) != 0;
4403  return value;
4404 }
4405 inline bool BotStatus::has_health_state() const {
4406  return _internal_has_health_state();
4407 }
4408 inline void BotStatus::clear_health_state() {
4409  health_state_ = 1;
4410  _has_bits_[0] &= ~0x00100000u;
4411 }
4412 inline ::goby::middleware::protobuf::HealthState BotStatus::_internal_health_state() const {
4413  return static_cast< ::goby::middleware::protobuf::HealthState >(health_state_);
4414 }
4415 inline ::goby::middleware::protobuf::HealthState BotStatus::health_state() const {
4416  // @@protoc_insertion_point(field_get:jaiabot.protobuf.BotStatus.health_state)
4417  return _internal_health_state();
4418 }
4419 inline void BotStatus::_internal_set_health_state(::goby::middleware::protobuf::HealthState value) {
4420  assert(::goby::middleware::protobuf::HealthState_IsValid(value));
4421  _has_bits_[0] |= 0x00100000u;
4422  health_state_ = value;
4423 }
4424 inline void BotStatus::set_health_state(::goby::middleware::protobuf::HealthState value) {
4425  _internal_set_health_state(value);
4426  // @@protoc_insertion_point(field_set:jaiabot.protobuf.BotStatus.health_state)
4427 }
4428 
4429 // repeated .jaiabot.protobuf.Error error = 5 [(.dccl.field) = {
4430 inline int BotStatus::_internal_error_size() const {
4431  return error_.size();
4432 }
4433 inline int BotStatus::error_size() const {
4434  return _internal_error_size();
4435 }
4436 inline void BotStatus::clear_error() {
4437  error_.Clear();
4438 }
4439 inline ::jaiabot::protobuf::Error BotStatus::_internal_error(int index) const {
4440  return static_cast< ::jaiabot::protobuf::Error >(error_.Get(index));
4441 }
4442 inline ::jaiabot::protobuf::Error BotStatus::error(int index) const {
4443  // @@protoc_insertion_point(field_get:jaiabot.protobuf.BotStatus.error)
4444  return _internal_error(index);
4445 }
4446 inline void BotStatus::set_error(int index, ::jaiabot::protobuf::Error value) {
4447  assert(::jaiabot::protobuf::Error_IsValid(value));
4448  error_.Set(index, value);
4449  // @@protoc_insertion_point(field_set:jaiabot.protobuf.BotStatus.error)
4450 }
4451 inline void BotStatus::_internal_add_error(::jaiabot::protobuf::Error value) {
4452  assert(::jaiabot::protobuf::Error_IsValid(value));
4453  error_.Add(value);
4454 }
4455 inline void BotStatus::add_error(::jaiabot::protobuf::Error value) {
4456  // @@protoc_insertion_point(field_add:jaiabot.protobuf.BotStatus.error)
4457  _internal_add_error(value);
4458 }
4459 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>&
4460 BotStatus::error() const {
4461  // @@protoc_insertion_point(field_list:jaiabot.protobuf.BotStatus.error)
4462  return error_;
4463 }
4464 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>*
4465 BotStatus::_internal_mutable_error() {
4466  return &error_;
4467 }
4468 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>*
4469 BotStatus::mutable_error() {
4470  // @@protoc_insertion_point(field_mutable_list:jaiabot.protobuf.BotStatus.error)
4471  return _internal_mutable_error();
4472 }
4473 
4474 // repeated .jaiabot.protobuf.Warning warning = 6 [(.dccl.field) = {
4475 inline int BotStatus::_internal_warning_size() const {
4476  return warning_.size();
4477 }
4478 inline int BotStatus::warning_size() const {
4479  return _internal_warning_size();
4480 }
4481 inline void BotStatus::clear_warning() {
4482  warning_.Clear();
4483 }
4484 inline ::jaiabot::protobuf::Warning BotStatus::_internal_warning(int index) const {
4485  return static_cast< ::jaiabot::protobuf::Warning >(warning_.Get(index));
4486 }
4487 inline ::jaiabot::protobuf::Warning BotStatus::warning(int index) const {
4488  // @@protoc_insertion_point(field_get:jaiabot.protobuf.BotStatus.warning)
4489  return _internal_warning(index);
4490 }
4491 inline void BotStatus::set_warning(int index, ::jaiabot::protobuf::Warning value) {
4492  assert(::jaiabot::protobuf::Warning_IsValid(value));
4493  warning_.Set(index, value);
4494  // @@protoc_insertion_point(field_set:jaiabot.protobuf.BotStatus.warning)
4495 }
4496 inline void BotStatus::_internal_add_warning(::jaiabot::protobuf::Warning value) {
4497  assert(::jaiabot::protobuf::Warning_IsValid(value));
4498  warning_.Add(value);
4499 }
4500 inline void BotStatus::add_warning(::jaiabot::protobuf::Warning value) {
4501  // @@protoc_insertion_point(field_add:jaiabot.protobuf.BotStatus.warning)
4502  _internal_add_warning(value);
4503 }
4504 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>&
4505 BotStatus::warning() const {
4506  // @@protoc_insertion_point(field_list:jaiabot.protobuf.BotStatus.warning)
4507  return warning_;
4508 }
4509 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>*
4510 BotStatus::_internal_mutable_warning() {
4511  return &warning_;
4512 }
4513 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>*
4514 BotStatus::mutable_warning() {
4515  // @@protoc_insertion_point(field_mutable_list:jaiabot.protobuf.BotStatus.warning)
4516  return _internal_mutable_warning();
4517 }
4518 
4519 // optional .jaiabot.protobuf.BotStatus.BotType bot_type = 7 [(.jaia.field) = {
4520 inline bool BotStatus::_internal_has_bot_type() const {
4521  bool value = (_has_bits_[0] & 0x00200000u) != 0;
4522  return value;
4523 }
4524 inline bool BotStatus::has_bot_type() const {
4525  return _internal_has_bot_type();
4526 }
4527 inline void BotStatus::clear_bot_type() {
4528  bot_type_ = 1;
4529  _has_bits_[0] &= ~0x00200000u;
4530 }
4531 inline ::jaiabot::protobuf::BotStatus_BotType BotStatus::_internal_bot_type() const {
4532  return static_cast< ::jaiabot::protobuf::BotStatus_BotType >(bot_type_);
4533 }
4534 inline ::jaiabot::protobuf::BotStatus_BotType BotStatus::bot_type() const {
4535  // @@protoc_insertion_point(field_get:jaiabot.protobuf.BotStatus.bot_type)
4536  return _internal_bot_type();
4537 }
4538 inline void BotStatus::_internal_set_bot_type(::jaiabot::protobuf::BotStatus_BotType value) {
4540  _has_bits_[0] |= 0x00200000u;
4541  bot_type_ = value;
4542 }
4543 inline void BotStatus::set_bot_type(::jaiabot::protobuf::BotStatus_BotType value) {
4544  _internal_set_bot_type(value);
4545  // @@protoc_insertion_point(field_set:jaiabot.protobuf.BotStatus.bot_type)
4546 }
4547 
4548 // optional .jaiabot.protobuf.Link link = 8 [(.dccl.field) = {
4549 inline bool BotStatus::_internal_has_link() const {
4550  bool value = (_has_bits_[0] & 0x00400000u) != 0;
4551  return value;
4552 }
4553 inline bool BotStatus::has_link() const {
4554  return _internal_has_link();
4555 }
4556 inline void BotStatus::clear_link() {
4557  link_ = -1;
4558  _has_bits_[0] &= ~0x00400000u;
4559 }
4560 inline ::jaiabot::protobuf::Link BotStatus::_internal_link() const {
4561  return static_cast< ::jaiabot::protobuf::Link >(link_);
4562 }
4563 inline ::jaiabot::protobuf::Link BotStatus::link() const {
4564  // @@protoc_insertion_point(field_get:jaiabot.protobuf.BotStatus.link)
4565  return _internal_link();
4566 }
4567 inline void BotStatus::_internal_set_link(::jaiabot::protobuf::Link value) {
4568  assert(::jaiabot::protobuf::Link_IsValid(value));
4569  _has_bits_[0] |= 0x00400000u;
4570  link_ = value;
4571 }
4572 inline void BotStatus::set_link(::jaiabot::protobuf::Link value) {
4573  _internal_set_link(value);
4574  // @@protoc_insertion_point(field_set:jaiabot.protobuf.BotStatus.link)
4575 }
4576 
4577 // optional .jaiabot.protobuf.GeographicCoordinate location = 10 [(.jaia.field) = {
4578 inline bool BotStatus::_internal_has_location() const {
4579  bool value = (_has_bits_[0] & 0x00000001u) != 0;
4580  PROTOBUF_ASSUME(!value || location_ != nullptr);
4581  return value;
4582 }
4583 inline bool BotStatus::has_location() const {
4584  return _internal_has_location();
4585 }
4586 inline const ::jaiabot::protobuf::GeographicCoordinate& BotStatus::_internal_location() const {
4587  const ::jaiabot::protobuf::GeographicCoordinate* p = location_;
4588  return p != nullptr ? *p : *reinterpret_cast<const ::jaiabot::protobuf::GeographicCoordinate*>(
4590 }
4591 inline const ::jaiabot::protobuf::GeographicCoordinate& BotStatus::location() const {
4592  // @@protoc_insertion_point(field_get:jaiabot.protobuf.BotStatus.location)
4593  return _internal_location();
4594 }
4595 inline void BotStatus::unsafe_arena_set_allocated_location(
4596  ::jaiabot::protobuf::GeographicCoordinate* location) {
4597  if (GetArena() == nullptr) {
4598  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(location_);
4599  }
4600  location_ = location;
4601  if (location) {
4602  _has_bits_[0] |= 0x00000001u;
4603  } else {
4604  _has_bits_[0] &= ~0x00000001u;
4605  }
4606  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:jaiabot.protobuf.BotStatus.location)
4607 }
4608 inline ::jaiabot::protobuf::GeographicCoordinate* BotStatus::release_location() {
4609  auto temp = unsafe_arena_release_location();
4610  if (GetArena() != nullptr) {
4611  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
4612  }
4613  return temp;
4614 }
4615 inline ::jaiabot::protobuf::GeographicCoordinate* BotStatus::unsafe_arena_release_location() {
4616  // @@protoc_insertion_point(field_release:jaiabot.protobuf.BotStatus.location)
4617  _has_bits_[0] &= ~0x00000001u;
4618  ::jaiabot::protobuf::GeographicCoordinate* temp = location_;
4619  location_ = nullptr;
4620  return temp;
4621 }
4622 inline ::jaiabot::protobuf::GeographicCoordinate* BotStatus::_internal_mutable_location() {
4623  _has_bits_[0] |= 0x00000001u;
4624  if (location_ == nullptr) {
4625  auto* p = CreateMaybeMessage<::jaiabot::protobuf::GeographicCoordinate>(GetArena());
4626  location_ = p;
4627  }
4628  return location_;
4629 }
4630 inline ::jaiabot::protobuf::GeographicCoordinate* BotStatus::mutable_location() {
4631  // @@protoc_insertion_point(field_mutable:jaiabot.protobuf.BotStatus.location)
4632  return _internal_mutable_location();
4633 }
4634 inline void BotStatus::set_allocated_location(::jaiabot::protobuf::GeographicCoordinate* location) {
4635  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
4636  if (message_arena == nullptr) {
4637  delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(location_);
4638  }
4639  if (location) {
4640  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
4641  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(location)->GetArena();
4642  if (message_arena != submessage_arena) {
4643  location = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
4644  message_arena, location, submessage_arena);
4645  }
4646  _has_bits_[0] |= 0x00000001u;
4647  } else {
4648  _has_bits_[0] &= ~0x00000001u;
4649  }
4650  location_ = location;
4651  // @@protoc_insertion_point(field_set_allocated:jaiabot.protobuf.BotStatus.location)
4652 }
4653 
4654 // optional double depth = 11 [(.dccl.field) = {
4655 inline bool BotStatus::_internal_has_depth() const {
4656  bool value = (_has_bits_[0] & 0x00000020u) != 0;
4657  return value;
4658 }
4659 inline bool BotStatus::has_depth() const {
4660  return _internal_has_depth();
4661 }
4662 inline void BotStatus::clear_depth() {
4663  depth_ = 0;
4664  _has_bits_[0] &= ~0x00000020u;
4665 }
4666 inline double BotStatus::_internal_depth() const {
4667  return depth_;
4668 }
4669 inline double BotStatus::depth() const {
4670  // @@protoc_insertion_point(field_get:jaiabot.protobuf.BotStatus.depth)
4671  return _internal_depth();
4672 }
4673 inline void BotStatus::_internal_set_depth(double value) {
4674  _has_bits_[0] |= 0x00000020u;
4675  depth_ = value;
4676 }
4677 inline void BotStatus::set_depth(double value) {
4678  _internal_set_depth(value);
4679  // @@protoc_insertion_point(field_set:jaiabot.protobuf.BotStatus.depth)
4680 }
4681 
4682 // optional .jaiabot.protobuf.BotStatus.Attitude attitude = 20 [(.jaia.field) = {
4683 inline bool BotStatus::_internal_has_attitude() const {
4684  bool value = (_has_bits_[0] & 0x00000002u) != 0;
4685  PROTOBUF_ASSUME(!value || attitude_ != nullptr);
4686  return value;
4687 }
4688 inline bool BotStatus::has_attitude() const {
4689  return _internal_has_attitude();
4690 }
4691 inline void BotStatus::clear_attitude() {
4692  if (attitude_ != nullptr) attitude_->Clear();
4693  _has_bits_[0] &= ~0x00000002u;
4694 }
4695 inline const ::jaiabot::protobuf::BotStatus_Attitude& BotStatus::_internal_attitude() const {
4696  const ::jaiabot::protobuf::BotStatus_Attitude* p = attitude_;
4697  return p != nullptr ? *p : *reinterpret_cast<const ::jaiabot::protobuf::BotStatus_Attitude*>(
4699 }
4700 inline const ::jaiabot::protobuf::BotStatus_Attitude& BotStatus::attitude() const {
4701  // @@protoc_insertion_point(field_get:jaiabot.protobuf.BotStatus.attitude)
4702  return _internal_attitude();
4703 }
4704 inline void BotStatus::unsafe_arena_set_allocated_attitude(
4705  ::jaiabot::protobuf::BotStatus_Attitude* attitude) {
4706  if (GetArena() == nullptr) {
4707  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(attitude_);
4708  }
4709  attitude_ = attitude;
4710  if (attitude) {
4711  _has_bits_[0] |= 0x00000002u;
4712  } else {
4713  _has_bits_[0] &= ~0x00000002u;
4714  }
4715  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:jaiabot.protobuf.BotStatus.attitude)
4716 }
4717 inline ::jaiabot::protobuf::BotStatus_Attitude* BotStatus::release_attitude() {
4718  auto temp = unsafe_arena_release_attitude();
4719  if (GetArena() != nullptr) {
4720  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
4721  }
4722  return temp;
4723 }
4724 inline ::jaiabot::protobuf::BotStatus_Attitude* BotStatus::unsafe_arena_release_attitude() {
4725  // @@protoc_insertion_point(field_release:jaiabot.protobuf.BotStatus.attitude)
4726  _has_bits_[0] &= ~0x00000002u;
4727  ::jaiabot::protobuf::BotStatus_Attitude* temp = attitude_;
4728  attitude_ = nullptr;
4729  return temp;
4730 }
4731 inline ::jaiabot::protobuf::BotStatus_Attitude* BotStatus::_internal_mutable_attitude() {
4732  _has_bits_[0] |= 0x00000002u;
4733  if (attitude_ == nullptr) {
4734  auto* p = CreateMaybeMessage<::jaiabot::protobuf::BotStatus_Attitude>(GetArena());
4735  attitude_ = p;
4736  }
4737  return attitude_;
4738 }
4739 inline ::jaiabot::protobuf::BotStatus_Attitude* BotStatus::mutable_attitude() {
4740  // @@protoc_insertion_point(field_mutable:jaiabot.protobuf.BotStatus.attitude)
4741  return _internal_mutable_attitude();
4742 }
4743 inline void BotStatus::set_allocated_attitude(::jaiabot::protobuf::BotStatus_Attitude* attitude) {
4744  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
4745  if (message_arena == nullptr) {
4746  delete attitude_;
4747  }
4748  if (attitude) {
4749  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
4750  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(attitude);
4751  if (message_arena != submessage_arena) {
4752  attitude = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
4753  message_arena, attitude, submessage_arena);
4754  }
4755  _has_bits_[0] |= 0x00000002u;
4756  } else {
4757  _has_bits_[0] &= ~0x00000002u;
4758  }
4759  attitude_ = attitude;
4760  // @@protoc_insertion_point(field_set_allocated:jaiabot.protobuf.BotStatus.attitude)
4761 }
4762 
4763 // optional .jaiabot.protobuf.BotStatus.Speed speed = 30 [(.jaia.field) = {
4764 inline bool BotStatus::_internal_has_speed() const {
4765  bool value = (_has_bits_[0] & 0x00000004u) != 0;
4766  PROTOBUF_ASSUME(!value || speed_ != nullptr);
4767  return value;
4768 }
4769 inline bool BotStatus::has_speed() const {
4770  return _internal_has_speed();
4771 }
4772 inline void BotStatus::clear_speed() {
4773  if (speed_ != nullptr) speed_->Clear();
4774  _has_bits_[0] &= ~0x00000004u;
4775 }
4776 inline const ::jaiabot::protobuf::BotStatus_Speed& BotStatus::_internal_speed() const {
4777  const ::jaiabot::protobuf::BotStatus_Speed* p = speed_;
4778  return p != nullptr ? *p : *reinterpret_cast<const ::jaiabot::protobuf::BotStatus_Speed*>(
4780 }
4781 inline const ::jaiabot::protobuf::BotStatus_Speed& BotStatus::speed() const {
4782  // @@protoc_insertion_point(field_get:jaiabot.protobuf.BotStatus.speed)
4783  return _internal_speed();
4784 }
4785 inline void BotStatus::unsafe_arena_set_allocated_speed(
4786  ::jaiabot::protobuf::BotStatus_Speed* speed) {
4787  if (GetArena() == nullptr) {
4788  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(speed_);
4789  }
4790  speed_ = speed;
4791  if (speed) {
4792  _has_bits_[0] |= 0x00000004u;
4793  } else {
4794  _has_bits_[0] &= ~0x00000004u;
4795  }
4796  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:jaiabot.protobuf.BotStatus.speed)
4797 }
4798 inline ::jaiabot::protobuf::BotStatus_Speed* BotStatus::release_speed() {
4799  auto temp = unsafe_arena_release_speed();
4800  if (GetArena() != nullptr) {
4801  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
4802  }
4803  return temp;
4804 }
4805 inline ::jaiabot::protobuf::BotStatus_Speed* BotStatus::unsafe_arena_release_speed() {
4806  // @@protoc_insertion_point(field_release:jaiabot.protobuf.BotStatus.speed)
4807  _has_bits_[0] &= ~0x00000004u;
4808  ::jaiabot::protobuf::BotStatus_Speed* temp = speed_;
4809  speed_ = nullptr;
4810  return temp;
4811 }
4812 inline ::jaiabot::protobuf::BotStatus_Speed* BotStatus::_internal_mutable_speed() {
4813  _has_bits_[0] |= 0x00000004u;
4814  if (speed_ == nullptr) {
4815  auto* p = CreateMaybeMessage<::jaiabot::protobuf::BotStatus_Speed>(GetArena());
4816  speed_ = p;
4817  }
4818  return speed_;
4819 }
4820 inline ::jaiabot::protobuf::BotStatus_Speed* BotStatus::mutable_speed() {
4821  // @@protoc_insertion_point(field_mutable:jaiabot.protobuf.BotStatus.speed)
4822  return _internal_mutable_speed();
4823 }
4824 inline void BotStatus::set_allocated_speed(::jaiabot::protobuf::BotStatus_Speed* speed) {
4825  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
4826  if (message_arena == nullptr) {
4827  delete speed_;
4828  }
4829  if (speed) {
4830  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
4831  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(speed);
4832  if (message_arena != submessage_arena) {
4833  speed = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
4834  message_arena, speed, submessage_arena);
4835  }
4836  _has_bits_[0] |= 0x00000004u;
4837  } else {
4838  _has_bits_[0] &= ~0x00000004u;
4839  }
4840  speed_ = speed;
4841  // @@protoc_insertion_point(field_set_allocated:jaiabot.protobuf.BotStatus.speed)
4842 }
4843 
4844 // optional .jaiabot.protobuf.MissionState mission_state = 40 [(.jaia.field) = {
4845 inline bool BotStatus::_internal_has_mission_state() const {
4846  bool value = (_has_bits_[0] & 0x00000080u) != 0;
4847  return value;
4848 }
4849 inline bool BotStatus::has_mission_state() const {
4850  return _internal_has_mission_state();
4851 }
4852 inline void BotStatus::clear_mission_state() {
4853  mission_state_ = 0;
4854  _has_bits_[0] &= ~0x00000080u;
4855 }
4856 inline ::jaiabot::protobuf::MissionState BotStatus::_internal_mission_state() const {
4857  return static_cast< ::jaiabot::protobuf::MissionState >(mission_state_);
4858 }
4859 inline ::jaiabot::protobuf::MissionState BotStatus::mission_state() const {
4860  // @@protoc_insertion_point(field_get:jaiabot.protobuf.BotStatus.mission_state)
4861  return _internal_mission_state();
4862 }
4863 inline void BotStatus::_internal_set_mission_state(::jaiabot::protobuf::MissionState value) {
4864  assert(::jaiabot::protobuf::MissionState_IsValid(value));
4865  _has_bits_[0] |= 0x00000080u;
4866  mission_state_ = value;
4867 }
4868 inline void BotStatus::set_mission_state(::jaiabot::protobuf::MissionState value) {
4869  _internal_set_mission_state(value);
4870  // @@protoc_insertion_point(field_set:jaiabot.protobuf.BotStatus.mission_state)
4871 }
4872 
4873 // optional int32 active_goal = 41 [(.dccl.field) = {
4874 inline bool BotStatus::_internal_has_active_goal() const {
4875  bool value = (_has_bits_[0] & 0x00000400u) != 0;
4876  return value;
4877 }
4878 inline bool BotStatus::has_active_goal() const {
4879  return _internal_has_active_goal();
4880 }
4881 inline void BotStatus::clear_active_goal() {
4882  active_goal_ = 0;
4883  _has_bits_[0] &= ~0x00000400u;
4884 }
4885 inline ::PROTOBUF_NAMESPACE_ID::int32 BotStatus::_internal_active_goal() const {
4886  return active_goal_;
4887 }
4888 inline ::PROTOBUF_NAMESPACE_ID::int32 BotStatus::active_goal() const {
4889  // @@protoc_insertion_point(field_get:jaiabot.protobuf.BotStatus.active_goal)
4890  return _internal_active_goal();
4891 }
4892 inline void BotStatus::_internal_set_active_goal(::PROTOBUF_NAMESPACE_ID::int32 value) {
4893  _has_bits_[0] |= 0x00000400u;
4894  active_goal_ = value;
4895 }
4896 inline void BotStatus::set_active_goal(::PROTOBUF_NAMESPACE_ID::int32 value) {
4897  _internal_set_active_goal(value);
4898  // @@protoc_insertion_point(field_set:jaiabot.protobuf.BotStatus.active_goal)
4899 }
4900 
4901 // optional double distance_to_active_goal = 42 [(.dccl.field) = {
4902 inline bool BotStatus::_internal_has_distance_to_active_goal() const {
4903  bool value = (_has_bits_[0] & 0x00000200u) != 0;
4904  return value;
4905 }
4906 inline bool BotStatus::has_distance_to_active_goal() const {
4907  return _internal_has_distance_to_active_goal();
4908 }
4909 inline void BotStatus::clear_distance_to_active_goal() {
4910  distance_to_active_goal_ = 0;
4911  _has_bits_[0] &= ~0x00000200u;
4912 }
4913 inline double BotStatus::_internal_distance_to_active_goal() const {
4914  return distance_to_active_goal_;
4915 }
4916 inline double BotStatus::distance_to_active_goal() const {
4917  // @@protoc_insertion_point(field_get:jaiabot.protobuf.BotStatus.distance_to_active_goal)
4918  return _internal_distance_to_active_goal();
4919 }
4920 inline void BotStatus::_internal_set_distance_to_active_goal(double value) {
4921  _has_bits_[0] |= 0x00000200u;
4922  distance_to_active_goal_ = value;
4923 }
4924 inline void BotStatus::set_distance_to_active_goal(double value) {
4925  _internal_set_distance_to_active_goal(value);
4926  // @@protoc_insertion_point(field_set:jaiabot.protobuf.BotStatus.distance_to_active_goal)
4927 }
4928 
4929 // optional uint32 active_goal_timeout = 43 [(.dccl.field) = {
4930 inline bool BotStatus::_internal_has_active_goal_timeout() const {
4931  bool value = (_has_bits_[0] & 0x00000800u) != 0;
4932  return value;
4933 }
4934 inline bool BotStatus::has_active_goal_timeout() const {
4935  return _internal_has_active_goal_timeout();
4936 }
4937 inline void BotStatus::clear_active_goal_timeout() {
4938  active_goal_timeout_ = 0u;
4939  _has_bits_[0] &= ~0x00000800u;
4940 }
4941 inline ::PROTOBUF_NAMESPACE_ID::uint32 BotStatus::_internal_active_goal_timeout() const {
4942  return active_goal_timeout_;
4943 }
4944 inline ::PROTOBUF_NAMESPACE_ID::uint32 BotStatus::active_goal_timeout() const {
4945  // @@protoc_insertion_point(field_get:jaiabot.protobuf.BotStatus.active_goal_timeout)
4946  return _internal_active_goal_timeout();
4947 }
4948 inline void BotStatus::_internal_set_active_goal_timeout(::PROTOBUF_NAMESPACE_ID::uint32 value) {
4949  _has_bits_[0] |= 0x00000800u;
4950  active_goal_timeout_ = value;
4951 }
4952 inline void BotStatus::set_active_goal_timeout(::PROTOBUF_NAMESPACE_ID::uint32 value) {
4953  _internal_set_active_goal_timeout(value);
4954  // @@protoc_insertion_point(field_set:jaiabot.protobuf.BotStatus.active_goal_timeout)
4955 }
4956 
4957 // optional int32 repeat_index = 44 [(.dccl.field) = {
4958 inline bool BotStatus::_internal_has_repeat_index() const {
4959  bool value = (_has_bits_[0] & 0x00001000u) != 0;
4960  return value;
4961 }
4962 inline bool BotStatus::has_repeat_index() const {
4963  return _internal_has_repeat_index();
4964 }
4965 inline void BotStatus::clear_repeat_index() {
4966  repeat_index_ = 0;
4967  _has_bits_[0] &= ~0x00001000u;
4968 }
4969 inline ::PROTOBUF_NAMESPACE_ID::int32 BotStatus::_internal_repeat_index() const {
4970  return repeat_index_;
4971 }
4972 inline ::PROTOBUF_NAMESPACE_ID::int32 BotStatus::repeat_index() const {
4973  // @@protoc_insertion_point(field_get:jaiabot.protobuf.BotStatus.repeat_index)
4974  return _internal_repeat_index();
4975 }
4976 inline void BotStatus::_internal_set_repeat_index(::PROTOBUF_NAMESPACE_ID::int32 value) {
4977  _has_bits_[0] |= 0x00001000u;
4978  repeat_index_ = value;
4979 }
4980 inline void BotStatus::set_repeat_index(::PROTOBUF_NAMESPACE_ID::int32 value) {
4981  _internal_set_repeat_index(value);
4982  // @@protoc_insertion_point(field_set:jaiabot.protobuf.BotStatus.repeat_index)
4983 }
4984 
4985 // optional double salinity = 51 [(.dccl.field) = {
4986 inline bool BotStatus::_internal_has_salinity() const {
4987  bool value = (_has_bits_[0] & 0x00004000u) != 0;
4988  return value;
4989 }
4990 inline bool BotStatus::has_salinity() const {
4991  return _internal_has_salinity();
4992 }
4993 inline void BotStatus::clear_salinity() {
4994  salinity_ = 0;
4995  _has_bits_[0] &= ~0x00004000u;
4996 }
4997 inline double BotStatus::_internal_salinity() const {
4998  return salinity_;
4999 }
5000 inline double BotStatus::salinity() const {
5001  // @@protoc_insertion_point(field_get:jaiabot.protobuf.BotStatus.salinity)
5002  return _internal_salinity();
5003 }
5004 inline void BotStatus::_internal_set_salinity(double value) {
5005  _has_bits_[0] |= 0x00004000u;
5006  salinity_ = value;
5007 }
5008 inline void BotStatus::set_salinity(double value) {
5009  _internal_set_salinity(value);
5010  // @@protoc_insertion_point(field_set:jaiabot.protobuf.BotStatus.salinity)
5011 }
5012 
5013 // optional double temperature = 52 [(.dccl.field) = {
5014 inline bool BotStatus::_internal_has_temperature() const {
5015  bool value = (_has_bits_[0] & 0x00008000u) != 0;
5016  return value;
5017 }
5018 inline bool BotStatus::has_temperature() const {
5019  return _internal_has_temperature();
5020 }
5021 inline void BotStatus::clear_temperature() {
5022  temperature_ = 0;
5023  _has_bits_[0] &= ~0x00008000u;
5024 }
5025 inline double BotStatus::_internal_temperature() const {
5026  return temperature_;
5027 }
5028 inline double BotStatus::temperature() const {
5029  // @@protoc_insertion_point(field_get:jaiabot.protobuf.BotStatus.temperature)
5030  return _internal_temperature();
5031 }
5032 inline void BotStatus::_internal_set_temperature(double value) {
5033  _has_bits_[0] |= 0x00008000u;
5034  temperature_ = value;
5035 }
5036 inline void BotStatus::set_temperature(double value) {
5037  _internal_set_temperature(value);
5038  // @@protoc_insertion_point(field_set:jaiabot.protobuf.BotStatus.temperature)
5039 }
5040 
5041 // optional double battery_percent = 53 [(.dccl.field) = {
5042 inline bool BotStatus::_internal_has_battery_percent() const {
5043  bool value = (_has_bits_[0] & 0x00010000u) != 0;
5044  return value;
5045 }
5046 inline bool BotStatus::has_battery_percent() const {
5047  return _internal_has_battery_percent();
5048 }
5049 inline void BotStatus::clear_battery_percent() {
5050  battery_percent_ = 0;
5051  _has_bits_[0] &= ~0x00010000u;
5052 }
5053 inline double BotStatus::_internal_battery_percent() const {
5054  return battery_percent_;
5055 }
5056 inline double BotStatus::battery_percent() const {
5057  // @@protoc_insertion_point(field_get:jaiabot.protobuf.BotStatus.battery_percent)
5058  return _internal_battery_percent();
5059 }
5060 inline void BotStatus::_internal_set_battery_percent(double value) {
5061  _has_bits_[0] |= 0x00010000u;
5062  battery_percent_ = value;
5063 }
5064 inline void BotStatus::set_battery_percent(double value) {
5065  _internal_set_battery_percent(value);
5066  // @@protoc_insertion_point(field_set:jaiabot.protobuf.BotStatus.battery_percent)
5067 }
5068 
5069 // optional int32 calibration_status = 54 [(.dccl.field) = {
5070 inline bool BotStatus::_internal_has_calibration_status() const {
5071  bool value = (_has_bits_[0] & 0x00002000u) != 0;
5072  return value;
5073 }
5074 inline bool BotStatus::has_calibration_status() const {
5075  return _internal_has_calibration_status();
5076 }
5077 inline void BotStatus::clear_calibration_status() {
5078  calibration_status_ = 0;
5079  _has_bits_[0] &= ~0x00002000u;
5080 }
5081 inline ::PROTOBUF_NAMESPACE_ID::int32 BotStatus::_internal_calibration_status() const {
5082  return calibration_status_;
5083 }
5084 inline ::PROTOBUF_NAMESPACE_ID::int32 BotStatus::calibration_status() const {
5085  // @@protoc_insertion_point(field_get:jaiabot.protobuf.BotStatus.calibration_status)
5086  return _internal_calibration_status();
5087 }
5088 inline void BotStatus::_internal_set_calibration_status(::PROTOBUF_NAMESPACE_ID::int32 value) {
5089  _has_bits_[0] |= 0x00002000u;
5090  calibration_status_ = value;
5091 }
5092 inline void BotStatus::set_calibration_status(::PROTOBUF_NAMESPACE_ID::int32 value) {
5093  _internal_set_calibration_status(value);
5094  // @@protoc_insertion_point(field_set:jaiabot.protobuf.BotStatus.calibration_status)
5095 }
5096 
5097 // optional .jaiabot.protobuf.IMUCalibrationState calibration_state = 55;
5098 inline bool BotStatus::_internal_has_calibration_state() const {
5099  bool value = (_has_bits_[0] & 0x00800000u) != 0;
5100  return value;
5101 }
5102 inline bool BotStatus::has_calibration_state() const {
5103  return _internal_has_calibration_state();
5104 }
5105 inline void BotStatus::clear_calibration_state() {
5106  calibration_state_ = 1;
5107  _has_bits_[0] &= ~0x00800000u;
5108 }
5109 inline ::jaiabot::protobuf::IMUCalibrationState BotStatus::_internal_calibration_state() const {
5110  return static_cast< ::jaiabot::protobuf::IMUCalibrationState >(calibration_state_);
5111 }
5112 inline ::jaiabot::protobuf::IMUCalibrationState BotStatus::calibration_state() const {
5113  // @@protoc_insertion_point(field_get:jaiabot.protobuf.BotStatus.calibration_state)
5114  return _internal_calibration_state();
5115 }
5116 inline void BotStatus::_internal_set_calibration_state(::jaiabot::protobuf::IMUCalibrationState value) {
5118  _has_bits_[0] |= 0x00800000u;
5119  calibration_state_ = value;
5120 }
5121 inline void BotStatus::set_calibration_state(::jaiabot::protobuf::IMUCalibrationState value) {
5122  _internal_set_calibration_state(value);
5123  // @@protoc_insertion_point(field_set:jaiabot.protobuf.BotStatus.calibration_state)
5124 }
5125 
5126 // optional double hdop = 56 [(.dccl.field) = {
5127 inline bool BotStatus::_internal_has_hdop() const {
5128  bool value = (_has_bits_[0] & 0x00020000u) != 0;
5129  return value;
5130 }
5131 inline bool BotStatus::has_hdop() const {
5132  return _internal_has_hdop();
5133 }
5134 inline void BotStatus::clear_hdop() {
5135  hdop_ = 0;
5136  _has_bits_[0] &= ~0x00020000u;
5137 }
5138 inline double BotStatus::_internal_hdop() const {
5139  return hdop_;
5140 }
5141 inline double BotStatus::hdop() const {
5142  // @@protoc_insertion_point(field_get:jaiabot.protobuf.BotStatus.hdop)
5143  return _internal_hdop();
5144 }
5145 inline void BotStatus::_internal_set_hdop(double value) {
5146  _has_bits_[0] |= 0x00020000u;
5147  hdop_ = value;
5148 }
5149 inline void BotStatus::set_hdop(double value) {
5150  _internal_set_hdop(value);
5151  // @@protoc_insertion_point(field_set:jaiabot.protobuf.BotStatus.hdop)
5152 }
5153 
5154 // optional double pdop = 57 [(.dccl.field) = {
5155 inline bool BotStatus::_internal_has_pdop() const {
5156  bool value = (_has_bits_[0] & 0x00040000u) != 0;
5157  return value;
5158 }
5159 inline bool BotStatus::has_pdop() const {
5160  return _internal_has_pdop();
5161 }
5162 inline void BotStatus::clear_pdop() {
5163  pdop_ = 0;
5164  _has_bits_[0] &= ~0x00040000u;
5165 }
5166 inline double BotStatus::_internal_pdop() const {
5167  return pdop_;
5168 }
5169 inline double BotStatus::pdop() const {
5170  // @@protoc_insertion_point(field_get:jaiabot.protobuf.BotStatus.pdop)
5171  return _internal_pdop();
5172 }
5173 inline void BotStatus::_internal_set_pdop(double value) {
5174  _has_bits_[0] |= 0x00040000u;
5175  pdop_ = value;
5176 }
5177 inline void BotStatus::set_pdop(double value) {
5178  _internal_set_pdop(value);
5179  // @@protoc_insertion_point(field_set:jaiabot.protobuf.BotStatus.pdop)
5180 }
5181 
5182 // optional int32 wifi_link_quality_percentage = 58 [(.dccl.field) = {
5183 inline bool BotStatus::_internal_has_wifi_link_quality_percentage() const {
5184  bool value = (_has_bits_[0] & 0x00000100u) != 0;
5185  return value;
5186 }
5187 inline bool BotStatus::has_wifi_link_quality_percentage() const {
5188  return _internal_has_wifi_link_quality_percentage();
5189 }
5190 inline void BotStatus::clear_wifi_link_quality_percentage() {
5191  wifi_link_quality_percentage_ = 0;
5192  _has_bits_[0] &= ~0x00000100u;
5193 }
5194 inline ::PROTOBUF_NAMESPACE_ID::int32 BotStatus::_internal_wifi_link_quality_percentage() const {
5195  return wifi_link_quality_percentage_;
5196 }
5197 inline ::PROTOBUF_NAMESPACE_ID::int32 BotStatus::wifi_link_quality_percentage() const {
5198  // @@protoc_insertion_point(field_get:jaiabot.protobuf.BotStatus.wifi_link_quality_percentage)
5199  return _internal_wifi_link_quality_percentage();
5200 }
5201 inline void BotStatus::_internal_set_wifi_link_quality_percentage(::PROTOBUF_NAMESPACE_ID::int32 value) {
5202  _has_bits_[0] |= 0x00000100u;
5203  wifi_link_quality_percentage_ = value;
5204 }
5205 inline void BotStatus::set_wifi_link_quality_percentage(::PROTOBUF_NAMESPACE_ID::int32 value) {
5206  _internal_set_wifi_link_quality_percentage(value);
5207  // @@protoc_insertion_point(field_set:jaiabot.protobuf.BotStatus.wifi_link_quality_percentage)
5208 }
5209 
5210 // optional uint64 received_time = 59 [(.dccl.field) = {
5211 inline bool BotStatus::_internal_has_received_time() const {
5212  bool value = (_has_bits_[0] & 0x00080000u) != 0;
5213  return value;
5214 }
5215 inline bool BotStatus::has_received_time() const {
5216  return _internal_has_received_time();
5217 }
5218 inline void BotStatus::clear_received_time() {
5219  received_time_ = PROTOBUF_ULONGLONG(0);
5220  _has_bits_[0] &= ~0x00080000u;
5221 }
5222 inline ::PROTOBUF_NAMESPACE_ID::uint64 BotStatus::_internal_received_time() const {
5223  return received_time_;
5224 }
5225 inline ::PROTOBUF_NAMESPACE_ID::uint64 BotStatus::received_time() const {
5226  // @@protoc_insertion_point(field_get:jaiabot.protobuf.BotStatus.received_time)
5227  return _internal_received_time();
5228 }
5229 inline void BotStatus::_internal_set_received_time(::PROTOBUF_NAMESPACE_ID::uint64 value) {
5230  _has_bits_[0] |= 0x00080000u;
5231  received_time_ = value;
5232 }
5233 inline void BotStatus::set_received_time(::PROTOBUF_NAMESPACE_ID::uint64 value) {
5234  _internal_set_received_time(value);
5235  // @@protoc_insertion_point(field_set:jaiabot.protobuf.BotStatus.received_time)
5236 }
5237 
5238 // -------------------------------------------------------------------
5239 
5240 // DriftPacket_EstimatedDrift
5241 
5242 // required double speed = 1 [(.dccl.field) = {
5243 inline bool DriftPacket_EstimatedDrift::_internal_has_speed() const {
5244  bool value = (_has_bits_[0] & 0x00000001u) != 0;
5245  return value;
5246 }
5247 inline bool DriftPacket_EstimatedDrift::has_speed() const {
5248  return _internal_has_speed();
5249 }
5250 inline void DriftPacket_EstimatedDrift::clear_speed() {
5251  speed_ = 0;
5252  _has_bits_[0] &= ~0x00000001u;
5253 }
5254 inline double DriftPacket_EstimatedDrift::_internal_speed() const {
5255  return speed_;
5256 }
5257 inline double DriftPacket_EstimatedDrift::speed() const {
5258  // @@protoc_insertion_point(field_get:jaiabot.protobuf.DriftPacket.EstimatedDrift.speed)
5259  return _internal_speed();
5260 }
5261 inline void DriftPacket_EstimatedDrift::_internal_set_speed(double value) {
5262  _has_bits_[0] |= 0x00000001u;
5263  speed_ = value;
5264 }
5265 inline void DriftPacket_EstimatedDrift::set_speed(double value) {
5266  _internal_set_speed(value);
5267  // @@protoc_insertion_point(field_set:jaiabot.protobuf.DriftPacket.EstimatedDrift.speed)
5268 }
5269 
5270 // optional double heading = 3 [(.dccl.field) = {
5271 inline bool DriftPacket_EstimatedDrift::_internal_has_heading() const {
5272  bool value = (_has_bits_[0] & 0x00000002u) != 0;
5273  return value;
5274 }
5275 inline bool DriftPacket_EstimatedDrift::has_heading() const {
5276  return _internal_has_heading();
5277 }
5278 inline void DriftPacket_EstimatedDrift::clear_heading() {
5279  heading_ = 0;
5280  _has_bits_[0] &= ~0x00000002u;
5281 }
5282 inline double DriftPacket_EstimatedDrift::_internal_heading() const {
5283  return heading_;
5284 }
5285 inline double DriftPacket_EstimatedDrift::heading() const {
5286  // @@protoc_insertion_point(field_get:jaiabot.protobuf.DriftPacket.EstimatedDrift.heading)
5287  return _internal_heading();
5288 }
5289 inline void DriftPacket_EstimatedDrift::_internal_set_heading(double value) {
5290  _has_bits_[0] |= 0x00000002u;
5291  heading_ = value;
5292 }
5293 inline void DriftPacket_EstimatedDrift::set_heading(double value) {
5294  _internal_set_heading(value);
5295  // @@protoc_insertion_point(field_set:jaiabot.protobuf.DriftPacket.EstimatedDrift.heading)
5296 }
5297 
5298 // -------------------------------------------------------------------
5299 
5300 // DriftPacket
5301 
5302 // optional int32 drift_duration = 1 [default = 0, (.dccl.field) = {
5303 inline bool DriftPacket::_internal_has_drift_duration() const {
5304  bool value = (_has_bits_[0] & 0x00000008u) != 0;
5305  return value;
5306 }
5307 inline bool DriftPacket::has_drift_duration() const {
5308  return _internal_has_drift_duration();
5309 }
5310 inline void DriftPacket::clear_drift_duration() {
5311  drift_duration_ = 0;
5312  _has_bits_[0] &= ~0x00000008u;
5313 }
5314 inline ::PROTOBUF_NAMESPACE_ID::int32 DriftPacket::_internal_drift_duration() const {
5315  return drift_duration_;
5316 }
5317 inline ::PROTOBUF_NAMESPACE_ID::int32 DriftPacket::drift_duration() const {
5318  // @@protoc_insertion_point(field_get:jaiabot.protobuf.DriftPacket.drift_duration)
5319  return _internal_drift_duration();
5320 }
5321 inline void DriftPacket::_internal_set_drift_duration(::PROTOBUF_NAMESPACE_ID::int32 value) {
5322  _has_bits_[0] |= 0x00000008u;
5323  drift_duration_ = value;
5324 }
5325 inline void DriftPacket::set_drift_duration(::PROTOBUF_NAMESPACE_ID::int32 value) {
5326  _internal_set_drift_duration(value);
5327  // @@protoc_insertion_point(field_set:jaiabot.protobuf.DriftPacket.drift_duration)
5328 }
5329 
5330 // optional .jaiabot.protobuf.DriftPacket.EstimatedDrift estimated_drift = 10 [(.jaia.field) = {
5331 inline bool DriftPacket::_internal_has_estimated_drift() const {
5332  bool value = (_has_bits_[0] & 0x00000001u) != 0;
5333  PROTOBUF_ASSUME(!value || estimated_drift_ != nullptr);
5334  return value;
5335 }
5336 inline bool DriftPacket::has_estimated_drift() const {
5337  return _internal_has_estimated_drift();
5338 }
5339 inline void DriftPacket::clear_estimated_drift() {
5340  if (estimated_drift_ != nullptr) estimated_drift_->Clear();
5341  _has_bits_[0] &= ~0x00000001u;
5342 }
5343 inline const ::jaiabot::protobuf::DriftPacket_EstimatedDrift& DriftPacket::_internal_estimated_drift() const {
5344  const ::jaiabot::protobuf::DriftPacket_EstimatedDrift* p = estimated_drift_;
5345  return p != nullptr ? *p : *reinterpret_cast<const ::jaiabot::protobuf::DriftPacket_EstimatedDrift*>(
5347 }
5348 inline const ::jaiabot::protobuf::DriftPacket_EstimatedDrift& DriftPacket::estimated_drift() const {
5349  // @@protoc_insertion_point(field_get:jaiabot.protobuf.DriftPacket.estimated_drift)
5350  return _internal_estimated_drift();
5351 }
5352 inline void DriftPacket::unsafe_arena_set_allocated_estimated_drift(
5353  ::jaiabot::protobuf::DriftPacket_EstimatedDrift* estimated_drift) {
5354  if (GetArena() == nullptr) {
5355  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(estimated_drift_);
5356  }
5357  estimated_drift_ = estimated_drift;
5358  if (estimated_drift) {
5359  _has_bits_[0] |= 0x00000001u;
5360  } else {
5361  _has_bits_[0] &= ~0x00000001u;
5362  }
5363  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:jaiabot.protobuf.DriftPacket.estimated_drift)
5364 }
5365 inline ::jaiabot::protobuf::DriftPacket_EstimatedDrift* DriftPacket::release_estimated_drift() {
5366  auto temp = unsafe_arena_release_estimated_drift();
5367  if (GetArena() != nullptr) {
5368  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
5369  }
5370  return temp;
5371 }
5372 inline ::jaiabot::protobuf::DriftPacket_EstimatedDrift* DriftPacket::unsafe_arena_release_estimated_drift() {
5373  // @@protoc_insertion_point(field_release:jaiabot.protobuf.DriftPacket.estimated_drift)
5374  _has_bits_[0] &= ~0x00000001u;
5375  ::jaiabot::protobuf::DriftPacket_EstimatedDrift* temp = estimated_drift_;
5376  estimated_drift_ = nullptr;
5377  return temp;
5378 }
5379 inline ::jaiabot::protobuf::DriftPacket_EstimatedDrift* DriftPacket::_internal_mutable_estimated_drift() {
5380  _has_bits_[0] |= 0x00000001u;
5381  if (estimated_drift_ == nullptr) {
5382  auto* p = CreateMaybeMessage<::jaiabot::protobuf::DriftPacket_EstimatedDrift>(GetArena());
5383  estimated_drift_ = p;
5384  }
5385  return estimated_drift_;
5386 }
5387 inline ::jaiabot::protobuf::DriftPacket_EstimatedDrift* DriftPacket::mutable_estimated_drift() {
5388  // @@protoc_insertion_point(field_mutable:jaiabot.protobuf.DriftPacket.estimated_drift)
5389  return _internal_mutable_estimated_drift();
5390 }
5391 inline void DriftPacket::set_allocated_estimated_drift(::jaiabot::protobuf::DriftPacket_EstimatedDrift* estimated_drift) {
5392  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
5393  if (message_arena == nullptr) {
5394  delete estimated_drift_;
5395  }
5396  if (estimated_drift) {
5397  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
5398  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(estimated_drift);
5399  if (message_arena != submessage_arena) {
5400  estimated_drift = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
5401  message_arena, estimated_drift, submessage_arena);
5402  }
5403  _has_bits_[0] |= 0x00000001u;
5404  } else {
5405  _has_bits_[0] &= ~0x00000001u;
5406  }
5407  estimated_drift_ = estimated_drift;
5408  // @@protoc_insertion_point(field_set_allocated:jaiabot.protobuf.DriftPacket.estimated_drift)
5409 }
5410 
5411 // optional .jaiabot.protobuf.GeographicCoordinate start_location = 11 [(.jaia.field) = {
5412 inline bool DriftPacket::_internal_has_start_location() const {
5413  bool value = (_has_bits_[0] & 0x00000002u) != 0;
5414  PROTOBUF_ASSUME(!value || start_location_ != nullptr);
5415  return value;
5416 }
5417 inline bool DriftPacket::has_start_location() const {
5418  return _internal_has_start_location();
5419 }
5420 inline const ::jaiabot::protobuf::GeographicCoordinate& DriftPacket::_internal_start_location() const {
5421  const ::jaiabot::protobuf::GeographicCoordinate* p = start_location_;
5422  return p != nullptr ? *p : *reinterpret_cast<const ::jaiabot::protobuf::GeographicCoordinate*>(
5424 }
5425 inline const ::jaiabot::protobuf::GeographicCoordinate& DriftPacket::start_location() const {
5426  // @@protoc_insertion_point(field_get:jaiabot.protobuf.DriftPacket.start_location)
5427  return _internal_start_location();
5428 }
5429 inline void DriftPacket::unsafe_arena_set_allocated_start_location(
5430  ::jaiabot::protobuf::GeographicCoordinate* start_location) {
5431  if (GetArena() == nullptr) {
5432  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(start_location_);
5433  }
5434  start_location_ = start_location;
5435  if (start_location) {
5436  _has_bits_[0] |= 0x00000002u;
5437  } else {
5438  _has_bits_[0] &= ~0x00000002u;
5439  }
5440  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:jaiabot.protobuf.DriftPacket.start_location)
5441 }
5442 inline ::jaiabot::protobuf::GeographicCoordinate* DriftPacket::release_start_location() {
5443  auto temp = unsafe_arena_release_start_location();
5444  if (GetArena() != nullptr) {
5445  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
5446  }
5447  return temp;
5448 }
5449 inline ::jaiabot::protobuf::GeographicCoordinate* DriftPacket::unsafe_arena_release_start_location() {
5450  // @@protoc_insertion_point(field_release:jaiabot.protobuf.DriftPacket.start_location)
5451  _has_bits_[0] &= ~0x00000002u;
5452  ::jaiabot::protobuf::GeographicCoordinate* temp = start_location_;
5453  start_location_ = nullptr;
5454  return temp;
5455 }
5456 inline ::jaiabot::protobuf::GeographicCoordinate* DriftPacket::_internal_mutable_start_location() {
5457  _has_bits_[0] |= 0x00000002u;
5458  if (start_location_ == nullptr) {
5459  auto* p = CreateMaybeMessage<::jaiabot::protobuf::GeographicCoordinate>(GetArena());
5460  start_location_ = p;
5461  }
5462  return start_location_;
5463 }
5464 inline ::jaiabot::protobuf::GeographicCoordinate* DriftPacket::mutable_start_location() {
5465  // @@protoc_insertion_point(field_mutable:jaiabot.protobuf.DriftPacket.start_location)
5466  return _internal_mutable_start_location();
5467 }
5468 inline void DriftPacket::set_allocated_start_location(::jaiabot::protobuf::GeographicCoordinate* start_location) {
5469  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
5470  if (message_arena == nullptr) {
5471  delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(start_location_);
5472  }
5473  if (start_location) {
5474  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
5475  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(start_location)->GetArena();
5476  if (message_arena != submessage_arena) {
5477  start_location = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
5478  message_arena, start_location, submessage_arena);
5479  }
5480  _has_bits_[0] |= 0x00000002u;
5481  } else {
5482  _has_bits_[0] &= ~0x00000002u;
5483  }
5484  start_location_ = start_location;
5485  // @@protoc_insertion_point(field_set_allocated:jaiabot.protobuf.DriftPacket.start_location)
5486 }
5487 
5488 // optional .jaiabot.protobuf.GeographicCoordinate end_location = 12 [(.jaia.field) = {
5489 inline bool DriftPacket::_internal_has_end_location() const {
5490  bool value = (_has_bits_[0] & 0x00000004u) != 0;
5491  PROTOBUF_ASSUME(!value || end_location_ != nullptr);
5492  return value;
5493 }
5494 inline bool DriftPacket::has_end_location() const {
5495  return _internal_has_end_location();
5496 }
5497 inline const ::jaiabot::protobuf::GeographicCoordinate& DriftPacket::_internal_end_location() const {
5498  const ::jaiabot::protobuf::GeographicCoordinate* p = end_location_;
5499  return p != nullptr ? *p : *reinterpret_cast<const ::jaiabot::protobuf::GeographicCoordinate*>(
5501 }
5502 inline const ::jaiabot::protobuf::GeographicCoordinate& DriftPacket::end_location() const {
5503  // @@protoc_insertion_point(field_get:jaiabot.protobuf.DriftPacket.end_location)
5504  return _internal_end_location();
5505 }
5506 inline void DriftPacket::unsafe_arena_set_allocated_end_location(
5507  ::jaiabot::protobuf::GeographicCoordinate* end_location) {
5508  if (GetArena() == nullptr) {
5509  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(end_location_);
5510  }
5511  end_location_ = end_location;
5512  if (end_location) {
5513  _has_bits_[0] |= 0x00000004u;
5514  } else {
5515  _has_bits_[0] &= ~0x00000004u;
5516  }
5517  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:jaiabot.protobuf.DriftPacket.end_location)
5518 }
5519 inline ::jaiabot::protobuf::GeographicCoordinate* DriftPacket::release_end_location() {
5520  auto temp = unsafe_arena_release_end_location();
5521  if (GetArena() != nullptr) {
5522  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
5523  }
5524  return temp;
5525 }
5526 inline ::jaiabot::protobuf::GeographicCoordinate* DriftPacket::unsafe_arena_release_end_location() {
5527  // @@protoc_insertion_point(field_release:jaiabot.protobuf.DriftPacket.end_location)
5528  _has_bits_[0] &= ~0x00000004u;
5529  ::jaiabot::protobuf::GeographicCoordinate* temp = end_location_;
5530  end_location_ = nullptr;
5531  return temp;
5532 }
5533 inline ::jaiabot::protobuf::GeographicCoordinate* DriftPacket::_internal_mutable_end_location() {
5534  _has_bits_[0] |= 0x00000004u;
5535  if (end_location_ == nullptr) {
5536  auto* p = CreateMaybeMessage<::jaiabot::protobuf::GeographicCoordinate>(GetArena());
5537  end_location_ = p;
5538  }
5539  return end_location_;
5540 }
5541 inline ::jaiabot::protobuf::GeographicCoordinate* DriftPacket::mutable_end_location() {
5542  // @@protoc_insertion_point(field_mutable:jaiabot.protobuf.DriftPacket.end_location)
5543  return _internal_mutable_end_location();
5544 }
5545 inline void DriftPacket::set_allocated_end_location(::jaiabot::protobuf::GeographicCoordinate* end_location) {
5546  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
5547  if (message_arena == nullptr) {
5548  delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(end_location_);
5549  }
5550  if (end_location) {
5551  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
5552  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(end_location)->GetArena();
5553  if (message_arena != submessage_arena) {
5554  end_location = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
5555  message_arena, end_location, submessage_arena);
5556  }
5557  _has_bits_[0] |= 0x00000004u;
5558  } else {
5559  _has_bits_[0] &= ~0x00000004u;
5560  }
5561  end_location_ = end_location;
5562  // @@protoc_insertion_point(field_set_allocated:jaiabot.protobuf.DriftPacket.end_location)
5563 }
5564 
5565 // optional double significant_wave_height = 13 [(.dccl.field) = {
5566 inline bool DriftPacket::_internal_has_significant_wave_height() const {
5567  bool value = (_has_bits_[0] & 0x00000010u) != 0;
5568  return value;
5569 }
5570 inline bool DriftPacket::has_significant_wave_height() const {
5571  return _internal_has_significant_wave_height();
5572 }
5573 inline void DriftPacket::clear_significant_wave_height() {
5574  significant_wave_height_ = 0;
5575  _has_bits_[0] &= ~0x00000010u;
5576 }
5577 inline double DriftPacket::_internal_significant_wave_height() const {
5578  return significant_wave_height_;
5579 }
5580 inline double DriftPacket::significant_wave_height() const {
5581  // @@protoc_insertion_point(field_get:jaiabot.protobuf.DriftPacket.significant_wave_height)
5582  return _internal_significant_wave_height();
5583 }
5584 inline void DriftPacket::_internal_set_significant_wave_height(double value) {
5585  _has_bits_[0] |= 0x00000010u;
5586  significant_wave_height_ = value;
5587 }
5588 inline void DriftPacket::set_significant_wave_height(double value) {
5589  _internal_set_significant_wave_height(value);
5590  // @@protoc_insertion_point(field_set:jaiabot.protobuf.DriftPacket.significant_wave_height)
5591 }
5592 
5593 // -------------------------------------------------------------------
5594 
5595 // DivePacket_Measurements
5596 
5597 // optional double mean_depth = 1 [(.dccl.field) = {
5598 inline bool DivePacket_Measurements::_internal_has_mean_depth() const {
5599  bool value = (_has_bits_[0] & 0x00000001u) != 0;
5600  return value;
5601 }
5602 inline bool DivePacket_Measurements::has_mean_depth() const {
5603  return _internal_has_mean_depth();
5604 }
5605 inline void DivePacket_Measurements::clear_mean_depth() {
5606  mean_depth_ = 0;
5607  _has_bits_[0] &= ~0x00000001u;
5608 }
5609 inline double DivePacket_Measurements::_internal_mean_depth() const {
5610  return mean_depth_;
5611 }
5612 inline double DivePacket_Measurements::mean_depth() const {
5613  // @@protoc_insertion_point(field_get:jaiabot.protobuf.DivePacket.Measurements.mean_depth)
5614  return _internal_mean_depth();
5615 }
5616 inline void DivePacket_Measurements::_internal_set_mean_depth(double value) {
5617  _has_bits_[0] |= 0x00000001u;
5618  mean_depth_ = value;
5619 }
5620 inline void DivePacket_Measurements::set_mean_depth(double value) {
5621  _internal_set_mean_depth(value);
5622  // @@protoc_insertion_point(field_set:jaiabot.protobuf.DivePacket.Measurements.mean_depth)
5623 }
5624 
5625 // optional double mean_temperature = 2 [(.dccl.field) = {
5626 inline bool DivePacket_Measurements::_internal_has_mean_temperature() const {
5627  bool value = (_has_bits_[0] & 0x00000002u) != 0;
5628  return value;
5629 }
5630 inline bool DivePacket_Measurements::has_mean_temperature() const {
5631  return _internal_has_mean_temperature();
5632 }
5633 inline void DivePacket_Measurements::clear_mean_temperature() {
5634  mean_temperature_ = 0;
5635  _has_bits_[0] &= ~0x00000002u;
5636 }
5637 inline double DivePacket_Measurements::_internal_mean_temperature() const {
5638  return mean_temperature_;
5639 }
5640 inline double DivePacket_Measurements::mean_temperature() const {
5641  // @@protoc_insertion_point(field_get:jaiabot.protobuf.DivePacket.Measurements.mean_temperature)
5642  return _internal_mean_temperature();
5643 }
5644 inline void DivePacket_Measurements::_internal_set_mean_temperature(double value) {
5645  _has_bits_[0] |= 0x00000002u;
5646  mean_temperature_ = value;
5647 }
5648 inline void DivePacket_Measurements::set_mean_temperature(double value) {
5649  _internal_set_mean_temperature(value);
5650  // @@protoc_insertion_point(field_set:jaiabot.protobuf.DivePacket.Measurements.mean_temperature)
5651 }
5652 
5653 // optional double mean_salinity = 3 [(.dccl.field) = {
5654 inline bool DivePacket_Measurements::_internal_has_mean_salinity() const {
5655  bool value = (_has_bits_[0] & 0x00000004u) != 0;
5656  return value;
5657 }
5658 inline bool DivePacket_Measurements::has_mean_salinity() const {
5659  return _internal_has_mean_salinity();
5660 }
5661 inline void DivePacket_Measurements::clear_mean_salinity() {
5662  mean_salinity_ = 0;
5663  _has_bits_[0] &= ~0x00000004u;
5664 }
5665 inline double DivePacket_Measurements::_internal_mean_salinity() const {
5666  return mean_salinity_;
5667 }
5668 inline double DivePacket_Measurements::mean_salinity() const {
5669  // @@protoc_insertion_point(field_get:jaiabot.protobuf.DivePacket.Measurements.mean_salinity)
5670  return _internal_mean_salinity();
5671 }
5672 inline void DivePacket_Measurements::_internal_set_mean_salinity(double value) {
5673  _has_bits_[0] |= 0x00000004u;
5674  mean_salinity_ = value;
5675 }
5676 inline void DivePacket_Measurements::set_mean_salinity(double value) {
5677  _internal_set_mean_salinity(value);
5678  // @@protoc_insertion_point(field_set:jaiabot.protobuf.DivePacket.Measurements.mean_salinity)
5679 }
5680 
5681 // -------------------------------------------------------------------
5682 
5683 // DivePacket
5684 
5685 // required double dive_rate = 10 [(.dccl.field) = {
5686 inline bool DivePacket::_internal_has_dive_rate() const {
5687  bool value = (_has_bits_[0] & 0x00000002u) != 0;
5688  return value;
5689 }
5690 inline bool DivePacket::has_dive_rate() const {
5691  return _internal_has_dive_rate();
5692 }
5693 inline void DivePacket::clear_dive_rate() {
5694  dive_rate_ = 0;
5695  _has_bits_[0] &= ~0x00000002u;
5696 }
5697 inline double DivePacket::_internal_dive_rate() const {
5698  return dive_rate_;
5699 }
5700 inline double DivePacket::dive_rate() const {
5701  // @@protoc_insertion_point(field_get:jaiabot.protobuf.DivePacket.dive_rate)
5702  return _internal_dive_rate();
5703 }
5704 inline void DivePacket::_internal_set_dive_rate(double value) {
5705  _has_bits_[0] |= 0x00000002u;
5706  dive_rate_ = value;
5707 }
5708 inline void DivePacket::set_dive_rate(double value) {
5709  _internal_set_dive_rate(value);
5710  // @@protoc_insertion_point(field_set:jaiabot.protobuf.DivePacket.dive_rate)
5711 }
5712 
5713 // optional double unpowered_rise_rate = 11 [(.dccl.field) = {
5714 inline bool DivePacket::_internal_has_unpowered_rise_rate() const {
5715  bool value = (_has_bits_[0] & 0x00000004u) != 0;
5716  return value;
5717 }
5718 inline bool DivePacket::has_unpowered_rise_rate() const {
5719  return _internal_has_unpowered_rise_rate();
5720 }
5721 inline void DivePacket::clear_unpowered_rise_rate() {
5722  unpowered_rise_rate_ = 0;
5723  _has_bits_[0] &= ~0x00000004u;
5724 }
5725 inline double DivePacket::_internal_unpowered_rise_rate() const {
5726  return unpowered_rise_rate_;
5727 }
5728 inline double DivePacket::unpowered_rise_rate() const {
5729  // @@protoc_insertion_point(field_get:jaiabot.protobuf.DivePacket.unpowered_rise_rate)
5730  return _internal_unpowered_rise_rate();
5731 }
5732 inline void DivePacket::_internal_set_unpowered_rise_rate(double value) {
5733  _has_bits_[0] |= 0x00000004u;
5734  unpowered_rise_rate_ = value;
5735 }
5736 inline void DivePacket::set_unpowered_rise_rate(double value) {
5737  _internal_set_unpowered_rise_rate(value);
5738  // @@protoc_insertion_point(field_set:jaiabot.protobuf.DivePacket.unpowered_rise_rate)
5739 }
5740 
5741 // optional double powered_rise_rate = 12 [(.dccl.field) = {
5742 inline bool DivePacket::_internal_has_powered_rise_rate() const {
5743  bool value = (_has_bits_[0] & 0x00000008u) != 0;
5744  return value;
5745 }
5746 inline bool DivePacket::has_powered_rise_rate() const {
5747  return _internal_has_powered_rise_rate();
5748 }
5749 inline void DivePacket::clear_powered_rise_rate() {
5750  powered_rise_rate_ = 0;
5751  _has_bits_[0] &= ~0x00000008u;
5752 }
5753 inline double DivePacket::_internal_powered_rise_rate() const {
5754  return powered_rise_rate_;
5755 }
5756 inline double DivePacket::powered_rise_rate() const {
5757  // @@protoc_insertion_point(field_get:jaiabot.protobuf.DivePacket.powered_rise_rate)
5758  return _internal_powered_rise_rate();
5759 }
5760 inline void DivePacket::_internal_set_powered_rise_rate(double value) {
5761  _has_bits_[0] |= 0x00000008u;
5762  powered_rise_rate_ = value;
5763 }
5764 inline void DivePacket::set_powered_rise_rate(double value) {
5765  _internal_set_powered_rise_rate(value);
5766  // @@protoc_insertion_point(field_set:jaiabot.protobuf.DivePacket.powered_rise_rate)
5767 }
5768 
5769 // required double depth_achieved = 13 [(.dccl.field) = {
5770 inline bool DivePacket::_internal_has_depth_achieved() const {
5771  bool value = (_has_bits_[0] & 0x00000040u) != 0;
5772  return value;
5773 }
5774 inline bool DivePacket::has_depth_achieved() const {
5775  return _internal_has_depth_achieved();
5776 }
5777 inline void DivePacket::clear_depth_achieved() {
5778  depth_achieved_ = 0;
5779  _has_bits_[0] &= ~0x00000040u;
5780 }
5781 inline double DivePacket::_internal_depth_achieved() const {
5782  return depth_achieved_;
5783 }
5784 inline double DivePacket::depth_achieved() const {
5785  // @@protoc_insertion_point(field_get:jaiabot.protobuf.DivePacket.depth_achieved)
5786  return _internal_depth_achieved();
5787 }
5788 inline void DivePacket::_internal_set_depth_achieved(double value) {
5789  _has_bits_[0] |= 0x00000040u;
5790  depth_achieved_ = value;
5791 }
5792 inline void DivePacket::set_depth_achieved(double value) {
5793  _internal_set_depth_achieved(value);
5794  // @@protoc_insertion_point(field_set:jaiabot.protobuf.DivePacket.depth_achieved)
5795 }
5796 
5797 // repeated .jaiabot.protobuf.DivePacket.Measurements measurement = 14 [(.dccl.field) = {
5798 inline int DivePacket::_internal_measurement_size() const {
5799  return measurement_.size();
5800 }
5801 inline int DivePacket::measurement_size() const {
5802  return _internal_measurement_size();
5803 }
5804 inline void DivePacket::clear_measurement() {
5805  measurement_.Clear();
5806 }
5807 inline ::jaiabot::protobuf::DivePacket_Measurements* DivePacket::mutable_measurement(int index) {
5808  // @@protoc_insertion_point(field_mutable:jaiabot.protobuf.DivePacket.measurement)
5809  return measurement_.Mutable(index);
5810 }
5811 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::jaiabot::protobuf::DivePacket_Measurements >*
5812 DivePacket::mutable_measurement() {
5813  // @@protoc_insertion_point(field_mutable_list:jaiabot.protobuf.DivePacket.measurement)
5814  return &measurement_;
5815 }
5816 inline const ::jaiabot::protobuf::DivePacket_Measurements& DivePacket::_internal_measurement(int index) const {
5817  return measurement_.Get(index);
5818 }
5819 inline const ::jaiabot::protobuf::DivePacket_Measurements& DivePacket::measurement(int index) const {
5820  // @@protoc_insertion_point(field_get:jaiabot.protobuf.DivePacket.measurement)
5821  return _internal_measurement(index);
5822 }
5823 inline ::jaiabot::protobuf::DivePacket_Measurements* DivePacket::_internal_add_measurement() {
5824  return measurement_.Add();
5825 }
5826 inline ::jaiabot::protobuf::DivePacket_Measurements* DivePacket::add_measurement() {
5827  // @@protoc_insertion_point(field_add:jaiabot.protobuf.DivePacket.measurement)
5828  return _internal_add_measurement();
5829 }
5830 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::jaiabot::protobuf::DivePacket_Measurements >&
5831 DivePacket::measurement() const {
5832  // @@protoc_insertion_point(field_list:jaiabot.protobuf.DivePacket.measurement)
5833  return measurement_;
5834 }
5835 
5836 // optional .jaiabot.protobuf.GeographicCoordinate start_location = 15 [(.jaia.field) = {
5837 inline bool DivePacket::_internal_has_start_location() const {
5838  bool value = (_has_bits_[0] & 0x00000001u) != 0;
5839  PROTOBUF_ASSUME(!value || start_location_ != nullptr);
5840  return value;
5841 }
5842 inline bool DivePacket::has_start_location() const {
5843  return _internal_has_start_location();
5844 }
5845 inline const ::jaiabot::protobuf::GeographicCoordinate& DivePacket::_internal_start_location() const {
5846  const ::jaiabot::protobuf::GeographicCoordinate* p = start_location_;
5847  return p != nullptr ? *p : *reinterpret_cast<const ::jaiabot::protobuf::GeographicCoordinate*>(
5849 }
5850 inline const ::jaiabot::protobuf::GeographicCoordinate& DivePacket::start_location() const {
5851  // @@protoc_insertion_point(field_get:jaiabot.protobuf.DivePacket.start_location)
5852  return _internal_start_location();
5853 }
5854 inline void DivePacket::unsafe_arena_set_allocated_start_location(
5855  ::jaiabot::protobuf::GeographicCoordinate* start_location) {
5856  if (GetArena() == nullptr) {
5857  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(start_location_);
5858  }
5859  start_location_ = start_location;
5860  if (start_location) {
5861  _has_bits_[0] |= 0x00000001u;
5862  } else {
5863  _has_bits_[0] &= ~0x00000001u;
5864  }
5865  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:jaiabot.protobuf.DivePacket.start_location)
5866 }
5867 inline ::jaiabot::protobuf::GeographicCoordinate* DivePacket::release_start_location() {
5868  auto temp = unsafe_arena_release_start_location();
5869  if (GetArena() != nullptr) {
5870  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
5871  }
5872  return temp;
5873 }
5874 inline ::jaiabot::protobuf::GeographicCoordinate* DivePacket::unsafe_arena_release_start_location() {
5875  // @@protoc_insertion_point(field_release:jaiabot.protobuf.DivePacket.start_location)
5876  _has_bits_[0] &= ~0x00000001u;
5877  ::jaiabot::protobuf::GeographicCoordinate* temp = start_location_;
5878  start_location_ = nullptr;
5879  return temp;
5880 }
5881 inline ::jaiabot::protobuf::GeographicCoordinate* DivePacket::_internal_mutable_start_location() {
5882  _has_bits_[0] |= 0x00000001u;
5883  if (start_location_ == nullptr) {
5884  auto* p = CreateMaybeMessage<::jaiabot::protobuf::GeographicCoordinate>(GetArena());
5885  start_location_ = p;
5886  }
5887  return start_location_;
5888 }
5889 inline ::jaiabot::protobuf::GeographicCoordinate* DivePacket::mutable_start_location() {
5890  // @@protoc_insertion_point(field_mutable:jaiabot.protobuf.DivePacket.start_location)
5891  return _internal_mutable_start_location();
5892 }
5893 inline void DivePacket::set_allocated_start_location(::jaiabot::protobuf::GeographicCoordinate* start_location) {
5894  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
5895  if (message_arena == nullptr) {
5896  delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(start_location_);
5897  }
5898  if (start_location) {
5899  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
5900  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(start_location)->GetArena();
5901  if (message_arena != submessage_arena) {
5902  start_location = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
5903  message_arena, start_location, submessage_arena);
5904  }
5905  _has_bits_[0] |= 0x00000001u;
5906  } else {
5907  _has_bits_[0] &= ~0x00000001u;
5908  }
5909  start_location_ = start_location;
5910  // @@protoc_insertion_point(field_set_allocated:jaiabot.protobuf.DivePacket.start_location)
5911 }
5912 
5913 // optional double duration_to_acquire_gps = 16 [(.dccl.field) = {
5914 inline bool DivePacket::_internal_has_duration_to_acquire_gps() const {
5915  bool value = (_has_bits_[0] & 0x00000080u) != 0;
5916  return value;
5917 }
5918 inline bool DivePacket::has_duration_to_acquire_gps() const {
5919  return _internal_has_duration_to_acquire_gps();
5920 }
5921 inline void DivePacket::clear_duration_to_acquire_gps() {
5922  duration_to_acquire_gps_ = 0;
5923  _has_bits_[0] &= ~0x00000080u;
5924 }
5925 inline double DivePacket::_internal_duration_to_acquire_gps() const {
5926  return duration_to_acquire_gps_;
5927 }
5928 inline double DivePacket::duration_to_acquire_gps() const {
5929  // @@protoc_insertion_point(field_get:jaiabot.protobuf.DivePacket.duration_to_acquire_gps)
5930  return _internal_duration_to_acquire_gps();
5931 }
5932 inline void DivePacket::_internal_set_duration_to_acquire_gps(double value) {
5933  _has_bits_[0] |= 0x00000080u;
5934  duration_to_acquire_gps_ = value;
5935 }
5936 inline void DivePacket::set_duration_to_acquire_gps(double value) {
5937  _internal_set_duration_to_acquire_gps(value);
5938  // @@protoc_insertion_point(field_set:jaiabot.protobuf.DivePacket.duration_to_acquire_gps)
5939 }
5940 
5941 // optional bool bottom_dive = 17 [default = false, (.jaia.field) = {
5942 inline bool DivePacket::_internal_has_bottom_dive() const {
5943  bool value = (_has_bits_[0] & 0x00000010u) != 0;
5944  return value;
5945 }
5946 inline bool DivePacket::has_bottom_dive() const {
5947  return _internal_has_bottom_dive();
5948 }
5949 inline void DivePacket::clear_bottom_dive() {
5950  bottom_dive_ = false;
5951  _has_bits_[0] &= ~0x00000010u;
5952 }
5953 inline bool DivePacket::_internal_bottom_dive() const {
5954  return bottom_dive_;
5955 }
5956 inline bool DivePacket::bottom_dive() const {
5957  // @@protoc_insertion_point(field_get:jaiabot.protobuf.DivePacket.bottom_dive)
5958  return _internal_bottom_dive();
5959 }
5960 inline void DivePacket::_internal_set_bottom_dive(bool value) {
5961  _has_bits_[0] |= 0x00000010u;
5962  bottom_dive_ = value;
5963 }
5964 inline void DivePacket::set_bottom_dive(bool value) {
5965  _internal_set_bottom_dive(value);
5966  // @@protoc_insertion_point(field_set:jaiabot.protobuf.DivePacket.bottom_dive)
5967 }
5968 
5969 // optional bool reached_min_depth = 18 [default = false, (.jaia.field) = {
5970 inline bool DivePacket::_internal_has_reached_min_depth() const {
5971  bool value = (_has_bits_[0] & 0x00000020u) != 0;
5972  return value;
5973 }
5974 inline bool DivePacket::has_reached_min_depth() const {
5975  return _internal_has_reached_min_depth();
5976 }
5977 inline void DivePacket::clear_reached_min_depth() {
5978  reached_min_depth_ = false;
5979  _has_bits_[0] &= ~0x00000020u;
5980 }
5981 inline bool DivePacket::_internal_reached_min_depth() const {
5982  return reached_min_depth_;
5983 }
5984 inline bool DivePacket::reached_min_depth() const {
5985  // @@protoc_insertion_point(field_get:jaiabot.protobuf.DivePacket.reached_min_depth)
5986  return _internal_reached_min_depth();
5987 }
5988 inline void DivePacket::_internal_set_reached_min_depth(bool value) {
5989  _has_bits_[0] |= 0x00000020u;
5990  reached_min_depth_ = value;
5991 }
5992 inline void DivePacket::set_reached_min_depth(bool value) {
5993  _internal_set_reached_min_depth(value);
5994  // @@protoc_insertion_point(field_set:jaiabot.protobuf.DivePacket.reached_min_depth)
5995 }
5996 
5997 // optional .jaiabot.protobuf.DivePacket.BottomType bottom_type = 19 [(.jaia.field) = {
5998 inline bool DivePacket::_internal_has_bottom_type() const {
5999  bool value = (_has_bits_[0] & 0x00000200u) != 0;
6000  return value;
6001 }
6002 inline bool DivePacket::has_bottom_type() const {
6003  return _internal_has_bottom_type();
6004 }
6005 inline void DivePacket::clear_bottom_type() {
6006  bottom_type_ = 1;
6007  _has_bits_[0] &= ~0x00000200u;
6008 }
6009 inline ::jaiabot::protobuf::DivePacket_BottomType DivePacket::_internal_bottom_type() const {
6010  return static_cast< ::jaiabot::protobuf::DivePacket_BottomType >(bottom_type_);
6011 }
6012 inline ::jaiabot::protobuf::DivePacket_BottomType DivePacket::bottom_type() const {
6013  // @@protoc_insertion_point(field_get:jaiabot.protobuf.DivePacket.bottom_type)
6014  return _internal_bottom_type();
6015 }
6016 inline void DivePacket::_internal_set_bottom_type(::jaiabot::protobuf::DivePacket_BottomType value) {
6018  _has_bits_[0] |= 0x00000200u;
6019  bottom_type_ = value;
6020 }
6021 inline void DivePacket::set_bottom_type(::jaiabot::protobuf::DivePacket_BottomType value) {
6022  _internal_set_bottom_type(value);
6023  // @@protoc_insertion_point(field_set:jaiabot.protobuf.DivePacket.bottom_type)
6024 }
6025 
6026 // optional double max_acceleration = 20 [(.dccl.field) = {
6027 inline bool DivePacket::_internal_has_max_acceleration() const {
6028  bool value = (_has_bits_[0] & 0x00000100u) != 0;
6029  return value;
6030 }
6031 inline bool DivePacket::has_max_acceleration() const {
6032  return _internal_has_max_acceleration();
6033 }
6034 inline void DivePacket::clear_max_acceleration() {
6035  max_acceleration_ = 0;
6036  _has_bits_[0] &= ~0x00000100u;
6037 }
6038 inline double DivePacket::_internal_max_acceleration() const {
6039  return max_acceleration_;
6040 }
6041 inline double DivePacket::max_acceleration() const {
6042  // @@protoc_insertion_point(field_get:jaiabot.protobuf.DivePacket.max_acceleration)
6043  return _internal_max_acceleration();
6044 }
6045 inline void DivePacket::_internal_set_max_acceleration(double value) {
6046  _has_bits_[0] |= 0x00000100u;
6047  max_acceleration_ = value;
6048 }
6049 inline void DivePacket::set_max_acceleration(double value) {
6050  _internal_set_max_acceleration(value);
6051  // @@protoc_insertion_point(field_set:jaiabot.protobuf.DivePacket.max_acceleration)
6052 }
6053 
6054 // -------------------------------------------------------------------
6055 
6056 // TaskPacket
6057 
6058 // required uint32 bot_id = 1 [(.dccl.field) = {
6059 inline bool TaskPacket::_internal_has_bot_id() const {
6060  bool value = (_has_bits_[0] & 0x00000008u) != 0;
6061  return value;
6062 }
6063 inline bool TaskPacket::has_bot_id() const {
6064  return _internal_has_bot_id();
6065 }
6066 inline void TaskPacket::clear_bot_id() {
6067  bot_id_ = 0u;
6068  _has_bits_[0] &= ~0x00000008u;
6069 }
6070 inline ::PROTOBUF_NAMESPACE_ID::uint32 TaskPacket::_internal_bot_id() const {
6071  return bot_id_;
6072 }
6073 inline ::PROTOBUF_NAMESPACE_ID::uint32 TaskPacket::bot_id() const {
6074  // @@protoc_insertion_point(field_get:jaiabot.protobuf.TaskPacket.bot_id)
6075  return _internal_bot_id();
6076 }
6077 inline void TaskPacket::_internal_set_bot_id(::PROTOBUF_NAMESPACE_ID::uint32 value) {
6078  _has_bits_[0] |= 0x00000008u;
6079  bot_id_ = value;
6080 }
6081 inline void TaskPacket::set_bot_id(::PROTOBUF_NAMESPACE_ID::uint32 value) {
6082  _internal_set_bot_id(value);
6083  // @@protoc_insertion_point(field_set:jaiabot.protobuf.TaskPacket.bot_id)
6084 }
6085 
6086 // required uint64 start_time = 2 [(.dccl.field) = {
6087 inline bool TaskPacket::_internal_has_start_time() const {
6088  bool value = (_has_bits_[0] & 0x00000004u) != 0;
6089  return value;
6090 }
6091 inline bool TaskPacket::has_start_time() const {
6092  return _internal_has_start_time();
6093 }
6094 inline void TaskPacket::clear_start_time() {
6095  start_time_ = PROTOBUF_ULONGLONG(0);
6096  _has_bits_[0] &= ~0x00000004u;
6097 }
6098 inline ::PROTOBUF_NAMESPACE_ID::uint64 TaskPacket::_internal_start_time() const {
6099  return start_time_;
6100 }
6101 inline ::PROTOBUF_NAMESPACE_ID::uint64 TaskPacket::start_time() const {
6102  // @@protoc_insertion_point(field_get:jaiabot.protobuf.TaskPacket.start_time)
6103  return _internal_start_time();
6104 }
6105 inline void TaskPacket::_internal_set_start_time(::PROTOBUF_NAMESPACE_ID::uint64 value) {
6106  _has_bits_[0] |= 0x00000004u;
6107  start_time_ = value;
6108 }
6109 inline void TaskPacket::set_start_time(::PROTOBUF_NAMESPACE_ID::uint64 value) {
6110  _internal_set_start_time(value);
6111  // @@protoc_insertion_point(field_set:jaiabot.protobuf.TaskPacket.start_time)
6112 }
6113 
6114 // required uint64 end_time = 3 [(.dccl.field) = {
6115 inline bool TaskPacket::_internal_has_end_time() const {
6116  bool value = (_has_bits_[0] & 0x00000020u) != 0;
6117  return value;
6118 }
6119 inline bool TaskPacket::has_end_time() const {
6120  return _internal_has_end_time();
6121 }
6122 inline void TaskPacket::clear_end_time() {
6123  end_time_ = PROTOBUF_ULONGLONG(0);
6124  _has_bits_[0] &= ~0x00000020u;
6125 }
6126 inline ::PROTOBUF_NAMESPACE_ID::uint64 TaskPacket::_internal_end_time() const {
6127  return end_time_;
6128 }
6129 inline ::PROTOBUF_NAMESPACE_ID::uint64 TaskPacket::end_time() const {
6130  // @@protoc_insertion_point(field_get:jaiabot.protobuf.TaskPacket.end_time)
6131  return _internal_end_time();
6132 }
6133 inline void TaskPacket::_internal_set_end_time(::PROTOBUF_NAMESPACE_ID::uint64 value) {
6134  _has_bits_[0] |= 0x00000020u;
6135  end_time_ = value;
6136 }
6137 inline void TaskPacket::set_end_time(::PROTOBUF_NAMESPACE_ID::uint64 value) {
6138  _internal_set_end_time(value);
6139  // @@protoc_insertion_point(field_set:jaiabot.protobuf.TaskPacket.end_time)
6140 }
6141 
6142 // required .jaiabot.protobuf.MissionTask.TaskType type = 4 [(.jaia.field) = {
6143 inline bool TaskPacket::_internal_has_type() const {
6144  bool value = (_has_bits_[0] & 0x00000010u) != 0;
6145  return value;
6146 }
6147 inline bool TaskPacket::has_type() const {
6148  return _internal_has_type();
6149 }
6150 inline void TaskPacket::clear_type() {
6151  type_ = 0;
6152  _has_bits_[0] &= ~0x00000010u;
6153 }
6154 inline ::jaiabot::protobuf::MissionTask_TaskType TaskPacket::_internal_type() const {
6155  return static_cast< ::jaiabot::protobuf::MissionTask_TaskType >(type_);
6156 }
6157 inline ::jaiabot::protobuf::MissionTask_TaskType TaskPacket::type() const {
6158  // @@protoc_insertion_point(field_get:jaiabot.protobuf.TaskPacket.type)
6159  return _internal_type();
6160 }
6161 inline void TaskPacket::_internal_set_type(::jaiabot::protobuf::MissionTask_TaskType value) {
6163  _has_bits_[0] |= 0x00000010u;
6164  type_ = value;
6165 }
6166 inline void TaskPacket::set_type(::jaiabot::protobuf::MissionTask_TaskType value) {
6167  _internal_set_type(value);
6168  // @@protoc_insertion_point(field_set:jaiabot.protobuf.TaskPacket.type)
6169 }
6170 
6171 // optional .jaiabot.protobuf.Link link = 5 [(.dccl.field) = {
6172 inline bool TaskPacket::_internal_has_link() const {
6173  bool value = (_has_bits_[0] & 0x00000040u) != 0;
6174  return value;
6175 }
6176 inline bool TaskPacket::has_link() const {
6177  return _internal_has_link();
6178 }
6179 inline void TaskPacket::clear_link() {
6180  link_ = -1;
6181  _has_bits_[0] &= ~0x00000040u;
6182 }
6183 inline ::jaiabot::protobuf::Link TaskPacket::_internal_link() const {
6184  return static_cast< ::jaiabot::protobuf::Link >(link_);
6185 }
6186 inline ::jaiabot::protobuf::Link TaskPacket::link() const {
6187  // @@protoc_insertion_point(field_get:jaiabot.protobuf.TaskPacket.link)
6188  return _internal_link();
6189 }
6190 inline void TaskPacket::_internal_set_link(::jaiabot::protobuf::Link value) {
6191  assert(::jaiabot::protobuf::Link_IsValid(value));
6192  _has_bits_[0] |= 0x00000040u;
6193  link_ = value;
6194 }
6195 inline void TaskPacket::set_link(::jaiabot::protobuf::Link value) {
6196  _internal_set_link(value);
6197  // @@protoc_insertion_point(field_set:jaiabot.protobuf.TaskPacket.link)
6198 }
6199 
6200 // optional .jaiabot.protobuf.DivePacket dive = 10 [(.jaia.field) = {
6201 inline bool TaskPacket::_internal_has_dive() const {
6202  bool value = (_has_bits_[0] & 0x00000001u) != 0;
6203  PROTOBUF_ASSUME(!value || dive_ != nullptr);
6204  return value;
6205 }
6206 inline bool TaskPacket::has_dive() const {
6207  return _internal_has_dive();
6208 }
6209 inline void TaskPacket::clear_dive() {
6210  if (dive_ != nullptr) dive_->Clear();
6211  _has_bits_[0] &= ~0x00000001u;
6212 }
6213 inline const ::jaiabot::protobuf::DivePacket& TaskPacket::_internal_dive() const {
6214  const ::jaiabot::protobuf::DivePacket* p = dive_;
6215  return p != nullptr ? *p : *reinterpret_cast<const ::jaiabot::protobuf::DivePacket*>(
6217 }
6218 inline const ::jaiabot::protobuf::DivePacket& TaskPacket::dive() const {
6219  // @@protoc_insertion_point(field_get:jaiabot.protobuf.TaskPacket.dive)
6220  return _internal_dive();
6221 }
6222 inline void TaskPacket::unsafe_arena_set_allocated_dive(
6223  ::jaiabot::protobuf::DivePacket* dive) {
6224  if (GetArena() == nullptr) {
6225  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(dive_);
6226  }
6227  dive_ = dive;
6228  if (dive) {
6229  _has_bits_[0] |= 0x00000001u;
6230  } else {
6231  _has_bits_[0] &= ~0x00000001u;
6232  }
6233  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:jaiabot.protobuf.TaskPacket.dive)
6234 }
6235 inline ::jaiabot::protobuf::DivePacket* TaskPacket::release_dive() {
6236  auto temp = unsafe_arena_release_dive();
6237  if (GetArena() != nullptr) {
6238  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
6239  }
6240  return temp;
6241 }
6242 inline ::jaiabot::protobuf::DivePacket* TaskPacket::unsafe_arena_release_dive() {
6243  // @@protoc_insertion_point(field_release:jaiabot.protobuf.TaskPacket.dive)
6244  _has_bits_[0] &= ~0x00000001u;
6245  ::jaiabot::protobuf::DivePacket* temp = dive_;
6246  dive_ = nullptr;
6247  return temp;
6248 }
6249 inline ::jaiabot::protobuf::DivePacket* TaskPacket::_internal_mutable_dive() {
6250  _has_bits_[0] |= 0x00000001u;
6251  if (dive_ == nullptr) {
6252  auto* p = CreateMaybeMessage<::jaiabot::protobuf::DivePacket>(GetArena());
6253  dive_ = p;
6254  }
6255  return dive_;
6256 }
6257 inline ::jaiabot::protobuf::DivePacket* TaskPacket::mutable_dive() {
6258  // @@protoc_insertion_point(field_mutable:jaiabot.protobuf.TaskPacket.dive)
6259  return _internal_mutable_dive();
6260 }
6261 inline void TaskPacket::set_allocated_dive(::jaiabot::protobuf::DivePacket* dive) {
6262  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
6263  if (message_arena == nullptr) {
6264  delete dive_;
6265  }
6266  if (dive) {
6267  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6268  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(dive);
6269  if (message_arena != submessage_arena) {
6270  dive = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6271  message_arena, dive, submessage_arena);
6272  }
6273  _has_bits_[0] |= 0x00000001u;
6274  } else {
6275  _has_bits_[0] &= ~0x00000001u;
6276  }
6277  dive_ = dive;
6278  // @@protoc_insertion_point(field_set_allocated:jaiabot.protobuf.TaskPacket.dive)
6279 }
6280 
6281 // optional .jaiabot.protobuf.DriftPacket drift = 11 [(.jaia.field) = {
6282 inline bool TaskPacket::_internal_has_drift() const {
6283  bool value = (_has_bits_[0] & 0x00000002u) != 0;
6284  PROTOBUF_ASSUME(!value || drift_ != nullptr);
6285  return value;
6286 }
6287 inline bool TaskPacket::has_drift() const {
6288  return _internal_has_drift();
6289 }
6290 inline void TaskPacket::clear_drift() {
6291  if (drift_ != nullptr) drift_->Clear();
6292  _has_bits_[0] &= ~0x00000002u;
6293 }
6294 inline const ::jaiabot::protobuf::DriftPacket& TaskPacket::_internal_drift() const {
6295  const ::jaiabot::protobuf::DriftPacket* p = drift_;
6296  return p != nullptr ? *p : *reinterpret_cast<const ::jaiabot::protobuf::DriftPacket*>(
6298 }
6299 inline const ::jaiabot::protobuf::DriftPacket& TaskPacket::drift() const {
6300  // @@protoc_insertion_point(field_get:jaiabot.protobuf.TaskPacket.drift)
6301  return _internal_drift();
6302 }
6303 inline void TaskPacket::unsafe_arena_set_allocated_drift(
6304  ::jaiabot::protobuf::DriftPacket* drift) {
6305  if (GetArena() == nullptr) {
6306  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(drift_);
6307  }
6308  drift_ = drift;
6309  if (drift) {
6310  _has_bits_[0] |= 0x00000002u;
6311  } else {
6312  _has_bits_[0] &= ~0x00000002u;
6313  }
6314  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:jaiabot.protobuf.TaskPacket.drift)
6315 }
6316 inline ::jaiabot::protobuf::DriftPacket* TaskPacket::release_drift() {
6317  auto temp = unsafe_arena_release_drift();
6318  if (GetArena() != nullptr) {
6319  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
6320  }
6321  return temp;
6322 }
6323 inline ::jaiabot::protobuf::DriftPacket* TaskPacket::unsafe_arena_release_drift() {
6324  // @@protoc_insertion_point(field_release:jaiabot.protobuf.TaskPacket.drift)
6325  _has_bits_[0] &= ~0x00000002u;
6326  ::jaiabot::protobuf::DriftPacket* temp = drift_;
6327  drift_ = nullptr;
6328  return temp;
6329 }
6330 inline ::jaiabot::protobuf::DriftPacket* TaskPacket::_internal_mutable_drift() {
6331  _has_bits_[0] |= 0x00000002u;
6332  if (drift_ == nullptr) {
6333  auto* p = CreateMaybeMessage<::jaiabot::protobuf::DriftPacket>(GetArena());
6334  drift_ = p;
6335  }
6336  return drift_;
6337 }
6338 inline ::jaiabot::protobuf::DriftPacket* TaskPacket::mutable_drift() {
6339  // @@protoc_insertion_point(field_mutable:jaiabot.protobuf.TaskPacket.drift)
6340  return _internal_mutable_drift();
6341 }
6342 inline void TaskPacket::set_allocated_drift(::jaiabot::protobuf::DriftPacket* drift) {
6343  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
6344  if (message_arena == nullptr) {
6345  delete drift_;
6346  }
6347  if (drift) {
6348  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6349  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(drift);
6350  if (message_arena != submessage_arena) {
6351  drift = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6352  message_arena, drift, submessage_arena);
6353  }
6354  _has_bits_[0] |= 0x00000002u;
6355  } else {
6356  _has_bits_[0] &= ~0x00000002u;
6357  }
6358  drift_ = drift;
6359  // @@protoc_insertion_point(field_set_allocated:jaiabot.protobuf.TaskPacket.drift)
6360 }
6361 
6362 // -------------------------------------------------------------------
6363 
6364 // ContactUpdate
6365 
6366 // optional int32 contact = 1 [(.dccl.field) = {
6367 inline bool ContactUpdate::_internal_has_contact() const {
6368  bool value = (_has_bits_[0] & 0x00000008u) != 0;
6369  return value;
6370 }
6371 inline bool ContactUpdate::has_contact() const {
6372  return _internal_has_contact();
6373 }
6374 inline void ContactUpdate::clear_contact() {
6375  contact_ = 0;
6376  _has_bits_[0] &= ~0x00000008u;
6377 }
6378 inline ::PROTOBUF_NAMESPACE_ID::int32 ContactUpdate::_internal_contact() const {
6379  return contact_;
6380 }
6381 inline ::PROTOBUF_NAMESPACE_ID::int32 ContactUpdate::contact() const {
6382  // @@protoc_insertion_point(field_get:jaiabot.protobuf.ContactUpdate.contact)
6383  return _internal_contact();
6384 }
6385 inline void ContactUpdate::_internal_set_contact(::PROTOBUF_NAMESPACE_ID::int32 value) {
6386  _has_bits_[0] |= 0x00000008u;
6387  contact_ = value;
6388 }
6389 inline void ContactUpdate::set_contact(::PROTOBUF_NAMESPACE_ID::int32 value) {
6390  _internal_set_contact(value);
6391  // @@protoc_insertion_point(field_set:jaiabot.protobuf.ContactUpdate.contact)
6392 }
6393 
6394 // required .jaiabot.protobuf.GeographicCoordinate location = 2;
6395 inline bool ContactUpdate::_internal_has_location() const {
6396  bool value = (_has_bits_[0] & 0x00000001u) != 0;
6397  PROTOBUF_ASSUME(!value || location_ != nullptr);
6398  return value;
6399 }
6400 inline bool ContactUpdate::has_location() const {
6401  return _internal_has_location();
6402 }
6403 inline const ::jaiabot::protobuf::GeographicCoordinate& ContactUpdate::_internal_location() const {
6404  const ::jaiabot::protobuf::GeographicCoordinate* p = location_;
6405  return p != nullptr ? *p : *reinterpret_cast<const ::jaiabot::protobuf::GeographicCoordinate*>(
6407 }
6408 inline const ::jaiabot::protobuf::GeographicCoordinate& ContactUpdate::location() const {
6409  // @@protoc_insertion_point(field_get:jaiabot.protobuf.ContactUpdate.location)
6410  return _internal_location();
6411 }
6412 inline void ContactUpdate::unsafe_arena_set_allocated_location(
6413  ::jaiabot::protobuf::GeographicCoordinate* location) {
6414  if (GetArena() == nullptr) {
6415  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(location_);
6416  }
6417  location_ = location;
6418  if (location) {
6419  _has_bits_[0] |= 0x00000001u;
6420  } else {
6421  _has_bits_[0] &= ~0x00000001u;
6422  }
6423  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:jaiabot.protobuf.ContactUpdate.location)
6424 }
6425 inline ::jaiabot::protobuf::GeographicCoordinate* ContactUpdate::release_location() {
6426  auto temp = unsafe_arena_release_location();
6427  if (GetArena() != nullptr) {
6428  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
6429  }
6430  return temp;
6431 }
6432 inline ::jaiabot::protobuf::GeographicCoordinate* ContactUpdate::unsafe_arena_release_location() {
6433  // @@protoc_insertion_point(field_release:jaiabot.protobuf.ContactUpdate.location)
6434  _has_bits_[0] &= ~0x00000001u;
6435  ::jaiabot::protobuf::GeographicCoordinate* temp = location_;
6436  location_ = nullptr;
6437  return temp;
6438 }
6439 inline ::jaiabot::protobuf::GeographicCoordinate* ContactUpdate::_internal_mutable_location() {
6440  _has_bits_[0] |= 0x00000001u;
6441  if (location_ == nullptr) {
6442  auto* p = CreateMaybeMessage<::jaiabot::protobuf::GeographicCoordinate>(GetArena());
6443  location_ = p;
6444  }
6445  return location_;
6446 }
6447 inline ::jaiabot::protobuf::GeographicCoordinate* ContactUpdate::mutable_location() {
6448  // @@protoc_insertion_point(field_mutable:jaiabot.protobuf.ContactUpdate.location)
6449  return _internal_mutable_location();
6450 }
6451 inline void ContactUpdate::set_allocated_location(::jaiabot::protobuf::GeographicCoordinate* location) {
6452  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
6453  if (message_arena == nullptr) {
6454  delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(location_);
6455  }
6456  if (location) {
6457  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6458  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(location)->GetArena();
6459  if (message_arena != submessage_arena) {
6460  location = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6461  message_arena, location, submessage_arena);
6462  }
6463  _has_bits_[0] |= 0x00000001u;
6464  } else {
6465  _has_bits_[0] &= ~0x00000001u;
6466  }
6467  location_ = location;
6468  // @@protoc_insertion_point(field_set_allocated:jaiabot.protobuf.ContactUpdate.location)
6469 }
6470 
6471 // optional double speed_over_ground = 3 [(.dccl.field) = {
6472 inline bool ContactUpdate::_internal_has_speed_over_ground() const {
6473  bool value = (_has_bits_[0] & 0x00000002u) != 0;
6474  return value;
6475 }
6476 inline bool ContactUpdate::has_speed_over_ground() const {
6477  return _internal_has_speed_over_ground();
6478 }
6479 inline void ContactUpdate::clear_speed_over_ground() {
6480  speed_over_ground_ = 0;
6481  _has_bits_[0] &= ~0x00000002u;
6482 }
6483 inline double ContactUpdate::_internal_speed_over_ground() const {
6484  return speed_over_ground_;
6485 }
6486 inline double ContactUpdate::speed_over_ground() const {
6487  // @@protoc_insertion_point(field_get:jaiabot.protobuf.ContactUpdate.speed_over_ground)
6488  return _internal_speed_over_ground();
6489 }
6490 inline void ContactUpdate::_internal_set_speed_over_ground(double value) {
6491  _has_bits_[0] |= 0x00000002u;
6492  speed_over_ground_ = value;
6493 }
6494 inline void ContactUpdate::set_speed_over_ground(double value) {
6495  _internal_set_speed_over_ground(value);
6496  // @@protoc_insertion_point(field_set:jaiabot.protobuf.ContactUpdate.speed_over_ground)
6497 }
6498 
6499 // optional double heading_or_cog = 5 [(.dccl.field) = {
6500 inline bool ContactUpdate::_internal_has_heading_or_cog() const {
6501  bool value = (_has_bits_[0] & 0x00000004u) != 0;
6502  return value;
6503 }
6504 inline bool ContactUpdate::has_heading_or_cog() const {
6505  return _internal_has_heading_or_cog();
6506 }
6507 inline void ContactUpdate::clear_heading_or_cog() {
6508  heading_or_cog_ = 0;
6509  _has_bits_[0] &= ~0x00000004u;
6510 }
6511 inline double ContactUpdate::_internal_heading_or_cog() const {
6512  return heading_or_cog_;
6513 }
6514 inline double ContactUpdate::heading_or_cog() const {
6515  // @@protoc_insertion_point(field_get:jaiabot.protobuf.ContactUpdate.heading_or_cog)
6516  return _internal_heading_or_cog();
6517 }
6518 inline void ContactUpdate::_internal_set_heading_or_cog(double value) {
6519  _has_bits_[0] |= 0x00000004u;
6520  heading_or_cog_ = value;
6521 }
6522 inline void ContactUpdate::set_heading_or_cog(double value) {
6523  _internal_set_heading_or_cog(value);
6524  // @@protoc_insertion_point(field_set:jaiabot.protobuf.ContactUpdate.heading_or_cog)
6525 }
6526 
6527 #ifdef __GNUC__
6528  #pragma GCC diagnostic pop
6529 #endif // __GNUC__
6530 // -------------------------------------------------------------------
6531 
6532 // -------------------------------------------------------------------
6533 
6534 // -------------------------------------------------------------------
6535 
6536 // -------------------------------------------------------------------
6537 
6538 // -------------------------------------------------------------------
6539 
6540 // -------------------------------------------------------------------
6541 
6542 // -------------------------------------------------------------------
6543 
6544 // -------------------------------------------------------------------
6545 
6546 // -------------------------------------------------------------------
6547 
6548 // -------------------------------------------------------------------
6549 
6550 
6551 // @@protoc_insertion_point(namespace_scope)
6552 
6553 } // namespace protobuf
6554 } // namespace jaiabot
6555 
6556 PROTOBUF_NAMESPACE_OPEN
6557 
6558 template <> struct is_proto_enum< ::jaiabot::protobuf::Command_CommandType> : ::std::true_type {};
6559 template <>
6560 inline const EnumDescriptor* GetEnumDescriptor< ::jaiabot::protobuf::Command_CommandType>() {
6562 }
6563 template <> struct is_proto_enum< ::jaiabot::protobuf::CommandForHub_HubCommandType> : ::std::true_type {};
6564 template <>
6565 inline const EnumDescriptor* GetEnumDescriptor< ::jaiabot::protobuf::CommandForHub_HubCommandType>() {
6567 }
6568 template <> struct is_proto_enum< ::jaiabot::protobuf::BotStatus_BotType> : ::std::true_type {};
6569 template <>
6570 inline const EnumDescriptor* GetEnumDescriptor< ::jaiabot::protobuf::BotStatus_BotType>() {
6572 }
6573 template <> struct is_proto_enum< ::jaiabot::protobuf::DivePacket_BottomType> : ::std::true_type {};
6574 template <>
6575 inline const EnumDescriptor* GetEnumDescriptor< ::jaiabot::protobuf::DivePacket_BottomType>() {
6577 }
6578 
6579 PROTOBUF_NAMESPACE_CLOSE
6580 
6581 // @@protoc_insertion_point(global_scope)
6582 
6583 #include <google/protobuf/port_undef.inc>
6584 #endif // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_jaiabot_2fmessages_2fjaia_5fdccl_2eproto
boost::units::unit< mean_depth_dimension, boost::units::si::system > mean_depth_unit
TaskPacket(TaskPacket &&from) noexcept
boost::units::quantity< pitch_unit, double > pitch_with_units() const
boost::units::quantity< last_command_time_unit, google::protobuf::uint64 > last_command_time_with_units() const
static const Command & default_instance()
DivePacket * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
boost::units::plane_angle_dimension heading_or_cog_dimension
static const DivePacket_Measurements & default_instance()
Quantity unpowered_rise_rate_with_units() const
boost::units::make_scaled_unit< boost::units::unit< received_time_dimension, boost::units::si::system >, boost::units::scale< 10, boost::units::static_rational<-6 > > >::type received_time_unit
::jaiabot::protobuf::RemoteControl * unsafe_arena_release_rc()
::PROTOBUF_NAMESPACE_ID::int32 contact() const
Command(Command &&from) noexcept
Definition: jaia_dccl.pb.h:252
boost::units::quantity< significant_wave_height_unit, double > significant_wave_height_with_units() const
friend void swap(ContactUpdate &a, ContactUpdate &b)
void UnsafeArenaSwap(DivePacket_Measurements *other)
BotStatus_Speed & operator=(const BotStatus_Speed &from)
static const std::string & CommandType_Name(T enum_t_value)
Definition: jaia_dccl.pb.h:424
void set_allocated_dive(::jaiabot::protobuf::DivePacket *dive)
void UnsafeArenaSwap(CommandForHub *other)
Definition: jaia_dccl.pb.h:666
static const BotStatus_Attitude * internal_default_instance()
Definition: jaia_dccl.pb.h:916
void MergeFrom(const DivePacket_Measurements &from)
DriftPacket_EstimatedDrift & operator=(DriftPacket_EstimatedDrift &&from) noexcept
Command & operator=(Command &&from) noexcept
Definition: jaia_dccl.pb.h:261
void UnsafeArenaSwap(TaskPacket *other)
void Swap(DivePacket *other)
Quantity significant_wave_height_with_units() const
ContactUpdate & operator=(ContactUpdate &&from) noexcept
void set_allocated_plan(::jaiabot::protobuf::MissionPlan *plan)
void set_start_time_with_units(Quantity value_w_units)
void MergeFrom(const DriftPacket &from)
void set_type(::jaiabot::protobuf::CommandForHub_HubCommandType value)
::PROTOBUF_NAMESPACE_ID::uint64 received_time() const
::jaiabot::protobuf::Error error(int index) const
::PROTOBUF_NAMESPACE_ID::int32 drift_duration() const
const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet & unknown_fields() const
Definition: jaia_dccl.pb.h:270
boost::units::make_scaled_unit< boost::units::unit< start_time_dimension, boost::units::si::system >, boost::units::scale< 10, boost::units::static_rational<-6 > > >::type start_time_unit
::jaiabot::protobuf::Command_CommandType type() const
boost::units::length_dimension distance_to_active_goal_dimension
IvPBehaviorUpdate_ContactUpdate ContactUpdate
Definition: mission.pb.h:4570
void MergeFrom(const BotStatus &from)
void MergeFrom(const BotStatus_Speed &from)
::jaiabot::protobuf::BotStatus_Attitude * release_attitude()
static bool HubCommandType_Parse(const std::string &name, HubCommandType *value)
Definition: jaia_dccl.pb.h:752
void UnsafeArenaSwap(DriftPacket_EstimatedDrift *other)
TaskPacket & operator=(TaskPacket &&from) noexcept
void set_link(::jaiabot::protobuf::Link value)
::jaiabot::protobuf::RemoteControl * mutable_rc()
const ::jaiabot::protobuf::DriftPacket_EstimatedDrift & estimated_drift() const
boost::units::make_scaled_unit< boost::units::unit< end_time_dimension, boost::units::si::system >, boost::units::scale< 10, boost::units::static_rational<-6 > > >::type end_time_unit
DivePacket & operator=(DivePacket &&from) noexcept
void set_allocated_rc(::jaiabot::protobuf::RemoteControl *rc)
void set_dive_rate(double value)
DriftPacket(const DriftPacket &from)
void set_time_with_units(Quantity value_w_units)
Definition: jaia_dccl.pb.h:560
void MergeFrom(const Command &from)
::jaiabot::protobuf::GeographicCoordinate * mutable_location()
void set_max_acceleration_with_units(Quantity value_w_units)
BotStatus_Attitude & operator=(const BotStatus_Attitude &from)
Definition: jaia_dccl.pb.h:884
boost::units::quantity< heading_unit, double > heading_with_units() const
DivePacket_Measurements(DivePacket_Measurements &&from) noexcept
boost::units::velocity_dimension speed_dimension
Command(const Command &from)
boost::units::quantity< start_time_unit, google::protobuf::uint64 > start_time_with_units() const
TaskPacket(const TaskPacket &from)
boost::units::quantity< heading_or_cog_unit, double > heading_or_cog_with_units() const
void Swap(BotStatus *other)
Quantity over_water_with_units() const
void CopyFrom(const DriftPacket &from)
void CopyFrom(const DriftPacket_EstimatedDrift &from)
void set_allocated_attitude(::jaiabot::protobuf::BotStatus_Attitude *attitude)
boost::units::length_dimension depth_dimension
boost::units::quantity< over_water_unit, double > over_water_with_units() const
boost::units::unit< powered_rise_rate_dimension, boost::units::si::system > powered_rise_rate_unit
void set_error(int index, ::jaiabot::protobuf::Error value)
boost::units::quantity< duration_to_acquire_gps_unit, double > duration_to_acquire_gps_with_units() const
void set_allocated_end_location(::jaiabot::protobuf::GeographicCoordinate *end_location)
void add_warning(::jaiabot::protobuf::Warning value)
static const BotStatus & default_instance()
boost::units::unit< max_acceleration_dimension, boost::units::si::system > max_acceleration_unit
Quantity over_ground_with_units() const
friend void swap(Command &a, Command &b)
Definition: jaia_dccl.pb.h:303
ContactUpdate(::PROTOBUF_NAMESPACE_ID::Arena *arena)
const ::jaiabot::protobuf::GeographicCoordinate & end_location() const
CommandForHub & operator=(CommandForHub &&from) noexcept
Definition: jaia_dccl.pb.h:620
static bool BotType_Parse(const std::string &name, BotType *value)
::PROTOBUF_NAMESPACE_ID::uint64 end_time() const
void set_heading_or_cog(double value)
static const BotStatus_Speed * internal_default_instance()
Quantity start_time_with_units() const
const ::jaiabot::protobuf::BotStatus_Attitude & attitude() const
BotStatus_Attitude(const BotStatus_Attitude &from)
boost::units::absolute< boost::units::unit< temperature_dimension, boost::units::celsius::system > > temperature_unit
void CopyFrom(const DivePacket &from)
void unsafe_arena_set_allocated_rc_task(::jaiabot::protobuf::MissionTask *rc_task)
void set_mean_depth_with_units(Quantity value_w_units)
void CopyFrom(const DivePacket_Measurements &from)
const ::jaiabot::protobuf::GeographicCoordinate & start_location() const
friend void swap(BotStatus_Speed &a, BotStatus_Speed &b)
::jaiabot::protobuf::GeographicCoordinate * release_start_location()
void unsafe_arena_set_allocated_plan(::jaiabot::protobuf::MissionPlan *plan)
boost::units::quantity< powered_rise_rate_unit, double > powered_rise_rate_with_units() const
boost::units::unit< distance_to_active_goal_dimension, boost::units::si::system > distance_to_active_goal_unit
::PROTOBUF_NAMESPACE_ID::uint64 last_command_time() const
static const ContactUpdate & default_instance()
BotStatus_Speed * New() const final
const ::jaiabot::protobuf::DivePacket_Measurements & measurement(int index) const
void set_bot_id(::PROTOBUF_NAMESPACE_ID::uint32 value)
void unsafe_arena_set_allocated_hub_location(::jaiabot::protobuf::GeographicCoordinate *hub_location)
boost::units::time_dimension last_command_time_dimension
friend void swap(BotStatus &a, BotStatus &b)
void set_bot_type(::jaiabot::protobuf::BotStatus_BotType value)
friend void swap(CommandForHub &a, CommandForHub &b)
Definition: jaia_dccl.pb.h:655
static const DivePacket_Measurements * internal_default_instance()
DivePacket_Measurements Measurements
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * HubCommandType_descriptor()
Definition: jaia_dccl.pb.h:742
::PROTOBUF_NAMESPACE_ID::int32 wifi_link_quality_percentage() const
::jaiabot::protobuf::DivePacket * release_dive()
::jaiabot::protobuf::MissionState mission_state() const
boost::units::time_dimension time_dimension
Definition: jaia_dccl.pb.h:555
void set_over_water_with_units(Quantity value_w_units)
void set_distance_to_active_goal(double value)
DriftPacket(DriftPacket &&from) noexcept
static bool HubCommandType_IsValid(int value)
Definition: jaia_dccl.pb.h:732
friend void swap(BotStatus_Attitude &a, BotStatus_Attitude &b)
Definition: jaia_dccl.pb.h:923
void set_distance_to_active_goal_with_units(Quantity value_w_units)
ContactUpdate(ContactUpdate &&from) noexcept
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
::jaiabot::protobuf::MissionTask * release_rc_task()
void set_heading_with_units(Quantity value_w_units)
DivePacket(::PROTOBUF_NAMESPACE_ID::Arena *arena)
CommandForHub(::PROTOBUF_NAMESPACE_ID::Arena *arena)
ContactUpdate * New() const final
boost::units::temperature_dimension temperature_dimension
boost::units::quantity< received_time_unit, google::protobuf::uint64 > received_time_with_units() const
::jaiabot::protobuf::RemoteControl * release_rc()
static const TaskPacket & default_instance()
BotStatus_Attitude(::PROTOBUF_NAMESPACE_ID::Arena *arena)
void set_depth_with_units(Quantity value_w_units)
void set_repeat_index(::PROTOBUF_NAMESPACE_ID::int32 value)
Quantity depth_achieved_with_units() const
::PROTOBUF_NAMESPACE_ID::uint64 start_time() const
CommandForHub & operator=(const CommandForHub &from)
Definition: jaia_dccl.pb.h:616
boost::units::time_dimension end_time_dimension
void CopyFrom(const ContactUpdate &from)
Quantity last_command_time_with_units() const
TaskPacket(::PROTOBUF_NAMESPACE_ID::Arena *arena)
BotStatus_Attitude * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: jaia_dccl.pb.h:946
static bool CommandType_IsValid(int value)
Definition: jaia_dccl.pb.h:410
::jaiabot::protobuf::DriftPacket_EstimatedDrift * mutable_estimated_drift()
BotStatus_Speed(BotStatus_Speed &&from) noexcept
static const DriftPacket & default_instance()
void set_over_ground_with_units(Quantity value_w_units)
static const std::string & BottomType_Name(T enum_t_value)
static const DriftPacket * internal_default_instance()
Command * New() const final
Definition: jaia_dccl.pb.h:322
boost::units::quantity< temperature_unit, double > temperature_with_units() const
::jaiabot::protobuf::DriftPacket_EstimatedDrift * unsafe_arena_release_estimated_drift()
void Swap(BotStatus_Attitude *other)
Definition: jaia_dccl.pb.h:926
void Swap(CommandForHub *other)
Definition: jaia_dccl.pb.h:658
boost::units::absolute< boost::units::unit< mean_temperature_dimension, boost::units::celsius::system > > mean_temperature_unit
boost::units::length_dimension significant_wave_height_dimension
void set_duration_to_acquire_gps(double value)
boost::units::quantity< course_over_ground_unit, double > course_over_ground_with_units() const
void UnsafeArenaSwap(Command *other)
Definition: jaia_dccl.pb.h:314
boost::units::time_dimension received_time_dimension
void set_allocated_rc_task(::jaiabot::protobuf::MissionTask *rc_task)
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int > & error() const
void set_scan_for_bot_id(::PROTOBUF_NAMESPACE_ID::uint32 value)
BotStatus_Speed & operator=(BotStatus_Speed &&from) noexcept
void unsafe_arena_set_allocated_rc(::jaiabot::protobuf::RemoteControl *rc)
::jaiabot::protobuf::BotStatus_BotType bot_type() const
::jaiabot::protobuf::DivePacket_Measurements * mutable_measurement(int index)
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
void set_powered_rise_rate(double value)
boost::units::velocity_dimension unpowered_rise_rate_dimension
void UnsafeArenaSwap(BotStatus *other)
void set_course_over_ground_with_units(Quantity value_w_units)
boost::units::quantity< mean_temperature_unit, double > mean_temperature_with_units() const
boost::units::plane_angle_dimension pitch_dimension
void set_depth_achieved(double value)
void MergeFrom(const CommandForHub &from)
static const DriftPacket_EstimatedDrift & default_instance()
boost::units::velocity_dimension powered_rise_rate_dimension
void set_end_time(::PROTOBUF_NAMESPACE_ID::uint64 value)
boost::units::time_dimension start_time_dimension
void set_active_goal_timeout(::PROTOBUF_NAMESPACE_ID::uint32 value)
static const std::string & BotType_Name(T enum_t_value)
const ::jaiabot::protobuf::GeographicCoordinate & location() const
void set_allocated_drift(::jaiabot::protobuf::DriftPacket *drift)
const ::jaiabot::protobuf::DivePacket & dive() const
static const BotStatus_Attitude & default_instance()
DriftPacket_EstimatedDrift(const DriftPacket_EstimatedDrift &from)
static const DriftPacket_EstimatedDrift * internal_default_instance()
boost::units::plane_angle_dimension heading_dimension
friend void swap(DriftPacket &a, DriftPacket &b)
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::jaiabot::protobuf::DivePacket_Measurements > & measurement() const
void set_last_command_time_with_units(Quantity value_w_units)
::jaiabot::protobuf::GeographicCoordinate * release_location()
::jaiabot::protobuf::MissionPlan * release_plan()
static const Command * internal_default_instance()
Definition: jaia_dccl.pb.h:296
void set_unpowered_rise_rate(double value)
boost::units::velocity_dimension speed_over_ground_dimension
TaskPacket * New() const final
boost::units::velocity_dimension over_ground_dimension
void set_received_time(::PROTOBUF_NAMESPACE_ID::uint64 value)
::goby::middleware::protobuf::HealthState health_state() const
boost::units::quantity< depth_unit, double > depth_with_units() const
friend void swap(DriftPacket_EstimatedDrift &a, DriftPacket_EstimatedDrift &b)
Quantity mean_temperature_with_units() const
void unsafe_arena_set_allocated_start_location(::jaiabot::protobuf::GeographicCoordinate *start_location)
DriftPacket_EstimatedDrift & operator=(const DriftPacket_EstimatedDrift &from)
ContactUpdate * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
TaskPacket * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
DriftPacket & operator=(const DriftPacket &from)
void UnsafeArenaSwap(DivePacket *other)
boost::units::quantity< distance_to_active_goal_unit, double > distance_to_active_goal_with_units() const
void MergeFrom(const ContactUpdate &from)
::jaiabot::protobuf::DriftPacket * unsafe_arena_release_drift()
BotStatus_Speed(const BotStatus_Speed &from)
inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet * mutable_unknown_fields()
Definition: jaia_dccl.pb.h:273
const ::jaiabot::protobuf::BotStatus_Speed & speed() const
boost::units::unit< heading_or_cog_dimension, boost::units::degree::system > heading_or_cog_unit
void set_battery_percent(double value)
::jaiabot::protobuf::DriftPacket_EstimatedDrift * release_estimated_drift()
void set_speed_over_ground_with_units(Quantity value_w_units)
void set_last_command_time(::PROTOBUF_NAMESPACE_ID::uint64 value)
boost::units::quantity< depth_achieved_unit, double > depth_achieved_with_units() const
void MergeFrom(const TaskPacket &from)
::jaiabot::protobuf::MissionTask * unsafe_arena_release_rc_task()
friend void swap(TaskPacket &a, TaskPacket &b)
::jaiabot::protobuf::GeographicCoordinate * mutable_start_location()
boost::units::quantity< roll_unit, double > roll_with_units() const
DriftPacket * New() const final
void UnsafeArenaSwap(BotStatus_Attitude *other)
Definition: jaia_dccl.pb.h:934
Quantity distance_to_active_goal_with_units() const
static const CommandForHub * internal_default_instance()
Definition: jaia_dccl.pb.h:648
void unsafe_arena_set_allocated_location(::jaiabot::protobuf::GeographicCoordinate *location)
DivePacket * New() const final
boost::units::plane_angle_dimension course_over_ground_dimension
::jaiabot::protobuf::BotStatus_Attitude * unsafe_arena_release_attitude()
DivePacket_Measurements & operator=(const DivePacket_Measurements &from)
boost::units::derived_dimension< boost::units::time_base_dimension, 1 >::type drift_duration_dimension
ContactUpdate & operator=(const ContactUpdate &from)
boost::units::unit< depth_achieved_dimension, boost::units::si::system > depth_achieved_unit
::jaiabot::protobuf::GeographicCoordinate * unsafe_arena_release_location()
::jaiabot::protobuf::BotStatus_Speed * unsafe_arena_release_speed()
void unsafe_arena_set_allocated_drift(::jaiabot::protobuf::DriftPacket *drift)
void set_received_time_with_units(Quantity value_w_units)
boost::units::unit< significant_wave_height_dimension, boost::units::si::system > significant_wave_height_unit
::PROTOBUF_NAMESPACE_ID::uint32 active_goal_timeout() const
BotStatus * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::jaiabot::protobuf::DivePacket_Measurements > * mutable_measurement()
void set_mean_depth(double value)
void set_dive_rate_with_units(Quantity value_w_units)
const ::jaiabot::protobuf::DriftPacket & drift() const
void set_heading_or_cog_with_units(Quantity value_w_units)
::jaiabot::protobuf::IMUCalibrationState calibration_state() const
::jaiabot::protobuf::MissionTask * mutable_rc_task()
BotStatus * New() const final
void set_end_time_with_units(Quantity value_w_units)
DivePacket(DivePacket &&from) noexcept
void set_drift_duration_with_units(Quantity value_w_units)
void CopyFrom(const BotStatus_Attitude &from)
CommandDataCase command_data_case() const
boost::units::unit< speed_over_ground_dimension, boost::units::si::system > speed_over_ground_unit
void set_mean_temperature_with_units(Quantity value_w_units)
const ::jaiabot::protobuf::MissionTask & rc_task() const
void set_pitch_with_units(Quantity value_w_units)
Quantity active_goal_timeout_with_units() const
Quantity heading_or_cog_with_units() const
void set_type(::jaiabot::protobuf::Command_CommandType value)
boost::units::make_scaled_unit< boost::units::unit< last_command_time_dimension, boost::units::si::system >, boost::units::scale< 10, boost::units::static_rational<-6 > > >::type last_command_time_unit
void UnsafeArenaSwap(DriftPacket *other)
void set_allocated_hub_location(::jaiabot::protobuf::GeographicCoordinate *hub_location)
void set_significant_wave_height(double value)
static const ContactUpdate * internal_default_instance()
boost::units::length_dimension mean_depth_dimension
Quantity powered_rise_rate_with_units() const
::jaiabot::protobuf::DivePacket * unsafe_arena_release_dive()
DivePacket_Measurements * New() const final
::jaiabot::protobuf::Warning warning(int index) const
::jaiabot::protobuf::Link link() const
boost::units::unit< duration_to_acquire_gps_dimension, boost::units::si::system > duration_to_acquire_gps_unit
CommandForHub * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: jaia_dccl.pb.h:678
boost::units::plane_angle_dimension roll_dimension
boost::units::quantity< drift_duration_unit, google::protobuf::int32 > drift_duration_with_units() const
BotStatus(::PROTOBUF_NAMESPACE_ID::Arena *arena)
void set_warning(int index, ::jaiabot::protobuf::Warning value)
boost::units::unit< drift_duration_dimension, boost::units::si::system > drift_duration_unit
void set_significant_wave_height_with_units(Quantity value_w_units)
CommandForHub * New() const final
Definition: jaia_dccl.pb.h:674
::PROTOBUF_NAMESPACE_ID::uint64 time() const
BotStatus_Attitude * New() const final
Definition: jaia_dccl.pb.h:942
void set_bottom_type(::jaiabot::protobuf::DivePacket_BottomType value)
void set_mean_salinity(double value)
void Swap(DivePacket_Measurements *other)
void CopyFrom(const TaskPacket &from)
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * CommandType_descriptor()
Definition: jaia_dccl.pb.h:420
boost::units::quantity< speed_over_ground_unit, double > speed_over_ground_with_units() const
DivePacket_Measurements(const DivePacket_Measurements &from)
Quantity received_time_with_units() const
BotStatus_Attitude & operator=(BotStatus_Attitude &&from) noexcept
Definition: jaia_dccl.pb.h:888
void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
BotStatus & operator=(const BotStatus &from)
void set_roll_with_units(Quantity value_w_units)
::jaiabot::protobuf::GeographicCoordinate * release_end_location()
void CopyFrom(const BotStatus &from)
void MergeFrom(const DivePacket &from)
void set_duration_to_acquire_gps_with_units(Quantity value_w_units)
::jaiabot::protobuf::BotStatus_Attitude * mutable_attitude()
bool has_wifi_link_quality_percentage() const
::jaiabot::protobuf::DriftPacket * mutable_drift()
boost::units::quantity< active_goal_timeout_unit, google::protobuf::uint32 > active_goal_timeout_with_units() const
Command * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: jaia_dccl.pb.h:326
::PROTOBUF_NAMESPACE_ID::RepeatedField< int > * mutable_warning()
void set_mean_temperature(double value)
boost::units::derived_dimension< boost::units::time_base_dimension, 1 >::type duration_to_acquire_gps_dimension
BotStatus(BotStatus &&from) noexcept
void set_wifi_link_quality_percentage(::PROTOBUF_NAMESPACE_ID::int32 value)
static bool BotType_IsValid(int value)
boost::units::unit< unpowered_rise_rate_dimension, boost::units::si::system > unpowered_rise_rate_unit
boost::units::unit< roll_dimension, boost::units::degree::system > roll_unit
void set_course_over_ground(double value)
void CopyFrom(const CommandForHub &from)
friend void swap(DivePacket &a, DivePacket &b)
void set_unpowered_rise_rate_with_units(Quantity value_w_units)
static const BotStatus * internal_default_instance()
void Swap(BotStatus_Speed *other)
DivePacket_Measurements * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
::jaiabot::protobuf::GeographicCoordinate * unsafe_arena_release_start_location()
boost::units::unit< dive_rate_dimension, boost::units::si::system > dive_rate_unit
Quantity duration_to_acquire_gps_with_units() const
void MergeFrom(const BotStatus_Attitude &from)
static const BotStatus_Speed & default_instance()
void MergeFrom(const DriftPacket_EstimatedDrift &from)
Command(::PROTOBUF_NAMESPACE_ID::Arena *arena)
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: jaia_dccl.pb.h:280
void set_time(::PROTOBUF_NAMESPACE_ID::uint64 value)
::jaiabot::protobuf::DivePacket_BottomType bottom_type() const
::PROTOBUF_NAMESPACE_ID::int32 active_goal() const
boost::units::derived_dimension< boost::units::time_base_dimension, 1 >::type active_goal_timeout_dimension
void set_contact(::PROTOBUF_NAMESPACE_ID::int32 value)
static const std::string & HubCommandType_Name(T enum_t_value)
Definition: jaia_dccl.pb.h:746
void set_type(::jaiabot::protobuf::MissionTask_TaskType value)
::jaiabot::protobuf::DivePacket_Measurements * add_measurement()
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * BotType_descriptor()
TaskPacket & operator=(const TaskPacket &from)
const ::jaiabot::protobuf::GeographicCoordinate & hub_location() const
DriftPacket * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
void set_calibration_status(::PROTOBUF_NAMESPACE_ID::int32 value)
void set_max_acceleration(double value)
Quantity temperature_with_units() const
DivePacket(const DivePacket &from)
BotStatus_Attitude(BotStatus_Attitude &&from) noexcept
Definition: jaia_dccl.pb.h:879
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int > & warning() const
::jaiabot::protobuf::MissionPlan * mutable_plan()
boost::units::length_dimension depth_achieved_dimension
CommandForHub_HubCommandType HubCommandType
Definition: jaia_dccl.pb.h:721
void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
void Swap(DriftPacket_EstimatedDrift *other)
DriftPacket(::PROTOBUF_NAMESPACE_ID::Arena *arena)
CommandForHub(CommandForHub &&from) noexcept
Definition: jaia_dccl.pb.h:611
boost::units::unit< heading_dimension, boost::units::degree::system > heading_unit
BotStatus_Speed(::PROTOBUF_NAMESPACE_ID::Arena *arena)
boost::units::acceleration_dimension max_acceleration_dimension
void set_allocated_start_location(::jaiabot::protobuf::GeographicCoordinate *start_location)
BotStatus(const BotStatus &from)
const ::jaiabot::protobuf::MissionPlan & plan() const
void set_drift_duration(::PROTOBUF_NAMESPACE_ID::int32 value)
void set_over_water(double value)
void add_error(::jaiabot::protobuf::Error value)
DriftPacket_EstimatedDrift(DriftPacket_EstimatedDrift &&from) noexcept
void set_reached_min_depth(bool value)
boost::units::velocity_dimension over_water_dimension
static const CommandForHub & default_instance()
static bool CommandType_Parse(const std::string &name, CommandType *value)
Definition: jaia_dccl.pb.h:430
::PROTOBUF_NAMESPACE_ID::int32 calibration_status() const
DriftPacket_EstimatedDrift * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
::jaiabot::protobuf::DriftPacket * release_drift()
DivePacket_Measurements & operator=(DivePacket_Measurements &&from) noexcept
void set_temperature(double value)
DivePacket_BottomType BottomType
::jaiabot::protobuf::GeographicCoordinate * unsafe_arena_release_end_location()
void set_active_goal_timeout_with_units(Quantity value_w_units)
void set_powered_rise_rate_with_units(Quantity value_w_units)
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * BottomType_descriptor()
void set_temperature_with_units(Quantity value_w_units)
const ::jaiabot::protobuf::RemoteControl & rc() const
void set_health_state(::goby::middleware::protobuf::HealthState value)
boost::units::quantity< time_unit, google::protobuf::uint64 > time_with_units() const
Definition: jaia_dccl.pb.h:567
void Swap(ContactUpdate *other)
::PROTOBUF_NAMESPACE_ID::uint32 scan_for_bot_id() const
ContactUpdate(const ContactUpdate &from)
Quantity mean_depth_with_units() const
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: jaia_dccl.pb.h:283
static const DivePacket * internal_default_instance()
::jaiabot::protobuf::BotStatus_Speed * mutable_speed()
Quantity drift_duration_with_units() const
void set_allocated_speed(::jaiabot::protobuf::BotStatus_Speed *speed)
::jaiabot::protobuf::MissionTask_TaskType type() const
void set_calibration_state(::jaiabot::protobuf::IMUCalibrationState value)
boost::units::unit< over_water_dimension, boost::units::si::system > over_water_unit
boost::units::quantity< max_acceleration_unit, double > max_acceleration_with_units() const
::PROTOBUF_NAMESPACE_ID::uint32 bot_id() const
boost::units::unit< course_over_ground_dimension, boost::units::degree::system > course_over_ground_unit
::jaiabot::protobuf::DivePacket * mutable_dive()
Quantity course_over_ground_with_units() const
void UnsafeArenaSwap(ContactUpdate *other)
void set_over_ground(double value)
::jaiabot::protobuf::GeographicCoordinate * mutable_end_location()
void set_active_goal(::PROTOBUF_NAMESPACE_ID::int32 value)
Quantity speed_over_ground_with_units() const
void unsafe_arena_set_allocated_speed(::jaiabot::protobuf::BotStatus_Speed *speed)
boost::units::quantity< end_time_unit, google::protobuf::uint64 > end_time_with_units() const
boost::units::unit< speed_dimension, boost::units::si::system > speed_unit
void set_start_time(::PROTOBUF_NAMESPACE_ID::uint64 value)
static bool BottomType_Parse(const std::string &name, BottomType *value)
::jaiabot::protobuf::GeographicCoordinate * mutable_hub_location()
static bool BottomType_IsValid(int value)
void set_mission_state(::jaiabot::protobuf::MissionState value)
void set_speed_over_ground(double value)
boost::units::unit< over_ground_dimension, boost::units::si::system > over_ground_unit
void CopyFrom(const Command &from)
Quantity max_acceleration_with_units() const
DriftPacket_EstimatedDrift * New() const final
boost::units::quantity< dive_rate_unit, double > dive_rate_with_units() const
boost::units::quantity< mean_depth_unit, double > mean_depth_with_units() const
static const TaskPacket * internal_default_instance()
::jaiabot::protobuf::MissionPlan * unsafe_arena_release_plan()
boost::units::temperature_dimension mean_temperature_dimension
void set_hub_id(::PROTOBUF_NAMESPACE_ID::uint32 value)
void set_speed_with_units(Quantity value_w_units)
boost::units::quantity< unpowered_rise_rate_unit, double > unpowered_rise_rate_with_units() const
Command & operator=(const Command &from)
Definition: jaia_dccl.pb.h:257
void unsafe_arena_set_allocated_end_location(::jaiabot::protobuf::GeographicCoordinate *end_location)
void Swap(TaskPacket *other)
void set_allocated_estimated_drift(::jaiabot::protobuf::DriftPacket_EstimatedDrift *estimated_drift)
void unsafe_arena_set_allocated_attitude(::jaiabot::protobuf::BotStatus_Attitude *attitude)
void set_depth_achieved_with_units(Quantity value_w_units)
boost::units::unit< pitch_dimension, boost::units::degree::system > pitch_unit
boost::units::unit< active_goal_timeout_dimension, boost::units::si::system > active_goal_timeout_unit
CommandForHub(const CommandForHub &from)
friend void swap(DivePacket_Measurements &a, DivePacket_Measurements &b)
DivePacket_Measurements(::PROTOBUF_NAMESPACE_ID::Arena *arena)
BotStatus_Speed * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
static const DivePacket & default_instance()
boost::units::quantity< over_ground_unit, double > over_ground_with_units() const
void unsafe_arena_set_allocated_estimated_drift(::jaiabot::protobuf::DriftPacket_EstimatedDrift *estimated_drift)
::jaiabot::protobuf::BotStatus_Speed * release_speed()
boost::units::unit< depth_dimension, boost::units::si::system > depth_unit
::PROTOBUF_NAMESPACE_ID::RepeatedField< int > * mutable_error()
void set_allocated_location(::jaiabot::protobuf::GeographicCoordinate *location)
::PROTOBUF_NAMESPACE_ID::int32 repeat_index() const
boost::units::velocity_dimension dive_rate_dimension
::jaiabot::protobuf::GeographicCoordinate * unsafe_arena_release_hub_location()
::jaiabot::protobuf::CommandForHub_HubCommandType type() const
void unsafe_arena_set_allocated_dive(::jaiabot::protobuf::DivePacket *dive)
BotStatus & operator=(BotStatus &&from) noexcept
void CopyFrom(const BotStatus_Speed &from)
void Swap(DriftPacket *other)
DivePacket & operator=(const DivePacket &from)
Command_CommandType CommandType
Definition: jaia_dccl.pb.h:369
boost::units::make_scaled_unit< boost::units::unit< time_dimension, boost::units::si::system >, boost::units::scale< 10, boost::units::static_rational<-6 > > >::type time_unit
Definition: jaia_dccl.pb.h:557
DriftPacket_EstimatedDrift EstimatedDrift
DriftPacket & operator=(DriftPacket &&from) noexcept
boost::units::quantity< speed_unit, double > speed_with_units() const
::PROTOBUF_NAMESPACE_ID::uint32 hub_id() const
void UnsafeArenaSwap(BotStatus_Speed *other)
::jaiabot::protobuf::GeographicCoordinate * release_hub_location()
DriftPacket_EstimatedDrift(::PROTOBUF_NAMESPACE_ID::Arena *arena)
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: jaia_dccl.pb.h:277
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_jaiabot_2fmessages_2fjaia_5fdccl_2eproto
constexpr goby::middleware::Group salinity
Definition: groups.h:45
MissionTaskDefaultTypeInternal _MissionTask_default_instance_
constexpr Command_CommandType Command_CommandType_CommandType_MAX
Definition: jaia_dccl.pb.h:154
bool BotStatus_BotType_IsValid(int value)
constexpr DivePacket_BottomType DivePacket_BottomType_BottomType_MAX
Definition: jaia_dccl.pb.h:226
const std::string & Command_CommandType_Name(T enum_t_value)
Definition: jaia_dccl.pb.h:159
BotStatus_SpeedDefaultTypeInternal _BotStatus_Speed_default_instance_
bool CommandForHub_HubCommandType_IsValid(int value)
constexpr int CommandForHub_HubCommandType_HubCommandType_ARRAYSIZE
Definition: jaia_dccl.pb.h:181
constexpr int DivePacket_BottomType_BottomType_ARRAYSIZE
Definition: jaia_dccl.pb.h:227
constexpr BotStatus_BotType BotStatus_BotType_BotType_MAX
Definition: jaia_dccl.pb.h:203
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * BotStatus_BotType_descriptor()
const std::string & BotStatus_BotType_Name(T enum_t_value)
Definition: jaia_dccl.pb.h:208
MissionPlanDefaultTypeInternal _MissionPlan_default_instance_
bool DivePacket_BottomType_IsValid(int value)
bool Error_IsValid(int value)
constexpr int Command_CommandType_CommandType_ARRAYSIZE
Definition: jaia_dccl.pb.h:155
DriftPacket_EstimatedDriftDefaultTypeInternal _DriftPacket_EstimatedDrift_default_instance_
const std::string & DivePacket_BottomType_Name(T enum_t_value)
Definition: jaia_dccl.pb.h:231
constexpr CommandForHub_HubCommandType CommandForHub_HubCommandType_HubCommandType_MAX
Definition: jaia_dccl.pb.h:180
bool BotStatus_BotType_Parse(const std::string &name, BotStatus_BotType *value)
Definition: jaia_dccl.pb.h:215
TaskPacketDefaultTypeInternal _TaskPacket_default_instance_
RemoteControlDefaultTypeInternal _RemoteControl_default_instance_
ContactUpdateDefaultTypeInternal _ContactUpdate_default_instance_
@ CommandForHub_HubCommandType_RESTART_ALL_SERVICES
Definition: jaia_dccl.pb.h:173
@ CommandForHub_HubCommandType_REBOOT_COMPUTER
Definition: jaia_dccl.pb.h:174
@ CommandForHub_HubCommandType_SET_HUB_LOCATION
Definition: jaia_dccl.pb.h:176
@ CommandForHub_HubCommandType_SCAN_FOR_BOTS
Definition: jaia_dccl.pb.h:172
@ CommandForHub_HubCommandType_SHUTDOWN_COMPUTER
Definition: jaia_dccl.pb.h:175
CommandDefaultTypeInternal _Command_default_instance_
DivePacket_MeasurementsDefaultTypeInternal _DivePacket_Measurements_default_instance_
bool CommandForHub_HubCommandType_Parse(const std::string &name, CommandForHub_HubCommandType *value)
Definition: jaia_dccl.pb.h:192
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * CommandForHub_HubCommandType_descriptor()
constexpr int BotStatus_BotType_BotType_ARRAYSIZE
Definition: jaia_dccl.pb.h:204
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * DivePacket_BottomType_descriptor()
DivePacketDefaultTypeInternal _DivePacket_default_instance_
bool MissionTask_TaskType_IsValid(int value)
bool DivePacket_BottomType_Parse(const std::string &name, DivePacket_BottomType *value)
Definition: jaia_dccl.pb.h:238
DriftPacketDefaultTypeInternal _DriftPacket_default_instance_
bool Link_IsValid(int value)
GeographicCoordinateDefaultTypeInternal _GeographicCoordinate_default_instance_
@ Command_CommandType_REMOTE_CONTROL_TASK
Definition: jaia_dccl.pb.h:141
@ Command_CommandType_RETRY_DATA_OFFLOAD
Definition: jaia_dccl.pb.h:145
@ Command_CommandType_REBOOT_COMPUTER
Definition: jaia_dccl.pb.h:149
@ Command_CommandType_RETURN_TO_HOME
Definition: jaia_dccl.pb.h:136
@ Command_CommandType_MISSION_PLAN_FRAGMENT
Definition: jaia_dccl.pb.h:134
@ Command_CommandType_START_MISSION
Definition: jaia_dccl.pb.h:133
@ Command_CommandType_REMOTE_CONTROL_RESUME_MOVEMENT
Definition: jaia_dccl.pb.h:142
@ Command_CommandType_SHUTDOWN_COMPUTER
Definition: jaia_dccl.pb.h:150
@ Command_CommandType_DATA_OFFLOAD_COMPLETE
Definition: jaia_dccl.pb.h:146
@ Command_CommandType_REMOTE_CONTROL_SETPOINT
Definition: jaia_dccl.pb.h:140
@ Command_CommandType_MISSION_PLAN
Definition: jaia_dccl.pb.h:131
@ Command_CommandType_DATA_OFFLOAD_FAILED
Definition: jaia_dccl.pb.h:147
@ Command_CommandType_RESTART_ALL_SERVICES
Definition: jaia_dccl.pb.h:148
constexpr DivePacket_BottomType DivePacket_BottomType_BottomType_MIN
Definition: jaia_dccl.pb.h:225
bool Command_CommandType_Parse(const std::string &name, Command_CommandType *value)
Definition: jaia_dccl.pb.h:166
constexpr BotStatus_BotType BotStatus_BotType_BotType_MIN
Definition: jaia_dccl.pb.h:202
BotStatusDefaultTypeInternal _BotStatus_default_instance_
bool Command_CommandType_IsValid(int value)
bool Warning_IsValid(int value)
const std::string & CommandForHub_HubCommandType_Name(T enum_t_value)
Definition: jaia_dccl.pb.h:185
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * Command_CommandType_descriptor()
CommandForHubDefaultTypeInternal _CommandForHub_default_instance_
bool IMUCalibrationState_IsValid(int value)
bool MissionState_IsValid(int value)
constexpr CommandForHub_HubCommandType CommandForHub_HubCommandType_HubCommandType_MIN
Definition: jaia_dccl.pb.h:179
BotStatus_AttitudeDefaultTypeInternal _BotStatus_Attitude_default_instance_
constexpr Command_CommandType Command_CommandType_CommandType_MIN
Definition: jaia_dccl.pb.h:153
static const ::PROTOBUF_NAMESPACE_ID::uint32 offsets[]
Definition: jaia_dccl.pb.h:74
static const ::PROTOBUF_NAMESPACE_ID::internal::AuxillaryParseTableField aux[] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[]
Definition: jaia_dccl.pb.h:73
static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[]
Definition: jaia_dccl.pb.h:72
static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[11] PROTOBUF_SECTION_VARIABLE(protodesc_cold)