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