4#ifndef GOOGLE_PROTOBUF_INCLUDED_goby_2fapps_2fmiddleware_2fgoby_5ftool_2ftool_2eproto 
    5#define GOOGLE_PROTOBUF_INCLUDED_goby_2fapps_2fmiddleware_2fgoby_5ftool_2ftool_2eproto 
   10#include <google/protobuf/port_def.inc> 
   11#if PROTOBUF_VERSION < 3021000 
   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 3021012 < 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/port_undef.inc> 
   23#include <google/protobuf/io/coded_stream.h> 
   25#include <google/protobuf/arenastring.h> 
   26#include <google/protobuf/generated_message_util.h> 
   27#include <google/protobuf/metadata_lite.h> 
   28#include <google/protobuf/generated_message_reflection.h> 
   30#include <google/protobuf/repeated_field.h>   
   31#include <google/protobuf/extension_set.h>   
   32#include <google/protobuf/generated_enum_reflection.h> 
   33#include <google/protobuf/unknown_field_set.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 <google/protobuf/port_def.inc> 
   42#define PROTOBUF_INTERNAL_EXPORT_goby_2fapps_2fmiddleware_2fgoby_5ftool_2ftool_2eproto 
   43PROTOBUF_NAMESPACE_OPEN
 
   47PROTOBUF_NAMESPACE_CLOSE
 
   59struct GobyToolConfigDefaultTypeInternal;
 
   65PROTOBUF_NAMESPACE_OPEN
 
   67PROTOBUF_NAMESPACE_CLOSE
 
   88  static_assert(::std::is_same<T, GobyToolConfig_Action>::value ||
 
   89    ::std::is_integral<T>::value,
 
   90    "Incorrect type passed to function GobyToolConfig_Action_Name.");
 
   91  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
 
 
   96  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<GobyToolConfig_Action>(
 
 
  102    public ::PROTOBUF_NAMESPACE_ID::Message  {
 
  106  explicit PROTOBUF_CONSTEXPR 
GobyToolConfig(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
 
  111    *
this = ::std::move(from);
 
 
  119    if (
this == &from) 
return *
this;
 
  120    if (GetOwningArena() == from.GetOwningArena()
 
  121  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
 
  122        && GetOwningArena() != 
nullptr 
 
  133    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
 
 
  136    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
 
 
  139  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* 
descriptor() {
 
 
  162    if (other == 
this) 
return;
 
  163  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP 
  164    if (GetOwningArena() != 
nullptr &&
 
  165        GetOwningArena() == other->GetOwningArena()) {
 
  167    if (GetOwningArena() == other->GetOwningArena()) {
 
  171      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(
this, other);
 
 
  175    if (other == 
this) 
return;
 
  176    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
 
 
  183    return CreateMaybeMessage<GobyToolConfig>(arena);
 
 
  185  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
 
  187  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
 
  189    GobyToolConfig::MergeImpl(*
this, from);
 
 
  192  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
 
  194  PROTOBUF_ATTRIBUTE_REINITIALIZES 
void Clear() final;
 
  200      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
 
  204  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, 
bool is_message_owned);
 
  206  void SetCachedSize(
int size) 
const final;
 
  210  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
 
  211  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
 
  212    return "goby.apps.middleware.protobuf.GobyToolConfig";
 
  216                       bool is_message_owned = 
false);
 
  220  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*
GetClassData() const final;
 
  246  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
 
  252    static_assert(::std::is_same<T, Action>::value ||
 
  253      ::std::is_integral<T>::value,
 
  254      "Incorrect type passed to function Action_Name.");
 
 
  257  static inline bool Action_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
 
 
  271  bool _internal_has_app() 
const;
 
  274  const ::goby::middleware::protobuf::AppConfig& 
app() 
const;
 
  275  PROTOBUF_NODISCARD ::goby::middleware::protobuf::AppConfig* 
release_app();
 
  279  const ::goby::middleware::protobuf::AppConfig& _internal_app() 
const;
 
  289  bool _internal_has_action() 
const;
 
  303  template <
typename T> 
friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
 
  304  typedef void InternalArenaConstructable_;
 
  305  typedef void DestructorSkippable_;
 
  307    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
 
  308    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
 
  313  friend struct ::TableStruct_goby_2fapps_2fmiddleware_2fgoby_5ftool_2ftool_2eproto;
 
 
  321  #pragma GCC diagnostic push 
  322  #pragma GCC diagnostic ignored "-Wstrict-aliasing" 
  327inline bool GobyToolConfig::_internal_has_app()
 const {
 
  328  bool value = (
_impl_._has_bits_[0] & 0x00000001u) != 0;
 
  329  PROTOBUF_ASSUME(!value || 
_impl_.app_ != 
nullptr);
 
  333  return _internal_has_app();
 
 
  335inline const ::goby::middleware::protobuf::AppConfig& GobyToolConfig::_internal_app()
 const {
 
  336  const ::goby::middleware::protobuf::AppConfig* p = 
_impl_.app_;
 
  342  return _internal_app();
 
 
  346  if (GetArenaForAllocation() == 
nullptr) {
 
  347    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*
>(
_impl_.app_);
 
  351    _impl_._has_bits_[0] |= 0x00000001u;
 
  353    _impl_._has_bits_[0] &= ~0x00000001u;
 
 
  358  _impl_._has_bits_[0] &= ~0x00000001u;
 
  361#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE 
  362  auto* old =  
reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*
>(temp);
 
  363  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
 
  364  if (GetArenaForAllocation() == 
nullptr) { 
delete old; }
 
  366  if (GetArenaForAllocation() != 
nullptr) {
 
  367    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
 
 
  374  _impl_._has_bits_[0] &= ~0x00000001u;
 
 
  379inline ::goby::middleware::protobuf::AppConfig* GobyToolConfig::_internal_mutable_app() {
 
  380  _impl_._has_bits_[0] |= 0x00000001u;
 
  381  if (
_impl_.app_ == 
nullptr) {
 
  393  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
 
  394  if (message_arena == 
nullptr) {
 
  395    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*
>(
_impl_.app_);
 
  398    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
 
  399        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(
 
  400                reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*
>(
app));
 
  401    if (message_arena != submessage_arena) {
 
  402      app = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
 
  403          message_arena, 
app, submessage_arena);
 
  405    _impl_._has_bits_[0] |= 0x00000001u;
 
  407    _impl_._has_bits_[0] &= ~0x00000001u;
 
 
  414inline bool GobyToolConfig::_internal_has_action()
 const {
 
  415  bool value = (
_impl_._has_bits_[0] & 0x00000002u) != 0;
 
  419  return _internal_has_action();
 
 
  423  _impl_._has_bits_[0] &= ~0x00000002u;
 
 
  425inline ::goby::apps::middleware::protobuf::GobyToolConfig_Action GobyToolConfig::_internal_action()
 const {
 
  430  return _internal_action();
 
 
  434  _impl_._has_bits_[0] |= 0x00000002u;
 
  438  _internal_set_action(value);
 
 
  443  #pragma GCC diagnostic pop 
  453PROTOBUF_NAMESPACE_OPEN
 
  458  return ::goby::apps::middleware::protobuf::GobyToolConfig_Action_descriptor();
 
 
  461PROTOBUF_NAMESPACE_CLOSE
 
  465#include <google/protobuf/port_undef.inc> 
PROTOBUF_NAMESPACE_OPEN ::goby::middleware::protobuf::AppConfig * Arena::CreateMaybeMessage<::goby::middleware::protobuf::AppConfig >(Arena *)
 
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * GobyToolConfig_Action_descriptor()
 
constexpr int GobyToolConfig_Action_Action_ARRAYSIZE
 
const std::string & GobyToolConfig_Action_Name(T enum_t_value)
 
@ GobyToolConfig_Action_protobuf
 
@ GobyToolConfig_Action_launch
 
@ GobyToolConfig_Action_help
 
@ GobyToolConfig_Action_zeromq
 
@ GobyToolConfig_Action_log
 
bool GobyToolConfig_Action_IsValid(int value)
 
constexpr GobyToolConfig_Action GobyToolConfig_Action_Action_MIN
 
constexpr GobyToolConfig_Action GobyToolConfig_Action_Action_MAX
 
GobyToolConfigDefaultTypeInternal _GobyToolConfig_default_instance_
 
bool GobyToolConfig_Action_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, GobyToolConfig_Action *value)
 
AppConfigDefaultTypeInternal _AppConfig_default_instance_
 
The global namespace for the Goby project.