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