4 #ifndef PROTOBUF_INCLUDED_jaiabot_2fmessages_2flow_5fcontrol_2eproto
5 #define PROTOBUF_INCLUDED_jaiabot_2fmessages_2flow_5fcontrol_2eproto
9 #include <google/protobuf/stubs/common.h>
11 #if GOOGLE_PROTOBUF_VERSION < 3006001
12 #error This file was generated by a newer version of protoc which is
13 #error incompatible with your Protocol Buffer headers. Please update
16 #if 3006001 < GOOGLE_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.
22 #include <google/protobuf/io/coded_stream.h>
23 #include <google/protobuf/arena.h>
24 #include <google/protobuf/arenastring.h>
25 #include <google/protobuf/generated_message_table_driven.h>
26 #include <google/protobuf/generated_message_util.h>
27 #include <google/protobuf/inlined_string_field.h>
28 #include <google/protobuf/metadata.h>
29 #include <google/protobuf/message.h>
30 #include <google/protobuf/repeated_field.h>
31 #include <google/protobuf/extension_set.h>
32 #include <google/protobuf/unknown_field_set.h>
33 #include "dccl/option_extensions.pb.h"
36 #include <boost/units/quantity.hpp>
37 #include <boost/units/absolute.hpp>
38 #include <boost/units/dimensionless_type.hpp>
39 #include <boost/units/make_scaled_unit.hpp>
41 #include <boost/units/systems/si.hpp>
43 #define PROTOBUF_INTERNAL_EXPORT_protobuf_jaiabot_2fmessages_2flow_5fcontrol_2eproto
48 static const ::google::protobuf::internal::ParseTableField
entries[];
49 static const ::google::protobuf::internal::AuxillaryParseTableField
aux[];
50 static const ::google::protobuf::internal::ParseTable
schema[2];
53 static const ::google::protobuf::uint32
offsets[];
60 class LowControlDefaultTypeInternal;
63 class LowControlAckDefaultTypeInternal;
92 *
this = ::std::move(from);
96 if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
97 if (
this != &from) InternalSwap(&from);
105 return _internal_metadata_.unknown_fields();
108 return _internal_metadata_.mutable_unknown_fields();
111 static const ::google::protobuf::Descriptor*
descriptor();
130 return CreateMaybeMessage<LowControl>(NULL);
134 return CreateMaybeMessage<LowControl>(arena);
136 void CopyFrom(const ::google::protobuf::Message& from)
final;
137 void MergeFrom(const ::google::protobuf::Message& from)
final;
145 ::
google::protobuf::io::CodedInputStream* input) final;
147 ::
google::protobuf::io::CodedOutputStream* output) const final;
149 bool deterministic, ::
google::protobuf::uint8* target) const final;
155 void SetCachedSize(
int size)
const final;
158 inline ::google::protobuf::Arena* GetArenaNoVirtual()
const {
161 inline void* MaybeArenaPtr()
const {
166 ::google::protobuf::Metadata
GetMetadata() const final;
188 ::
google::protobuf::uint32
id() const;
209 template<typename Quantity >
211 {
set_time(boost::units::quantity<time_unit,google::protobuf::uint64 >(value_w_units).value() ); };
213 template<
typename Quantity >
218 {
return time_with_units<boost::units::quantity< time_unit,google::protobuf::uint64 > >(); };
224 void set_has_vehicle();
225 void clear_has_vehicle();
227 void clear_has_time();
228 void set_has_control_surfaces();
229 void clear_has_control_surfaces();
232 size_t RequiredFieldsByteSizeFallback()
const;
234 ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
235 ::google::protobuf::internal::HasBits<1> _has_bits_;
236 mutable ::google::protobuf::internal::CachedSize _cached_size_;
238 ::google::protobuf::uint32 id_;
239 ::google::protobuf::uint32 vehicle_;
240 ::google::protobuf::uint64 time_;
241 friend struct ::protobuf_jaiabot_2fmessages_2flow_5fcontrol_2eproto::TableStruct;
259 *
this = ::std::move(from);
263 if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
264 if (
this != &from) InternalSwap(&from);
272 return _internal_metadata_.unknown_fields();
275 return _internal_metadata_.mutable_unknown_fields();
278 static const ::google::protobuf::Descriptor*
descriptor();
297 return CreateMaybeMessage<LowControlAck>(NULL);
301 return CreateMaybeMessage<LowControlAck>(arena);
303 void CopyFrom(const ::google::protobuf::Message& from)
final;
304 void MergeFrom(const ::google::protobuf::Message& from)
final;
312 ::
google::protobuf::io::CodedInputStream* input) final;
314 ::
google::protobuf::io::CodedOutputStream* output) const final;
316 bool deterministic, ::
google::protobuf::uint8* target) const final;
322 void SetCachedSize(
int size)
const final;
325 inline ::google::protobuf::Arena* GetArenaNoVirtual()
const {
328 inline void* MaybeArenaPtr()
const {
333 ::google::protobuf::Metadata
GetMetadata() const final;
355 ::
google::protobuf::uint32
id() const;
383 double range() const;
390 double speed() const;
404 template<typename Quantity >
406 {
set_time(boost::units::quantity<time_unit,google::protobuf::uint64 >(value_w_units).value() ); };
408 template<
typename Quantity >
413 {
return time_with_units<boost::units::quantity< time_unit,google::protobuf::uint64 > >(); };
417 typedef boost::units::make_scaled_unit<boost::units::unit<command_time_dimension,boost::units::si::system> , boost::units::scale<10, boost::units::static_rational<-6> > >::type
command_time_unit;
419 template<
typename Quantity >
421 {
set_command_time(boost::units::quantity<command_time_unit,google::protobuf::uint64 >(value_w_units).value() ); };
423 template<
typename Quantity >
428 {
return command_time_with_units<boost::units::quantity< command_time_unit,google::protobuf::uint64 > >(); };
430 typedef boost::units::derived_dimension< boost::units::length_base_dimension,1 >::type
range_dimension;
432 typedef boost::units::unit<range_dimension,boost::units::si::system>
range_unit;
434 template<
typename Quantity >
436 {
set_range(boost::units::quantity<range_unit,double >(value_w_units).value() ); };
438 template<
typename Quantity >
443 {
return range_with_units<boost::units::quantity< range_unit,double > >(); };
445 typedef boost::mpl::divides<boost::units::length_dimension,boost::units::time_dimension>::type
speed_dimension;
447 typedef boost::units::unit<speed_dimension,boost::units::si::system>
speed_unit;
449 template<
typename Quantity >
451 {
set_speed(boost::units::quantity<speed_unit,double >(value_w_units).value() ); };
453 template<
typename Quantity >
458 {
return speed_with_units<boost::units::quantity< speed_unit,double > >(); };
460 typedef boost::mpl::divides<boost::units::length_dimension,boost::units::time_dimension>::type
eps_dimension;
462 typedef boost::units::unit<eps_dimension,boost::units::si::system>
eps_unit;
464 template<
typename Quantity >
466 {
set_eps(boost::units::quantity<eps_unit,double >(value_w_units).value() ); };
468 template<
typename Quantity >
473 {
return eps_with_units<boost::units::quantity< eps_unit,double > >(); };
479 void set_has_vehicle();
480 void clear_has_vehicle();
482 void clear_has_time();
483 void set_has_command_time();
484 void clear_has_command_time();
485 void set_has_location();
486 void clear_has_location();
487 void set_has_range();
488 void clear_has_range();
489 void set_has_speed();
490 void clear_has_speed();
492 void clear_has_eps();
495 size_t RequiredFieldsByteSizeFallback()
const;
497 ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
498 ::google::protobuf::internal::HasBits<1> _has_bits_;
499 mutable ::google::protobuf::internal::CachedSize _cached_size_;
501 ::google::protobuf::uint32 id_;
502 ::google::protobuf::uint32 vehicle_;
503 ::google::protobuf::uint64 time_;
504 ::google::protobuf::uint64 command_time_;
508 friend struct ::protobuf_jaiabot_2fmessages_2flow_5fcontrol_2eproto::TableStruct;
516 #pragma GCC diagnostic push
517 #pragma GCC diagnostic ignored "-Wstrict-aliasing"
523 return (_has_bits_[0] & 0x00000002u) != 0;
525 inline void LowControl::set_has_id() {
526 _has_bits_[0] |= 0x00000002u;
528 inline void LowControl::clear_has_id() {
529 _has_bits_[0] &= ~0x00000002u;
547 return (_has_bits_[0] & 0x00000004u) != 0;
549 inline void LowControl::set_has_vehicle() {
550 _has_bits_[0] |= 0x00000004u;
552 inline void LowControl::clear_has_vehicle() {
553 _has_bits_[0] &= ~0x00000004u;
571 return (_has_bits_[0] & 0x00000008u) != 0;
573 inline void LowControl::set_has_time() {
574 _has_bits_[0] |= 0x00000008u;
576 inline void LowControl::clear_has_time() {
577 _has_bits_[0] &= ~0x00000008u;
580 time_ = GOOGLE_ULONGLONG(0);
595 return (_has_bits_[0] & 0x00000001u) != 0;
597 inline void LowControl::set_has_control_surfaces() {
598 _has_bits_[0] |= 0x00000001u;
600 inline void LowControl::clear_has_control_surfaces() {
601 _has_bits_[0] &= ~0x00000001u;
603 inline const ::jaiabot::protobuf::ControlSurfaces& LowControl::_internal_control_surfaces()
const {
604 return *control_surfaces_;
607 const ::jaiabot::protobuf::ControlSurfaces* p = control_surfaces_;
614 clear_has_control_surfaces();
616 control_surfaces_ = NULL;
620 set_has_control_surfaces();
621 if (control_surfaces_ == NULL) {
622 auto* p = CreateMaybeMessage<::jaiabot::protobuf::ControlSurfaces>(GetArenaNoVirtual());
623 control_surfaces_ = p;
626 return control_surfaces_;
629 ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
630 if (message_arena == NULL) {
631 delete reinterpret_cast< ::google::protobuf::MessageLite*
>(control_surfaces_);
634 ::google::protobuf::Arena* submessage_arena = NULL;
635 if (message_arena != submessage_arena) {
639 set_has_control_surfaces();
641 clear_has_control_surfaces();
653 return (_has_bits_[0] & 0x00000002u) != 0;
655 inline void LowControlAck::set_has_id() {
656 _has_bits_[0] |= 0x00000002u;
658 inline void LowControlAck::clear_has_id() {
659 _has_bits_[0] &= ~0x00000002u;
677 return (_has_bits_[0] & 0x00000004u) != 0;
679 inline void LowControlAck::set_has_vehicle() {
680 _has_bits_[0] |= 0x00000004u;
682 inline void LowControlAck::clear_has_vehicle() {
683 _has_bits_[0] &= ~0x00000004u;
701 return (_has_bits_[0] & 0x00000008u) != 0;
703 inline void LowControlAck::set_has_time() {
704 _has_bits_[0] |= 0x00000008u;
706 inline void LowControlAck::clear_has_time() {
707 _has_bits_[0] &= ~0x00000008u;
710 time_ = GOOGLE_ULONGLONG(0);
725 return (_has_bits_[0] & 0x00000010u) != 0;
727 inline void LowControlAck::set_has_command_time() {
728 _has_bits_[0] |= 0x00000010u;
730 inline void LowControlAck::clear_has_command_time() {
731 _has_bits_[0] &= ~0x00000010u;
734 command_time_ = GOOGLE_ULONGLONG(0);
735 clear_has_command_time();
739 return command_time_;
742 set_has_command_time();
743 command_time_ = value;
749 return (_has_bits_[0] & 0x00000001u) != 0;
751 inline void LowControlAck::set_has_location() {
752 _has_bits_[0] |= 0x00000001u;
754 inline void LowControlAck::clear_has_location() {
755 _has_bits_[0] &= ~0x00000001u;
757 inline const ::jaiabot::protobuf::GeographicCoordinate& LowControlAck::_internal_location()
const {
761 const ::jaiabot::protobuf::GeographicCoordinate* p = location_;
768 clear_has_location();
775 if (location_ == NULL) {
776 auto* p = CreateMaybeMessage<::jaiabot::protobuf::GeographicCoordinate>(GetArenaNoVirtual());
783 ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
784 if (message_arena == NULL) {
785 delete reinterpret_cast< ::google::protobuf::MessageLite*
>(location_);
788 ::google::protobuf::Arena* submessage_arena = NULL;
789 if (message_arena != submessage_arena) {
790 location = ::google::protobuf::internal::GetOwnedMessage(
791 message_arena,
location, submessage_arena);
795 clear_has_location();
803 return (_has_bits_[0] & 0x00000020u) != 0;
805 inline void LowControlAck::set_has_range() {
806 _has_bits_[0] |= 0x00000020u;
808 inline void LowControlAck::clear_has_range() {
809 _has_bits_[0] &= ~0x00000020u;
827 return (_has_bits_[0] & 0x00000040u) != 0;
829 inline void LowControlAck::set_has_speed() {
830 _has_bits_[0] |= 0x00000040u;
832 inline void LowControlAck::clear_has_speed() {
833 _has_bits_[0] &= ~0x00000040u;
851 return (_has_bits_[0] & 0x00000080u) != 0;
853 inline void LowControlAck::set_has_eps() {
854 _has_bits_[0] |= 0x00000080u;
856 inline void LowControlAck::clear_has_eps() {
857 _has_bits_[0] &= ~0x00000080u;
874 #pragma GCC diagnostic pop
886 #endif // PROTOBUF_INCLUDED_jaiabot_2fmessages_2flow_5fcontrol_2eproto