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