text: // Generated by the protocol buffer compiler.  DO NOT EDIT!
  // source: action/action.proto
  
  #ifndef GOOGLE_PROTOBUF_INCLUDED_action_2faction_2eproto
  #define GOOGLE_PROTOBUF_INCLUDED_action_2faction_2eproto
  
  #include <limits>
  #include <string>
  
  #include <google/protobuf/port_def.inc>
  #if PROTOBUF_VERSION < 3015000
  #error This file was generated by a newer version of protoc which is
  #error incompatible with your Protocol Buffer headers. Please update
  #error your headers.
  #endif
  #if 3015003 < PROTOBUF_MIN_PROTOC_VERSION
  #error This file was generated by an older version of protoc which is
  #error incompatible with your Protocol Buffer headers. Please
  #error regenerate this file with a newer version of protoc.
  #endif
  
  #include <google/protobuf/port_undef.inc>
  #include <google/protobuf/io/coded_stream.h>
  #include <google/protobuf/arena.h>
  #include <google/protobuf/arenastring.h>
  #include <google/protobuf/generated_message_table_driven.h>
  #include <google/protobuf/generated_message_util.h>
  #include <google/protobuf/metadata_lite.h>
  #include <google/protobuf/generated_message_reflection.h>
  #include <google/protobuf/message.h>
  #include <google/protobuf/repeated_field.h>  // IWYU pragma: export
  #include <google/protobuf/extension_set.h>  // IWYU pragma: export
  #include <google/protobuf/generated_enum_reflection.h>
  #include <google/protobuf/unknown_field_set.h>
  #include "mavsdk_options.pb.h"
  // @@protoc_insertion_point(includes)
  #include <google/protobuf/port_def.inc>
  #define PROTOBUF_INTERNAL_EXPORT_action_2faction_2eproto
  PROTOBUF_NAMESPACE_OPEN
  namespace internal {
  class AnyMetadata;
  }  // namespace internal
  PROTOBUF_NAMESPACE_CLOSE
  
  // Internal implementation detail -- do not use these members.
  struct TableStruct_action_2faction_2eproto {
    static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[]
      PROTOBUF_SECTION_VARIABLE(protodesc_cold);
    static const ::PROTOBUF_NAMESPACE_ID::internal::AuxiliaryParseTableField aux[]
      PROTOBUF_SECTION_VARIABLE(protodesc_cold);
    static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[41]
      PROTOBUF_SECTION_VARIABLE(protodesc_cold);
    static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[];
    static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[];
    static const ::PROTOBUF_NAMESPACE_ID::uint32 offsets[];
  };
  extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_action_2faction_2eproto;
  ::PROTOBUF_NAMESPACE_ID::Metadata descriptor_table_action_2faction_2eproto_metadata_getter(int index);
  namespace mavsdk {
  namespace rpc {
  namespace action {
  class ActionResult;
  struct ActionResultDefaultTypeInternal;
  extern ActionResultDefaultTypeInternal _ActionResult_default_instance_;
  class ArmRequest;
  struct ArmRequestDefaultTypeInternal;
  extern ArmRequestDefaultTypeInternal _ArmRequest_default_instance_;
  class ArmResponse;
  struct ArmResponseDefaultTypeInternal;
  extern ArmResponseDefaultTypeInternal _ArmResponse_default_instance_;
  class DisarmRequest;
  struct DisarmRequestDefaultTypeInternal;
  extern DisarmRequestDefaultTypeInternal _DisarmRequest_default_instance_;
  class DisarmResponse;
  struct DisarmResponseDefaultTypeInternal;
  extern DisarmResponseDefaultTypeInternal _DisarmResponse_default_instance_;
  class DoOrbitRequest;
  struct DoOrbitRequestDefaultTypeInternal;
  extern DoOrbitRequestDefaultTypeInternal _DoOrbitRequest_default_instance_;
  class DoOrbitResponse;
  struct DoOrbitResponseDefaultTypeInternal;
  extern DoOrbitResponseDefaultTypeInternal _DoOrbitResponse_default_instance_;
  class GetMaximumSpeedRequest;
  struct GetMaximumSpeedRequestDefaultTypeInternal;
  extern GetMaximumSpeedRequestDefaultTypeInternal _GetMaximumSpeedRequest_default_instance_;
  class GetMaximumSpeedResponse;
  struct GetMaximumSpeedResponseDefaultTypeInternal;
  extern GetMaximumSpeedResponseDefaultTypeInternal _GetMaximumSpeedResponse_default_instance_;
  class GetReturnToLaunchAltitudeRequest;
  struct GetReturnToLaunchAltitudeRequestDefaultTypeInternal;
  extern GetReturnToLaunchAltitudeRequestDefaultTypeInternal _GetReturnToLaunchAltitudeRequest_default_instance_;
  class GetReturnToLaunchAltitudeResponse;
  struct GetReturnToLaunchAltitudeResponseDefaultTypeInternal;
  extern GetReturnToLaunchAltitudeResponseDefaultTypeInternal _GetReturnToLaunchAltitudeResponse_default_instance_;
  class GetTakeoffAltitudeRequest;
  struct GetTakeoffAltitudeRequestDefaultTypeInternal;
  extern GetTakeoffAltitudeRequestDefaultTypeInternal _GetTakeoffAltitudeRequest_default_instance_;
  class GetTakeoffAltitudeResponse;
  struct GetTakeoffAltitudeResponseDefaultTypeInternal;
  extern GetTakeoffAltitudeResponseDefaultTypeInternal _GetTakeoffAltitudeResponse_default_instance_;
  class GotoLocationRequest;
  struct GotoLocationRequestDefaultTypeInternal;
  extern GotoLocationRequestDefaultTypeInternal _GotoLocationRequest_default_instance_;
  class GotoLocationResponse;
  struct GotoLocationResponseDefaultTypeInternal;
  extern GotoLocationResponseDefaultTypeInternal _GotoLocationResponse_default_instance_;
  class HoldRequest;
  struct HoldRequestDefaultTypeInternal;
  extern HoldRequestDefaultTypeInternal _HoldRequest_default_instance_;
  class HoldResponse;
  struct HoldResponseDefaultTypeInternal;
  extern HoldResponseDefaultTypeInternal _HoldResponse_default_instance_;
  class KillRequest;
  struct KillRequestDefaultTypeInternal;
  extern KillRequestDefaultTypeInternal _KillRequest_default_instance_;
  class KillResponse;
  struct KillResponseDefaultTypeInternal;
  extern KillResponseDefaultTypeInternal _KillResponse_default_instance_;
  class LandRequest;
  struct LandRequestDefaultTypeInternal;
  extern LandRequestDefaultTypeInternal _LandRequest_default_instance_;
  class LandResponse;
  struct LandResponseDefaultTypeInternal;
  extern LandResponseDefaultTypeInternal _LandResponse_default_instance_;
  class RebootRequest;
  struct RebootRequestDefaultTypeInternal;
  extern RebootRequestDefaultTypeInternal _RebootRequest_default_instance_;
  class RebootResponse;
  struct RebootResponseDefaultTypeInternal;
  extern RebootResponseDefaultTypeInternal _RebootResponse_default_instance_;
  class ReturnToLaunchRequest;
  struct ReturnToLaunchRequestDefaultTypeInternal;
  extern ReturnToLaunchRequestDefaultTypeInternal _ReturnToLaunchRequest_default_instance_;
  class ReturnToLaunchResponse;
  struct ReturnToLaunchResponseDefaultTypeInternal;
  extern ReturnToLaunchResponseDefaultTypeInternal _ReturnToLaunchResponse_default_instance_;
  class SetMaximumSpeedRequest;
  struct SetMaximumSpeedRequestDefaultTypeInternal;
  extern SetMaximumSpeedRequestDefaultTypeInternal _SetMaximumSpeedRequest_default_instance_;
  class SetMaximumSpeedResponse;
  struct SetMaximumSpeedResponseDefaultTypeInternal;
  extern SetMaximumSpeedResponseDefaultTypeInternal _SetMaximumSpeedResponse_default_instance_;
  class SetReturnToLaunchAltitudeRequest;
  struct SetReturnToLaunchAltitudeRequestDefaultTypeInternal;
  extern SetReturnToLaunchAltitudeRequestDefaultTypeInternal _SetReturnToLaunchAltitudeRequest_default_instance_;
  class SetReturnToLaunchAltitudeResponse;
  struct SetReturnToLaunchAltitudeResponseDefaultTypeInternal;
  extern SetReturnToLaunchAltitudeResponseDefaultTypeInternal _SetReturnToLaunchAltitudeResponse_default_instance_;
  class SetTakeoffAltitudeRequest;
  struct SetTakeoffAltitudeRequestDefaultTypeInternal;
  extern SetTakeoffAltitudeRequestDefaultTypeInternal _SetTakeoffAltitudeRequest_default_instance_;
  class SetTakeoffAltitudeResponse;
  struct SetTakeoffAltitudeResponseDefaultTypeInternal;
  extern SetTakeoffAltitudeResponseDefaultTypeInternal _SetTakeoffAltitudeResponse_default_instance_;
  class ShutdownRequest;
  struct ShutdownRequestDefaultTypeInternal;
  extern ShutdownRequestDefaultTypeInternal _ShutdownRequest_default_instance_;
  class ShutdownResponse;
  struct ShutdownResponseDefaultTypeInternal;
  extern ShutdownResponseDefaultTypeInternal _ShutdownResponse_default_instance_;
  class TakeoffRequest;
  struct TakeoffRequestDefaultTypeInternal;
  extern TakeoffRequestDefaultTypeInternal _TakeoffRequest_default_instance_;
  class TakeoffResponse;
  struct TakeoffResponseDefaultTypeInternal;
  extern TakeoffResponseDefaultTypeInternal _TakeoffResponse_default_instance_;
  class TerminateRequest;
  struct TerminateRequestDefaultTypeInternal;
  extern TerminateRequestDefaultTypeInternal _TerminateRequest_default_instance_;
  class TerminateResponse;
  struct TerminateResponseDefaultTypeInternal;
  extern TerminateResponseDefaultTypeInternal _TerminateResponse_default_instance_;
  class TransitionToFixedwingRequest;
  struct TransitionToFixedwingRequestDefaultTypeInternal;
  extern TransitionToFixedwingRequestDefaultTypeInternal _TransitionToFixedwingRequest_default_instance_;
  class TransitionToFixedwingResponse;
  struct TransitionToFixedwingResponseDefaultTypeInternal;
  extern TransitionToFixedwingResponseDefaultTypeInternal _TransitionToFixedwingResponse_default_instance_;
  class TransitionToMulticopterRequest;
  struct TransitionToMulticopterRequestDefaultTypeInternal;
  extern TransitionToMulticopterRequestDefaultTypeInternal _TransitionToMulticopterRequest_default_instance_;
  class TransitionToMulticopterResponse;
  struct TransitionToMulticopterResponseDefaultTypeInternal;
  extern TransitionToMulticopterResponseDefaultTypeInternal _TransitionToMulticopterResponse_default_instance_;
  }  // namespace action
  }  // namespace rpc
  }  // namespace mavsdk
  PROTOBUF_NAMESPACE_OPEN
  template<> ::mavsdk::rpc::action::ActionResult* Arena::CreateMaybeMessage<::mavsdk::rpc::action::ActionResult>(Arena*);
  template<> ::mavsdk::rpc::action::ArmRequest* Arena::CreateMaybeMessage<::mavsdk::rpc::action::ArmRequest>(Arena*);
  template<> ::mavsdk::rpc::action::ArmResponse* Arena::CreateMaybeMessage<::mavsdk::rpc::action::ArmResponse>(Arena*);
  template<> ::mavsdk::rpc::action::DisarmRequest* Arena::CreateMaybeMessage<::mavsdk::rpc::action::DisarmRequest>(Arena*);
  template<> ::mavsdk::rpc::action::DisarmResponse* Arena::CreateMaybeMessage<::mavsdk::rpc::action::DisarmResponse>(Arena*);
  template<> ::mavsdk::rpc::action::DoOrbitRequest* Arena::CreateMaybeMessage<::mavsdk::rpc::action::DoOrbitRequest>(Arena*);
  template<> ::mavsdk::rpc::action::DoOrbitResponse* Arena::CreateMaybeMessage<::mavsdk::rpc::action::DoOrbitResponse>(Arena*);
  template<> ::mavsdk::rpc::action::GetMaximumSpeedRequest* Arena::CreateMaybeMessage<::mavsdk::rpc::action::GetMaximumSpeedRequest>(Arena*);
  template<> ::mavsdk::rpc::action::GetMaximumSpeedResponse* Arena::CreateMaybeMessage<::mavsdk::rpc::action::GetMaximumSpeedResponse>(Arena*);
  template<> ::mavsdk::rpc::action::GetReturnToLaunchAltitudeRequest* Arena::CreateMaybeMessage<::mavsdk::rpc::action::GetReturnToLaunchAltitudeRequest>(Arena*);
  template<> ::mavsdk::rpc::action::GetReturnToLaunchAltitudeResponse* Arena::CreateMaybeMessage<::mavsdk::rpc::action::GetReturnToLaunchAltitudeResponse>(Arena*);
  template<> ::mavsdk::rpc::action::GetTakeoffAltitudeRequest* Arena::CreateMaybeMessage<::mavsdk::rpc::action::GetTakeoffAltitudeRequest>(Arena*);
  template<> ::mavsdk::rpc::action::GetTakeoffAltitudeResponse* Arena::CreateMaybeMessage<::mavsdk::rpc::action::GetTakeoffAltitudeResponse>(Arena*);
  template<> ::mavsdk::rpc::action::GotoLocationRequest* Arena::CreateMaybeMessage<::mavsdk::rpc::action::GotoLocationRequest>(Arena*);
  template<> ::mavsdk::rpc::action::GotoLocationResponse* Arena::CreateMaybeMessage<::mavsdk::rpc::action::GotoLocationResponse>(Arena*);
  template<> ::mavsdk::rpc::action::HoldRequest* Arena::CreateMaybeMessage<::mavsdk::rpc::action::HoldRequest>(Arena*);
  template<> ::mavsdk::rpc::action::HoldResponse* Arena::CreateMaybeMessage<::mavsdk::rpc::action::HoldResponse>(Arena*);
  template<> ::mavsdk::rpc::action::KillRequest* Arena::CreateMaybeMessage<::mavsdk::rpc::action::KillRequest>(Arena*);
  template<> ::mavsdk::rpc::action::KillResponse* Arena::CreateMaybeMessage<::mavsdk::rpc::action::KillResponse>(Arena*);
  template<> ::mavsdk::rpc::action::LandRequest* Arena::CreateMaybeMessage<::mavsdk::rpc::action::LandRequest>(Arena*);
  template<> ::mavsdk::rpc::action::LandResponse* Arena::CreateMaybeMessage<::mavsdk::rpc::action::LandResponse>(Arena*);
  template<> ::mavsdk::rpc::action::RebootRequest* Arena::CreateMaybeMessage<::mavsdk::rpc::action::RebootRequest>(Arena*);
  template<> ::mavsdk::rpc::action::RebootResponse* Arena::CreateMaybeMessage<::mavsdk::rpc::action::RebootResponse>(Arena*);
  template<> ::mavsdk::rpc::action::ReturnToLaunchRequest* Arena::CreateMaybeMessage<::mavsdk::rpc::action::ReturnToLaunchRequest>(Arena*);
  template<> ::mavsdk::rpc::action::ReturnToLaunchResponse* Arena::CreateMaybeMessage<::mavsdk::rpc::action::ReturnToLaunchResponse>(Arena*);
  template<> ::mavsdk::rpc::action::SetMaximumSpeedRequest* Arena::CreateMaybeMessage<::mavsdk::rpc::action::SetMaximumSpeedRequest>(Arena*);
  template<> ::mavsdk::rpc::action::SetMaximumSpeedResponse* Arena::CreateMaybeMessage<::mavsdk::rpc::action::SetMaximumSpeedResponse>(Arena*);
  template<> ::mavsdk::rpc::action::SetReturnToLaunchAltitudeRequest* Arena::CreateMaybeMessage<::mavsdk::rpc::action::SetReturnToLaunchAltitudeRequest>(Arena*);
  template<> ::mavsdk::rpc::action::SetReturnToLaunchAltitudeResponse* Arena::CreateMaybeMessage<::mavsdk::rpc::action::SetReturnToLaunchAltitudeResponse>(Arena*);
  template<> ::mavsdk::rpc::action::SetTakeoffAltitudeRequest* Arena::CreateMaybeMessage<::mavsdk::rpc::action::SetTakeoffAltitudeRequest>(Arena*);
  template<> ::mavsdk::rpc::action::SetTakeoffAltitudeResponse* Arena::CreateMaybeMessage<::mavsdk::rpc::action::SetTakeoffAltitudeResponse>(Arena*);
  template<> ::mavsdk::rpc::action::ShutdownRequest* Arena::CreateMaybeMessage<::mavsdk::rpc::action::ShutdownRequest>(Arena*);
  template<> ::mavsdk::rpc::action::ShutdownResponse* Arena::CreateMaybeMessage<::mavsdk::rpc::action::ShutdownResponse>(Arena*);
  template<> ::mavsdk::rpc::action::TakeoffRequest* Arena::CreateMaybeMessage<::mavsdk::rpc::action::TakeoffRequest>(Arena*);
  template<> ::mavsdk::rpc::action::TakeoffResponse* Arena::CreateMaybeMessage<::mavsdk::rpc::action::TakeoffResponse>(Arena*);
  template<> ::mavsdk::rpc::action::TerminateRequest* Arena::CreateMaybeMessage<::mavsdk::rpc::action::TerminateRequest>(Arena*);
  template<> ::mavsdk::rpc::action::TerminateResponse* Arena::CreateMaybeMessage<::mavsdk::rpc::action::TerminateResponse>(Arena*);
  template<> ::mavsdk::rpc::action::TransitionToFixedwingRequest* Arena::CreateMaybeMessage<::mavsdk::rpc::action::TransitionToFixedwingRequest>(Arena*);
  template<> ::mavsdk::rpc::action::TransitionToFixedwingResponse* Arena::CreateMaybeMessage<::mavsdk::rpc::action::TransitionToFixedwingResponse>(Arena*);
  template<> ::mavsdk::rpc::action::TransitionToMulticopterRequest* Arena::CreateMaybeMessage<::mavsdk::rpc::action::TransitionToMulticopterRequest>(Arena*);
  template<> ::mavsdk::rpc::action::TransitionToMulticopterResponse* Arena::CreateMaybeMessage<::mavsdk::rpc::action::TransitionToMulticopterResponse>(Arena*);
  PROTOBUF_NAMESPACE_CLOSE
  namespace mavsdk {
  namespace rpc {
  namespace action {
  
  enum ActionResult_Result : int {
    ActionResult_Result_RESULT_UNKNOWN = 0,
    ActionResult_Result_RESULT_SUCCESS = 1,
    ActionResult_Result_RESULT_NO_SYSTEM = 2,
    ActionResult_Result_RESULT_CONNECTION_ERROR = 3,
    ActionResult_Result_RESULT_BUSY = 4,
    ActionResult_Result_RESULT_COMMAND_DENIED = 5,
    ActionResult_Result_RESULT_COMMAND_DENIED_LANDED_STATE_UNKNOWN = 6,
    ActionResult_Result_RESULT_COMMAND_DENIED_NOT_LANDED = 7,
    ActionResult_Result_RESULT_TIMEOUT = 8,
    ActionResult_Result_RESULT_VTOL_TRANSITION_SUPPORT_UNKNOWN = 9,
    ActionResult_Result_RESULT_NO_VTOL_TRANSITION_SUPPORT = 10,
    ActionResult_Result_RESULT_PARAMETER_ERROR = 11,
    ActionResult_Result_ActionResult_Result_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::PROTOBUF_NAMESPACE_ID::int32>::min(),
    ActionResult_Result_ActionResult_Result_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::PROTOBUF_NAMESPACE_ID::int32>::max()
  };
  bool ActionResult_Result_IsValid(int value);
  constexpr ActionResult_Result ActionResult_Result_Result_MIN = ActionResult_Result_RESULT_UNKNOWN;
  constexpr ActionResult_Result ActionResult_Result_Result_MAX = ActionResult_Result_RESULT_PARAMETER_ERROR;
  constexpr int ActionResult_Result_Result_ARRAYSIZE = ActionResult_Result_Result_MAX + 1;
  
  const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* ActionResult_Result_descriptor();
  template<typename T>
  inline const std::string& ActionResult_Result_Name(T enum_t_value) {
    static_assert(::std::is_same<T, ActionResult_Result>::value ||
      ::std::is_integral<T>::value,
      "Incorrect type passed to function ActionResult_Result_Name.");
    return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
      ActionResult_Result_descriptor(), enum_t_value);
  }
  inline bool ActionResult_Result_Parse(
      ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, ActionResult_Result* value) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<ActionResult_Result>(
      ActionResult_Result_descriptor(), name, value);
  }
  enum OrbitYawBehavior : int {
    ORBIT_YAW_BEHAVIOR_HOLD_FRONT_TO_CIRCLE_CENTER = 0,
    ORBIT_YAW_BEHAVIOR_HOLD_INITIAL_HEADING = 1,
    ORBIT_YAW_BEHAVIOR_UNCONTROLLED = 2,
    ORBIT_YAW_BEHAVIOR_HOLD_FRONT_TANGENT_TO_CIRCLE = 3,
    ORBIT_YAW_BEHAVIOR_RC_CONTROLLED = 4,
    OrbitYawBehavior_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::PROTOBUF_NAMESPACE_ID::int32>::min(),
    OrbitYawBehavior_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::PROTOBUF_NAMESPACE_ID::int32>::max()
  };
  bool OrbitYawBehavior_IsValid(int value);
  constexpr OrbitYawBehavior OrbitYawBehavior_MIN = ORBIT_YAW_BEHAVIOR_HOLD_FRONT_TO_CIRCLE_CENTER;
  constexpr OrbitYawBehavior OrbitYawBehavior_MAX = ORBIT_YAW_BEHAVIOR_RC_CONTROLLED;
  constexpr int OrbitYawBehavior_ARRAYSIZE = OrbitYawBehavior_MAX + 1;
  
  const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* OrbitYawBehavior_descriptor();
  template<typename T>
  inline const std::string& OrbitYawBehavior_Name(T enum_t_value) {
    static_assert(::std::is_same<T, OrbitYawBehavior>::value ||
      ::std::is_integral<T>::value,
      "Incorrect type passed to function OrbitYawBehavior_Name.");
    return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
      OrbitYawBehavior_descriptor(), enum_t_value);
  }
  inline bool OrbitYawBehavior_Parse(
      ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, OrbitYawBehavior* value) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<OrbitYawBehavior>(
      OrbitYawBehavior_descriptor(), name, value);
  }
  // ===================================================================
  
  class ArmRequest PROTOBUF_FINAL :
      public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:mavsdk.rpc.action.ArmRequest) */ {
   public:
    inline ArmRequest() : ArmRequest(nullptr) {}
    virtual ~ArmRequest();
    explicit constexpr ArmRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
  
    ArmRequest(const ArmRequest& from);
    ArmRequest(ArmRequest&& from) noexcept
      : ArmRequest() {
      *this = ::std::move(from);
    }
  
    inline ArmRequest& operator=(const ArmRequest& from) {
      CopyFrom(from);
      return *this;
    }
    inline ArmRequest& operator=(ArmRequest&& from) noexcept {
      if (GetArena() == from.GetArena()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
  
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
      return GetDescriptor();
    }
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
      return GetMetadataStatic().descriptor;
    }
    static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
      return GetMetadataStatic().reflection;
    }
    static const ArmRequest& default_instance() {
      return *internal_default_instance();
    }
    static inline const ArmRequest* internal_default_instance() {
      return reinterpret_cast<const ArmRequest*>(
                 &_ArmRequest_default_instance_);
    }
    static constexpr int kIndexInFileMessages =
      0;
  
    friend void swap(ArmRequest& a, ArmRequest& b) {
      a.Swap(&b);
    }
    inline void Swap(ArmRequest* other) {
      if (other == this) return;
      if (GetArena() == other->GetArena()) {
        InternalSwap(other);
      } else {
        ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
      }
    }
    void UnsafeArenaSwap(ArmRequest* other) {
      if (other == this) return;
      GOOGLE_DCHECK(GetArena() == other->GetArena());
      InternalSwap(other);
    }
  
    // implements Message ----------------------------------------------
  
    inline ArmRequest* New() const final {
      return CreateMaybeMessage<ArmRequest>(nullptr);
    }
  
    ArmRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
      return CreateMaybeMessage<ArmRequest>(arena);
    }
    void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
    void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
    void CopyFrom(const ArmRequest& from);
    void MergeFrom(const ArmRequest& from);
    PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
    bool IsInitialized() const final;
  
    size_t ByteSizeLong() const final;
    const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
    ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
        ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
    int GetCachedSize() const final { return _cached_size_.Get(); }
  
    private:
    inline void SharedCtor();
    inline void SharedDtor();
    void SetCachedSize(int size) const final;
    void InternalSwap(ArmRequest* other);
    friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
    static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
      return "mavsdk.rpc.action.ArmRequest";
    }
    protected:
    explicit ArmRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena);
    private:
    static void ArenaDtor(void* object);
    inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
    public:
  
    ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
    private:
    static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
      return ::descriptor_table_action_2faction_2eproto_metadata_getter(kIndexInFileMessages);
    }
  
    public:
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // @@protoc_insertion_point(class_scope:mavsdk.rpc.action.ArmRequest)
   private:
    class _Internal;
  
    template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
    typedef void InternalArenaConstructable_;
    typedef void DestructorSkippable_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    friend struct ::TableStruct_action_2faction_2eproto;
  };
  // -------------------------------------------------------------------
  
  class ArmResponse PROTOBUF_FINAL :
      public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:mavsdk.rpc.action.ArmResponse) */ {
   public:
    inline ArmResponse() : ArmResponse(nullptr) {}
    virtual ~ArmResponse();
    explicit constexpr ArmResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
  
    ArmResponse(const ArmResponse& from);
    ArmResponse(ArmResponse&& from) noexcept
      : ArmResponse() {
      *this = ::std::move(from);
    }
  
    inline ArmResponse& operator=(const ArmResponse& from) {
      CopyFrom(from);
      return *this;
    }
    inline ArmResponse& operator=(ArmResponse&& from) noexcept {
      if (GetArena() == from.GetArena()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
  
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
      return GetDescriptor();
    }
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
      return GetMetadataStatic().descriptor;
    }
    static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
      return GetMetadataStatic().reflection;
    }
    static const ArmResponse& default_instance() {
      return *internal_default_instance();
    }
    static inline const ArmResponse* internal_default_instance() {
      return reinterpret_cast<const ArmResponse*>(
                 &_ArmResponse_default_instance_);
    }
    static constexpr int kIndexInFileMessages =
      1;
  
    friend void swap(ArmResponse& a, ArmResponse& b) {
      a.Swap(&b);
    }
    inline void Swap(ArmResponse* other) {
      if (other == this) return;
      if (GetArena() == other->GetArena()) {
        InternalSwap(other);
      } else {
        ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
      }
    }
    void UnsafeArenaSwap(ArmResponse* other) {
      if (other == this) return;
      GOOGLE_DCHECK(GetArena() == other->GetArena());
      InternalSwap(other);
    }
  
    // implements Message ----------------------------------------------
  
    inline ArmResponse* New() const final {
      return CreateMaybeMessage<ArmResponse>(nullptr);
    }
  
    ArmResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
      return CreateMaybeMessage<ArmResponse>(arena);
    }
    void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
    void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
    void CopyFrom(const ArmResponse& from);
    void MergeFrom(const ArmResponse& from);
    PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
    bool IsInitialized() const final;
  
    size_t ByteSizeLong() const final;
    const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
    ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
        ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
    int GetCachedSize() const final { return _cached_size_.Get(); }
  
    private:
    inline void SharedCtor();
    inline void SharedDtor();
    void SetCachedSize(int size) const final;
    void InternalSwap(ArmResponse* other);
    friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
    static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
      return "mavsdk.rpc.action.ArmResponse";
    }
    protected:
    explicit ArmResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena);
    private:
    static void ArenaDtor(void* object);
    inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
    public:
  
    ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
    private:
    static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
      return ::descriptor_table_action_2faction_2eproto_metadata_getter(kIndexInFileMessages);
    }
  
    public:
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    enum : int {
      kActionResultFieldNumber = 1,
    };
    // .mavsdk.rpc.action.ActionResult action_result = 1;
    bool has_action_result() const;
    private:
    bool _internal_has_action_result() const;
    public:
    void clear_action_result();
    const ::mavsdk::rpc::action::ActionResult& action_result() const;
    ::mavsdk::rpc::action::ActionResult* release_action_result();
    ::mavsdk::rpc::action::ActionResult* mutable_action_result();
    void set_allocated_action_result(::mavsdk::rpc::action::ActionResult* action_result);
    private:
    const ::mavsdk::rpc::action::ActionResult& _internal_action_result() const;
    ::mavsdk::rpc::action::ActionResult* _internal_mutable_action_result();
    public:
    void unsafe_arena_set_allocated_action_result(
        ::mavsdk::rpc::action::ActionResult* action_result);
    ::mavsdk::rpc::action::ActionResult* unsafe_arena_release_action_result();
  
    // @@protoc_insertion_point(class_scope:mavsdk.rpc.action.ArmResponse)
   private:
    class _Internal;
  
    template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
    typedef void InternalArenaConstructable_;
    typedef void DestructorSkippable_;
    ::mavsdk::rpc::action::ActionResult* action_result_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    friend struct ::TableStruct_action_2faction_2eproto;
  };
  // -------------------------------------------------------------------
  
  class DisarmRequest PROTOBUF_FINAL :
      public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:mavsdk.rpc.action.DisarmRequest) */ {
   public:
    inline DisarmRequest() : DisarmRequest(nullptr) {}
    virtual ~DisarmRequest();
    explicit constexpr DisarmRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
  
    DisarmRequest(const DisarmRequest& from);
    DisarmRequest(DisarmRequest&& from) noexcept
      : DisarmRequest() {
      *this = ::std::move(from);
    }
  
    inline DisarmRequest& operator=(const DisarmRequest& from) {
      CopyFrom(from);
      return *this;
    }
    inline DisarmRequest& operator=(DisarmRequest&& from) noexcept {
      if (GetArena() == from.GetArena()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
  
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
      return GetDescriptor();
    }
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
      return GetMetadataStatic().descriptor;
    }
    static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
      return GetMetadataStatic().reflection;
    }
    static const DisarmRequest& default_instance() {
      return *internal_default_instance();
    }
    static inline const DisarmRequest* internal_default_instance() {
      return reinterpret_cast<const DisarmRequest*>(
                 &_DisarmRequest_default_instance_);
    }
    static constexpr int kIndexInFileMessages =
      2;
  
    friend void swap(DisarmRequest& a, DisarmRequest& b) {
      a.Swap(&b);
    }
    inline void Swap(DisarmRequest* other) {
      if (other == this) return;
      if (GetArena() == other->GetArena()) {
        InternalSwap(other);
      } else {
        ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
      }
    }
    void UnsafeArenaSwap(DisarmRequest* other) {
      if (other == this) return;
      GOOGLE_DCHECK(GetArena() == other->GetArena());
      InternalSwap(other);
    }
  
    // implements Message ----------------------------------------------
  
    inline DisarmRequest* New() const final {
      return CreateMaybeMessage<DisarmRequest>(nullptr);
    }
  
    DisarmRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
      return CreateMaybeMessage<DisarmRequest>(arena);
    }
    void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
    void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
    void CopyFrom(const DisarmRequest& from);
    void MergeFrom(const DisarmRequest& from);
    PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
    bool IsInitialized() const final;
  
    size_t ByteSizeLong() const final;
    const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
    ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
        ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
    int GetCachedSize() const final { return _cached_size_.Get(); }
  
    private:
    inline void SharedCtor();
    inline void SharedDtor();
    void SetCachedSize(int size) const final;
    void InternalSwap(DisarmRequest* other);
    friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
    static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
      return "mavsdk.rpc.action.DisarmRequest";
    }
    protected:
    explicit DisarmRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena);
    private:
    static void ArenaDtor(void* object);
    inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
    public:
  
    ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
    private:
    static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
      return ::descriptor_table_action_2faction_2eproto_metadata_getter(kIndexInFileMessages);
    }
  
    public:
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // @@protoc_insertion_point(class_scope:mavsdk.rpc.action.DisarmRequest)
   private:
    class _Internal;
  
    template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
    typedef void InternalArenaConstructable_;
    typedef void DestructorSkippable_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    friend struct ::TableStruct_action_2faction_2eproto;
  };
  // -------------------------------------------------------------------
  
  class DisarmResponse PROTOBUF_FINAL :
      public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:mavsdk.rpc.action.DisarmResponse) */ {
   public:
    inline DisarmResponse() : DisarmResponse(nullptr) {}
    virtual ~DisarmResponse();
    explicit constexpr DisarmResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
  
    DisarmResponse(const DisarmResponse& from);
    DisarmResponse(DisarmResponse&& from) noexcept
      : DisarmResponse() {
      *this = ::std::move(from);
    }
  
    inline DisarmResponse& operator=(const DisarmResponse& from) {
      CopyFrom(from);
      return *this;
    }
    inline DisarmResponse& operator=(DisarmResponse&& from) noexcept {
      if (GetArena() == from.GetArena()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
  
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
      return GetDescriptor();
    }
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
      return GetMetadataStatic().descriptor;
    }
    static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
      return GetMetadataStatic().reflection;
    }
    static const DisarmResponse& default_instance() {
      return *internal_default_instance();
    }
    static inline const DisarmResponse* internal_default_instance() {
      return reinterpret_cast<const DisarmResponse*>(
                 &_DisarmResponse_default_instance_);
    }
    static constexpr int kIndexInFileMessages =
      3;
  
    friend void swap(DisarmResponse& a, DisarmResponse& b) {
      a.Swap(&b);
    }
    inline void Swap(DisarmResponse* other) {
      if (other == this) return;
      if (GetArena() == other->GetArena()) {
        InternalSwap(other);
      } else {
        ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
      }
    }
    void UnsafeArenaSwap(DisarmResponse* other) {
      if (other == this) return;
      GOOGLE_DCHECK(GetArena() == other->GetArena());
      InternalSwap(other);
    }
  
    // implements Message ----------------------------------------------
  
    inline DisarmResponse* New() const final {
      return CreateMaybeMessage<DisarmResponse>(nullptr);
    }
  
    DisarmResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
      return CreateMaybeMessage<DisarmResponse>(arena);
    }
    void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
    void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
    void CopyFrom(const DisarmResponse& from);
    void MergeFrom(const DisarmResponse& from);
    PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
    bool IsInitialized() const final;
  
    size_t ByteSizeLong() const final;
    const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
    ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
        ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
    int GetCachedSize() const final { return _cached_size_.Get(); }
  
    private:
    inline void SharedCtor();
    inline void SharedDtor();
    void SetCachedSize(int size) const final;
    void InternalSwap(DisarmResponse* other);
    friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
    static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
      return "mavsdk.rpc.action.DisarmResponse";
    }
    protected:
    explicit DisarmResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena);
    private:
    static void ArenaDtor(void* object);
    inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
    public:
  
    ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
    private:
    static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
      return ::descriptor_table_action_2faction_2eproto_metadata_getter(kIndexInFileMessages);
    }
  
    public:
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    enum : int {
      kActionResultFieldNumber = 1,
    };
    // .mavsdk.rpc.action.ActionResult action_result = 1;
    bool has_action_result() const;
    private:
    bool _internal_has_action_result() const;
    public:
    void clear_action_result();
    const ::mavsdk::rpc::action::ActionResult& action_result() const;
    ::mavsdk::rpc::action::ActionResult* release_action_result();
    ::mavsdk::rpc::action::ActionResult* mutable_action_result();
    void set_allocated_action_result(::mavsdk::rpc::action::ActionResult* action_result);
    private:
    const ::mavsdk::rpc::action::ActionResult& _internal_action_result() const;
    ::mavsdk::rpc::action::ActionResult* _internal_mutable_action_result();
    public:
    void unsafe_arena_set_allocated_action_result(
        ::mavsdk::rpc::action::ActionResult* action_result);
    ::mavsdk::rpc::action::ActionResult* unsafe_arena_release_action_result();
  
    // @@protoc_insertion_point(class_scope:mavsdk.rpc.action.DisarmResponse)
   private:
    class _Internal;
  
    template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
    typedef void InternalArenaConstructable_;
    typedef void DestructorSkippable_;
    ::mavsdk::rpc::action::ActionResult* action_result_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    friend struct ::TableStruct_action_2faction_2eproto;
  };
  // -------------------------------------------------------------------
  
  class TakeoffRequest PROTOBUF_FINAL :
      public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:mavsdk.rpc.action.TakeoffRequest) */ {
   public:
    inline TakeoffRequest() : TakeoffRequest(nullptr) {}
    virtual ~TakeoffRequest();
    explicit constexpr TakeoffRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
  
    TakeoffRequest(const TakeoffRequest& from);
    TakeoffRequest(TakeoffRequest&& from) noexcept
      : TakeoffRequest() {
      *this = ::std::move(from);
    }
  
    inline TakeoffRequest& operator=(const TakeoffRequest& from) {
      CopyFrom(from);
      return *this;
    }
    inline TakeoffRequest& operator=(TakeoffRequest&& from) noexcept {
      if (GetArena() == from.GetArena()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
  
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
      return GetDescriptor();
    }
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
      return GetMetadataStatic().descriptor;
    }
    static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
      return GetMetadataStatic().reflection;
    }
    static const TakeoffRequest& default_instance() {
      return *internal_default_instance();
    }
    static inline const TakeoffRequest* internal_default_instance() {
      return reinterpret_cast<const TakeoffRequest*>(
                 &_TakeoffRequest_default_instance_);
    }
    static constexpr int kIndexInFileMessages =
      4;
  
    friend void swap(TakeoffRequest& a, TakeoffRequest& b) {
      a.Swap(&b);
    }
    inline void Swap(TakeoffRequest* other) {
      if (other == this) return;
      if (GetArena() == other->GetArena()) {
        InternalSwap(other);
      } else {
        ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
      }
    }
    void UnsafeArenaSwap(TakeoffRequest* other) {
      if (other == this) return;
      GOOGLE_DCHECK(GetArena() == other->GetArena());
      InternalSwap(other);
    }
  
    // implements Message ----------------------------------------------
  
    inline TakeoffRequest* New() const final {
      return CreateMaybeMessage<TakeoffRequest>(nullptr);
    }
  
    TakeoffRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
      return CreateMaybeMessage<TakeoffRequest>(arena);
    }
    void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
    void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
    void CopyFrom(const TakeoffRequest& from);
    void MergeFrom(const TakeoffRequest& from);
    PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
    bool IsInitialized() const final;
  
    size_t ByteSizeLong() const final;
    const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
    ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
        ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
    int GetCachedSize() const final { return _cached_size_.Get(); }
  
    private:
    inline void SharedCtor();
    inline void SharedDtor();
    void SetCachedSize(int size) const final;
    void InternalSwap(TakeoffRequest* other);
    friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
    static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
      return "mavsdk.rpc.action.TakeoffRequest";
    }
    protected:
    explicit TakeoffRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena);
    private:
    static void ArenaDtor(void* object);
    inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
    public:
  
    ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
    private:
    static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
      return ::descriptor_table_action_2faction_2eproto_metadata_getter(kIndexInFileMessages);
    }
  
    public:
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // @@protoc_insertion_point(class_scope:mavsdk.rpc.action.TakeoffRequest)
   private:
    class _Internal;
  
    template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
    typedef void InternalArenaConstructable_;
    typedef void DestructorSkippable_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    friend struct ::TableStruct_action_2faction_2eproto;
  };
  // -------------------------------------------------------------------
  
  class TakeoffResponse PROTOBUF_FINAL :
      public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:mavsdk.rpc.action.TakeoffResponse) */ {
   public:
    inline TakeoffResponse() : TakeoffResponse(nullptr) {}
    virtual ~TakeoffResponse();
    explicit constexpr TakeoffResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
  
    TakeoffResponse(const TakeoffResponse& from);
    TakeoffResponse(TakeoffResponse&& from) noexcept
      : TakeoffResponse() {
      *this = ::std::move(from);
    }
  
    inline TakeoffResponse& operator=(const TakeoffResponse& from) {
      CopyFrom(from);
      return *this;
    }
    inline TakeoffResponse& operator=(TakeoffResponse&& from) noexcept {
      if (GetArena() == from.GetArena()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
  
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
      return GetDescriptor();
    }
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
      return GetMetadataStatic().descriptor;
    }
    static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
      return GetMetadataStatic().reflection;
    }
    static const TakeoffResponse& default_instance() {
      return *internal_default_instance();
    }
    static inline const TakeoffResponse* internal_default_instance() {
      return reinterpret_cast<const TakeoffResponse*>(
                 &_TakeoffResponse_default_instance_);
    }
    static constexpr int kIndexInFileMessages =
      5;
  
    friend void swap(TakeoffResponse& a, TakeoffResponse& b) {
      a.Swap(&b);
    }
    inline void Swap(TakeoffResponse* other) {
      if (other == this) return;
      if (GetArena() == other->GetArena()) {
        InternalSwap(other);
      } else {
        ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
      }
    }
    void UnsafeArenaSwap(TakeoffResponse* other) {
      if (other == this) return;
      GOOGLE_DCHECK(GetArena() == other->GetArena());
      InternalSwap(other);
    }
  
    // implements Message ----------------------------------------------
  
    inline TakeoffResponse* New() const final {
      return CreateMaybeMessage<TakeoffResponse>(nullptr);
    }
  
    TakeoffResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
      return CreateMaybeMessage<TakeoffResponse>(arena);
    }
    void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
    void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
    void CopyFrom(const TakeoffResponse& from);
    void MergeFrom(const TakeoffResponse& from);
    PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
    bool IsInitialized() const final;
  
    size_t ByteSizeLong() const final;
    const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
    ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
        ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
    int GetCachedSize() const final { return _cached_size_.Get(); }
  
    private:
    inline void SharedCtor();
    inline void SharedDtor();
    void SetCachedSize(int size) const final;
    void InternalSwap(TakeoffResponse* other);
    friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
    static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
      return "mavsdk.rpc.action.TakeoffResponse";
    }
    protected:
    explicit TakeoffResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena);
    private:
    static void ArenaDtor(void* object);
    inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
    public:
  
    ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
    private:
    static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
      return ::descriptor_table_action_2faction_2eproto_metadata_getter(kIndexInFileMessages);
    }
  
    public:
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    enum : int {
      kActionResultFieldNumber = 1,
    };
    // .mavsdk.rpc.action.ActionResult action_result = 1;
    bool has_action_result() const;
    private:
    bool _internal_has_action_result() const;
    public:
    void clear_action_result();
    const ::mavsdk::rpc::action::ActionResult& action_result() const;
    ::mavsdk::rpc::action::ActionResult* release_action_result();
    ::mavsdk::rpc::action::ActionResult* mutable_action_result();
    void set_allocated_action_result(::mavsdk::rpc::action::ActionResult* action_result);
    private:
    const ::mavsdk::rpc::action::ActionResult& _internal_action_result() const;
    ::mavsdk::rpc::action::ActionResult* _internal_mutable_action_result();
    public:
    void unsafe_arena_set_allocated_action_result(
        ::mavsdk::rpc::action::ActionResult* action_result);
    ::mavsdk::rpc::action::ActionResult* unsafe_arena_release_action_result();
  
    // @@protoc_insertion_point(class_scope:mavsdk.rpc.action.TakeoffResponse)
   private:
    class _Internal;
  
    template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
    typedef void InternalArenaConstructable_;
    typedef void DestructorSkippable_;
    ::mavsdk::rpc::action::ActionResult* action_result_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    friend struct ::TableStruct_action_2faction_2eproto;
  };
  // -------------------------------------------------------------------
  
  class LandRequest PROTOBUF_FINAL :
      public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:mavsdk.rpc.action.LandRequest) */ {
   public:
    inline LandRequest() : LandRequest(nullptr) {}
    virtual ~LandRequest();
    explicit constexpr LandRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
  
    LandRequest(const LandRequest& from);
    LandRequest(LandRequest&& from) noexcept
      : LandRequest() {
      *this = ::std::move(from);
    }
  
    inline LandRequest& operator=(const LandRequest& from) {
      CopyFrom(from);
      return *this;
    }
    inline LandRequest& operator=(LandRequest&& from) noexcept {
      if (GetArena() == from.GetArena()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
  
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
      return GetDescriptor();
    }
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
      return GetMetadataStatic().descriptor;
    }
    static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
      return GetMetadataStatic().reflection;
    }
    static const LandRequest& default_instance() {
      return *internal_default_instance();
    }
    static inline const LandRequest* internal_default_instance() {
      return reinterpret_cast<const LandRequest*>(
                 &_LandRequest_default_instance_);
    }
    static constexpr int kIndexInFileMessages =
      6;
  
    friend void swap(LandRequest& a, LandRequest& b) {
      a.Swap(&b);
    }
    inline void Swap(LandRequest* other) {
      if (other == this) return;
      if (GetArena() == other->GetArena()) {
        InternalSwap(other);
      } else {
        ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
      }
    }
    void UnsafeArenaSwap(LandRequest* other) {
      if (other == this) return;
      GOOGLE_DCHECK(GetArena() == other->GetArena());
      InternalSwap(other);
    }
  
    // implements Message ----------------------------------------------
  
    inline LandRequest* New() const final {
      return CreateMaybeMessage<LandRequest>(nullptr);
    }
  
    LandRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
      return CreateMaybeMessage<LandRequest>(arena);
    }
    void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
    void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
    void CopyFrom(const LandRequest& from);
    void MergeFrom(const LandRequest& from);
    PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
    bool IsInitialized() const final;
  
    size_t ByteSizeLong() const final;
    const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
    ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
        ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
    int GetCachedSize() const final { return _cached_size_.Get(); }
  
    private:
    inline void SharedCtor();
    inline void SharedDtor();
    void SetCachedSize(int size) const final;
    void InternalSwap(LandRequest* other);
    friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
    static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
      return "mavsdk.rpc.action.LandRequest";
    }
    protected:
    explicit LandRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena);
    private:
    static void ArenaDtor(void* object);
    inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
    public:
  
    ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
    private:
    static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
      return ::descriptor_table_action_2faction_2eproto_metadata_getter(kIndexInFileMessages);
    }
  
    public:
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // @@protoc_insertion_point(class_scope:mavsdk.rpc.action.LandRequest)
   private:
    class _Internal;
  
    template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
    typedef void InternalArenaConstructable_;
    typedef void DestructorSkippable_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    friend struct ::TableStruct_action_2faction_2eproto;
  };
  // -------------------------------------------------------------------
  
  class LandResponse PROTOBUF_FINAL :
      public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:mavsdk.rpc.action.LandResponse) */ {
   public:
    inline LandResponse() : LandResponse(nullptr) {}
    virtual ~LandResponse();
    explicit constexpr LandResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
  
    LandResponse(const LandResponse& from);
    LandResponse(LandResponse&& from) noexcept
      : LandResponse() {
      *this = ::std::move(from);
    }
  
    inline LandResponse& operator=(const LandResponse& from) {
      CopyFrom(from);
      return *this;
    }
    inline LandResponse& operator=(LandResponse&& from) noexcept {
      if (GetArena() == from.GetArena()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
  
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
      return GetDescriptor();
    }
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
      return GetMetadataStatic().descriptor;
    }
    static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
      return GetMetadataStatic().reflection;
    }
    static const LandResponse& default_instance() {
      return *internal_default_instance();
    }
    static inline const LandResponse* internal_default_instance() {
      return reinterpret_cast<const LandResponse*>(
                 &_LandResponse_default_instance_);
    }
    static constexpr int kIndexInFileMessages =
      7;
  
    friend void swap(LandResponse& a, LandResponse& b) {
      a.Swap(&b);
    }
    inline void Swap(LandResponse* other) {
      if (other == this) return;
      if (GetArena() == other->GetArena()) {
        InternalSwap(other);
      } else {
        ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
      }
    }
    void UnsafeArenaSwap(LandResponse* other) {
      if (other == this) return;
      GOOGLE_DCHECK(GetArena() == other->GetArena());
      InternalSwap(other);
    }
  
    // implements Message ----------------------------------------------
  
    inline LandResponse* New() const final {
      return CreateMaybeMessage<LandResponse>(nullptr);
    }
  
    LandResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
      return CreateMaybeMessage<LandResponse>(arena);
    }
    void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
    void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
    void CopyFrom(const LandResponse& from);
    void MergeFrom(const LandResponse& from);
    PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
    bool IsInitialized() const final;
  
    size_t ByteSizeLong() const final;
    const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
    ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
        ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
    int GetCachedSize() const final { return _cached_size_.Get(); }
  
    private:
    inline void SharedCtor();
    inline void SharedDtor();
    void SetCachedSize(int size) const final;
    void InternalSwap(LandResponse* other);
    friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
    static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
      return "mavsdk.rpc.action.LandResponse";
    }
    protected:
    explicit LandResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena);
    private:
    static void ArenaDtor(void* object);
    inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
    public:
  
    ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
    private:
    static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
      return ::descriptor_table_action_2faction_2eproto_metadata_getter(kIndexInFileMessages);
    }
  
    public:
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    enum : int {
      kActionResultFieldNumber = 1,
    };
    // .mavsdk.rpc.action.ActionResult action_result = 1;
    bool has_action_result() const;
    private:
    bool _internal_has_action_result() const;
    public:
    void clear_action_result();
    const ::mavsdk::rpc::action::ActionResult& action_result() const;
    ::mavsdk::rpc::action::ActionResult* release_action_result();
    ::mavsdk::rpc::action::ActionResult* mutable_action_result();
    void set_allocated_action_result(::mavsdk::rpc::action::ActionResult* action_result);
    private:
    const ::mavsdk::rpc::action::ActionResult& _internal_action_result() const;
    ::mavsdk::rpc::action::ActionResult* _internal_mutable_action_result();
    public:
    void unsafe_arena_set_allocated_action_result(
        ::mavsdk::rpc::action::ActionResult* action_result);
    ::mavsdk::rpc::action::ActionResult* unsafe_arena_release_action_result();
  
    // @@protoc_insertion_point(class_scope:mavsdk.rpc.action.LandResponse)
   private:
    class _Internal;
  
    template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
    typedef void InternalArenaConstructable_;
    typedef void DestructorSkippable_;
    ::mavsdk::rpc::action::ActionResult* action_result_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    friend struct ::TableStruct_action_2faction_2eproto;
  };
  // -------------------------------------------------------------------
  
  class RebootRequest PROTOBUF_FINAL :
      public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:mavsdk.rpc.action.RebootRequest) */ {
   public:
    inline RebootRequest() : RebootRequest(nullptr) {}
    virtual ~RebootRequest();
    explicit constexpr RebootRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
  
    RebootRequest(const RebootRequest& from);
    RebootRequest(RebootRequest&& from) noexcept
      : RebootRequest() {
      *this = ::std::move(from);
    }
  
    inline RebootRequest& operator=(const RebootRequest& from) {
      CopyFrom(from);
      return *this;
    }
    inline RebootRequest& operator=(RebootRequest&& from) noexcept {
      if (GetArena() == from.GetArena()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
  
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
      return GetDescriptor();
    }
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
      return GetMetadataStatic().descriptor;
    }
    static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
      return GetMetadataStatic().reflection;
    }
    static const RebootRequest& default_instance() {
      return *internal_default_instance();
    }
    static inline const RebootRequest* internal_default_instance() {
      return reinterpret_cast<const RebootRequest*>(
                 &_RebootRequest_default_instance_);
    }
    static constexpr int kIndexInFileMessages =
      8;
  
    friend void swap(RebootRequest& a, RebootRequest& b) {
      a.Swap(&b);
    }
    inline void Swap(RebootRequest* other) {
      if (other == this) return;
      if (GetArena() == other->GetArena()) {
        InternalSwap(other);
      } else {
        ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
      }
    }
    void UnsafeArenaSwap(RebootRequest* other) {
      if (other == this) return;
      GOOGLE_DCHECK(GetArena() == other->GetArena());
      InternalSwap(other);
    }
  
    // implements Message ----------------------------------------------
  
    inline RebootRequest* New() const final {
      return CreateMaybeMessage<RebootRequest>(nullptr);
    }
  
    RebootRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
      return CreateMaybeMessage<RebootRequest>(arena);
    }
    void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
    void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
    void CopyFrom(const RebootRequest& from);
    void MergeFrom(const RebootRequest& from);
    PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
    bool IsInitialized() const final;
  
    size_t ByteSizeLong() const final;
    const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
    ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
        ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
    int GetCachedSize() const final { return _cached_size_.Get(); }
  
    private:
    inline void SharedCtor();
    inline void SharedDtor();
    void SetCachedSize(int size) const final;
    void InternalSwap(RebootRequest* other);
    friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
    static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
      return "mavsdk.rpc.action.RebootRequest";
    }
    protected:
    explicit RebootRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena);
    private:
    static void ArenaDtor(void* object);
    inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
    public:
  
    ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
    private:
    static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
      return ::descriptor_table_action_2faction_2eproto_metadata_getter(kIndexInFileMessages);
    }
  
    public:
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // @@protoc_insertion_point(class_scope:mavsdk.rpc.action.RebootRequest)
   private:
    class _Internal;
  
    template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
    typedef void InternalArenaConstructable_;
    typedef void DestructorSkippable_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    friend struct ::TableStruct_action_2faction_2eproto;
  };
  // -------------------------------------------------------------------
  
  class RebootResponse PROTOBUF_FINAL :
      public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:mavsdk.rpc.action.RebootResponse) */ {
   public:
    inline RebootResponse() : RebootResponse(nullptr) {}
    virtual ~RebootResponse();
    explicit constexpr RebootResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
  
    RebootResponse(const RebootResponse& from);
    RebootResponse(RebootResponse&& from) noexcept
      : RebootResponse() {
      *this = ::std::move(from);
    }
  
    inline RebootResponse& operator=(const RebootResponse& from) {
      CopyFrom(from);
      return *this;
    }
    inline RebootResponse& operator=(RebootResponse&& from) noexcept {
      if (GetArena() == from.GetArena()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
  
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
      return GetDescriptor();
    }
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
      return GetMetadataStatic().descriptor;
    }
    static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
      return GetMetadataStatic().reflection;
    }
    static const RebootResponse& default_instance() {
      return *internal_default_instance();
    }
    static inline const RebootResponse* internal_default_instance() {
      return reinterpret_cast<const RebootResponse*>(
                 &_RebootResponse_default_instance_);
    }
    static constexpr int kIndexInFileMessages =
      9;
  
    friend void swap(RebootResponse& a, RebootResponse& b) {
      a.Swap(&b);
    }
    inline void Swap(RebootResponse* other) {
      if (other == this) return;
      if (GetArena() == other->GetArena()) {
        InternalSwap(other);
      } else {
        ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
      }
    }
    void UnsafeArenaSwap(RebootResponse* other) {
      if (other == this) return;
      GOOGLE_DCHECK(GetArena() == other->GetArena());
      InternalSwap(other);
    }
  
    // implements Message ----------------------------------------------
  
    inline RebootResponse* New() const final {
      return CreateMaybeMessage<RebootResponse>(nullptr);
    }
  
    RebootResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
      return CreateMaybeMessage<RebootResponse>(arena);
    }
    void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
    void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
    void CopyFrom(const RebootResponse& from);
    void MergeFrom(const RebootResponse& from);
    PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
    bool IsInitialized() const final;
  
    size_t ByteSizeLong() const final;
    const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
    ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
        ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
    int GetCachedSize() const final { return _cached_size_.Get(); }
  
    private:
    inline void SharedCtor();
    inline void SharedDtor();
    void SetCachedSize(int size) const final;
    void InternalSwap(RebootResponse* other);
    friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
    static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
      return "mavsdk.rpc.action.RebootResponse";
    }
    protected:
    explicit RebootResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena);
    private:
    static void ArenaDtor(void* object);
    inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
    public:
  
    ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
    private:
    static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
      return ::descriptor_table_action_2faction_2eproto_metadata_getter(kIndexInFileMessages);
    }
  
    public:
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    enum : int {
      kActionResultFieldNumber = 1,
    };
    // .mavsdk.rpc.action.ActionResult action_result = 1;
    bool has_action_result() const;
    private:
    bool _internal_has_action_result() const;
    public:
    void clear_action_result();
    const ::mavsdk::rpc::action::ActionResult& action_result() const;
    ::mavsdk::rpc::action::ActionResult* release_action_result();
    ::mavsdk::rpc::action::ActionResult* mutable_action_result();
    void set_allocated_action_result(::mavsdk::rpc::action::ActionResult* action_result);
    private:
    const ::mavsdk::rpc::action::ActionResult& _internal_action_result() const;
    ::mavsdk::rpc::action::ActionResult* _internal_mutable_action_result();
    public:
    void unsafe_arena_set_allocated_action_result(
        ::mavsdk::rpc::action::ActionResult* action_result);
    ::mavsdk::rpc::action::ActionResult* unsafe_arena_release_action_result();
  
    // @@protoc_insertion_point(class_scope:mavsdk.rpc.action.RebootResponse)
   private:
    class _Internal;
  
    template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
    typedef void InternalArenaConstructable_;
    typedef void DestructorSkippable_;
    ::mavsdk::rpc::action::ActionResult* action_result_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    friend struct ::TableStruct_action_2faction_2eproto;
  };
  // -------------------------------------------------------------------
  
  class ShutdownRequest PROTOBUF_FINAL :
      public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:mavsdk.rpc.action.ShutdownRequest) */ {
   public:
    inline ShutdownRequest() : ShutdownRequest(nullptr) {}
    virtual ~ShutdownRequest();
    explicit constexpr ShutdownRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
  
    ShutdownRequest(const ShutdownRequest& from);
    ShutdownRequest(ShutdownRequest&& from) noexcept
      : ShutdownRequest() {
      *this = ::std::move(from);
    }
  
    inline ShutdownRequest& operator=(const ShutdownRequest& from) {
      CopyFrom(from);
      return *this;
    }
    inline ShutdownRequest& operator=(ShutdownRequest&& from) noexcept {
      if (GetArena() == from.GetArena()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
  
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
      return GetDescriptor();
    }
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
      return GetMetadataStatic().descriptor;
    }
    static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
      return GetMetadataStatic().reflection;
    }
    static const ShutdownRequest& default_instance() {
      return *internal_default_instance();
    }
    static inline const ShutdownRequest* internal_default_instance() {
      return reinterpret_cast<const ShutdownRequest*>(
                 &_ShutdownRequest_default_instance_);
    }
    static constexpr int kIndexInFileMessages =
      10;
  
    friend void swap(ShutdownRequest& a, ShutdownRequest& b) {
      a.Swap(&b);
    }
    inline void Swap(ShutdownRequest* other) {
      if (other == this) return;
      if (GetArena() == other->GetArena()) {
        InternalSwap(other);
      } else {
        ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
      }
    }
    void UnsafeArenaSwap(ShutdownRequest* other) {
      if (other == this) return;
      GOOGLE_DCHECK(GetArena() == other->GetArena());
      InternalSwap(other);
    }
  
    // implements Message ----------------------------------------------
  
    inline ShutdownRequest* New() const final {
      return CreateMaybeMessage<ShutdownRequest>(nullptr);
    }
  
    ShutdownRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
      return CreateMaybeMessage<ShutdownRequest>(arena);
    }
    void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
    void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
    void CopyFrom(const ShutdownRequest& from);
    void MergeFrom(const ShutdownRequest& from);
    PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
    bool IsInitialized() const final;
  
    size_t ByteSizeLong() const final;
    const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
    ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
        ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
    int GetCachedSize() const final { return _cached_size_.Get(); }
  
    private:
    inline void SharedCtor();
    inline void SharedDtor();
    void SetCachedSize(int size) const final;
    void InternalSwap(ShutdownRequest* other);
    friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
    static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
      return "mavsdk.rpc.action.ShutdownRequest";
    }
    protected:
    explicit ShutdownRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena);
    private:
    static void ArenaDtor(void* object);
    inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
    public:
  
    ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
    private:
    static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
      return ::descriptor_table_action_2faction_2eproto_metadata_getter(kIndexInFileMessages);
    }
  
    public:
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // @@protoc_insertion_point(class_scope:mavsdk.rpc.action.ShutdownRequest)
   private:
    class _Internal;
  
    template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
    typedef void InternalArenaConstructable_;
    typedef void DestructorSkippable_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    friend struct ::TableStruct_action_2faction_2eproto;
  };
  // -------------------------------------------------------------------
  
  class ShutdownResponse PROTOBUF_FINAL :
      public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:mavsdk.rpc.action.ShutdownResponse) */ {
   public:
    inline ShutdownResponse() : ShutdownResponse(nullptr) {}
    virtual ~ShutdownResponse();
    explicit constexpr ShutdownResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
  
    ShutdownResponse(const ShutdownResponse& from);
    ShutdownResponse(ShutdownResponse&& from) noexcept
      : ShutdownResponse() {
      *this = ::std::move(from);
    }
  
    inline ShutdownResponse& operator=(const ShutdownResponse& from) {
      CopyFrom(from);
      return *this;
    }
    inline ShutdownResponse& operator=(ShutdownResponse&& from) noexcept {
      if (GetArena() == from.GetArena()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
  
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
      return GetDescriptor();
    }
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
      return GetMetadataStatic().descriptor;
    }
    static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
      return GetMetadataStatic().reflection;
    }
    static const ShutdownResponse& default_instance() {
      return *internal_default_instance();
    }
    static inline const ShutdownResponse* internal_default_instance() {
      return reinterpret_cast<const ShutdownResponse*>(
                 &_ShutdownResponse_default_instance_);
    }
    static constexpr int kIndexInFileMessages =
      11;
  
    friend void swap(ShutdownResponse& a, ShutdownResponse& b) {
      a.Swap(&b);
    }
    inline void Swap(ShutdownResponse* other) {
      if (other == this) return;
      if (GetArena() == other->GetArena()) {
        InternalSwap(other);
      } else {
        ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
      }
    }
    void UnsafeArenaSwap(ShutdownResponse* other) {
      if (other == this) return;
      GOOGLE_DCHECK(GetArena() == other->GetArena());
      InternalSwap(other);
    }
  
    // implements Message ----------------------------------------------
  
    inline ShutdownResponse* New() const final {
      return CreateMaybeMessage<ShutdownResponse>(nullptr);
    }
  
    ShutdownResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
      return CreateMaybeMessage<ShutdownResponse>(arena);
    }
    void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
    void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
    void CopyFrom(const ShutdownResponse& from);
    void MergeFrom(const ShutdownResponse& from);
    PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
    bool IsInitialized() const final;
  
    size_t ByteSizeLong() const final;
    const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
    ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
        ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
    int GetCachedSize() const final { return _cached_size_.Get(); }
  
    private:
    inline void SharedCtor();
    inline void SharedDtor();
    void SetCachedSize(int size) const final;
    void InternalSwap(ShutdownResponse* other);
    friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
    static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
      return "mavsdk.rpc.action.ShutdownResponse";
    }
    protected:
    explicit ShutdownResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena);
    private:
    static void ArenaDtor(void* object);
    inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
    public:
  
    ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
    private:
    static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
      return ::descriptor_table_action_2faction_2eproto_metadata_getter(kIndexInFileMessages);
    }
  
    public:
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    enum : int {
      kActionResultFieldNumber = 1,
    };
    // .mavsdk.rpc.action.ActionResult action_result = 1;
    bool has_action_result() const;
    private:
    bool _internal_has_action_result() const;
    public:
    void clear_action_result();
    const ::mavsdk::rpc::action::ActionResult& action_result() const;
    ::mavsdk::rpc::action::ActionResult* release_action_result();
    ::mavsdk::rpc::action::ActionResult* mutable_action_result();
    void set_allocated_action_result(::mavsdk::rpc::action::ActionResult* action_result);
    private:
    const ::mavsdk::rpc::action::ActionResult& _internal_action_result() const;
    ::mavsdk::rpc::action::ActionResult* _internal_mutable_action_result();
    public:
    void unsafe_arena_set_allocated_action_result(
        ::mavsdk::rpc::action::ActionResult* action_result);
    ::mavsdk::rpc::action::ActionResult* unsafe_arena_release_action_result();
  
    // @@protoc_insertion_point(class_scope:mavsdk.rpc.action.ShutdownResponse)
   private:
    class _Internal;
  
    template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
    typedef void InternalArenaConstructable_;
    typedef void DestructorSkippable_;
    ::mavsdk::rpc::action::ActionResult* action_result_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    friend struct ::TableStruct_action_2faction_2eproto;
  };
  // -------------------------------------------------------------------
  
  class TerminateRequest PROTOBUF_FINAL :
      public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:mavsdk.rpc.action.TerminateRequest) */ {
   public:
    inline TerminateRequest() : TerminateRequest(nullptr) {}
    virtual ~TerminateRequest();
    explicit constexpr TerminateRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
  
    TerminateRequest(const TerminateRequest& from);
    TerminateRequest(TerminateRequest&& from) noexcept
      : TerminateRequest() {
      *this = ::std::move(from);
    }
  
    inline TerminateRequest& operator=(const TerminateRequest& from) {
      CopyFrom(from);
      return *this;
    }
    inline TerminateRequest& operator=(TerminateRequest&& from) noexcept {
      if (GetArena() == from.GetArena()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
  
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
      return GetDescriptor();
    }
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
      return GetMetadataStatic().descriptor;
    }
    static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
      return GetMetadataStatic().reflection;
    }
    static const TerminateRequest& default_instance() {
      return *internal_default_instance();
    }
    static inline const TerminateRequest* internal_default_instance() {
      return reinterpret_cast<const TerminateRequest*>(
                 &_TerminateRequest_default_instance_);
    }
    static constexpr int kIndexInFileMessages =
      12;
  
    friend void swap(TerminateRequest& a, TerminateRequest& b) {
      a.Swap(&b);
    }
    inline void Swap(TerminateRequest* other) {
      if (other == this) return;
      if (GetArena() == other->GetArena()) {
        InternalSwap(other);
      } else {
        ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
      }
    }
    void UnsafeArenaSwap(TerminateRequest* other) {
      if (other == this) return;
      GOOGLE_DCHECK(GetArena() == other->GetArena());
      InternalSwap(other);
    }
  
    // implements Message ----------------------------------------------
  
    inline TerminateRequest* New() const final {
      return CreateMaybeMessage<TerminateRequest>(nullptr);
    }
  
    TerminateRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
      return CreateMaybeMessage<TerminateRequest>(arena);
    }
    void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
    void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
    void CopyFrom(const TerminateRequest& from);
    void MergeFrom(const TerminateRequest& from);
    PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
    bool IsInitialized() const final;
  
    size_t ByteSizeLong() const final;
    const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
    ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
        ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
    int GetCachedSize() const final { return _cached_size_.Get(); }
  
    private:
    inline void SharedCtor();
    inline void SharedDtor();
    void SetCachedSize(int size) const final;
    void InternalSwap(TerminateRequest* other);
    friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
    static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
      return "mavsdk.rpc.action.TerminateRequest";
    }
    protected:
    explicit TerminateRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena);
    private:
    static void ArenaDtor(void* object);
    inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
    public:
  
    ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
    private:
    static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
      return ::descriptor_table_action_2faction_2eproto_metadata_getter(kIndexInFileMessages);
    }
  
    public:
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // @@protoc_insertion_point(class_scope:mavsdk.rpc.action.TerminateRequest)
   private:
    class _Internal;
  
    template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
    typedef void InternalArenaConstructable_;
    typedef void DestructorSkippable_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    friend struct ::TableStruct_action_2faction_2eproto;
  };
  // -------------------------------------------------------------------
  
  class TerminateResponse PROTOBUF_FINAL :
      public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:mavsdk.rpc.action.TerminateResponse) */ {
   public:
    inline TerminateResponse() : TerminateResponse(nullptr) {}
    virtual ~TerminateResponse();
    explicit constexpr TerminateResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
  
    TerminateResponse(const TerminateResponse& from);
    TerminateResponse(TerminateResponse&& from) noexcept
      : TerminateResponse() {
      *this = ::std::move(from);
    }
  
    inline TerminateResponse& operator=(const TerminateResponse& from) {
      CopyFrom(from);
      return *this;
    }
    inline TerminateResponse& operator=(TerminateResponse&& from) noexcept {
      if (GetArena() == from.GetArena()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
  
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
      return GetDescriptor();
    }
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
      return GetMetadataStatic().descriptor;
    }
    static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
      return GetMetadataStatic().reflection;
    }
    static const TerminateResponse& default_instance() {
      return *internal_default_instance();
    }
    static inline const TerminateResponse* internal_default_instance() {
      return reinterpret_cast<const TerminateResponse*>(
                 &_TerminateResponse_default_instance_);
    }
    static constexpr int kIndexInFileMessages =
      13;
  
    friend void swap(TerminateResponse& a, TerminateResponse& b) {
      a.Swap(&b);
    }
    inline void Swap(TerminateResponse* other) {
      if (other == this) return;
      if (GetArena() == other->GetArena()) {
        InternalSwap(other);
      } else {
        ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
      }
    }
    void UnsafeArenaSwap(TerminateResponse* other) {
      if (other == this) return;
      GOOGLE_DCHECK(GetArena() == other->GetArena());
      InternalSwap(other);
    }
  
    // implements Message ----------------------------------------------
  
    inline TerminateResponse* New() const final {
      return CreateMaybeMessage<TerminateResponse>(nullptr);
    }
  
    TerminateResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
      return CreateMaybeMessage<TerminateResponse>(arena);
    }
    void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
    void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
    void CopyFrom(const TerminateResponse& from);
    void MergeFrom(const TerminateResponse& from);
    PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
    bool IsInitialized() const final;
  
    size_t ByteSizeLong() const final;
    const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
    ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
        ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
    int GetCachedSize() const final { return _cached_size_.Get(); }
  
    private:
    inline void SharedCtor();
    inline void SharedDtor();
    void SetCachedSize(int size) const final;
    void InternalSwap(TerminateResponse* other);
    friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
    static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
      return "mavsdk.rpc.action.TerminateResponse";
    }
    protected:
    explicit TerminateResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena);
    private:
    static void ArenaDtor(void* object);
    inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
    public:
  
    ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
    private:
    static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
      return ::descriptor_table_action_2faction_2eproto_metadata_getter(kIndexInFileMessages);
    }
  
    public:
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    enum : int {
      kActionResultFieldNumber = 1,
    };
    // .mavsdk.rpc.action.ActionResult action_result = 1;
    bool has_action_result() const;
    private:
    bool _internal_has_action_result() const;
    public:
    void clear_action_result();
    const ::mavsdk::rpc::action::ActionResult& action_result() const;
    ::mavsdk::rpc::action::ActionResult* release_action_result();
    ::mavsdk::rpc::action::ActionResult* mutable_action_result();
    void set_allocated_action_result(::mavsdk::rpc::action::ActionResult* action_result);
    private:
    const ::mavsdk::rpc::action::ActionResult& _internal_action_result() const;
    ::mavsdk::rpc::action::ActionResult* _internal_mutable_action_result();
    public:
    void unsafe_arena_set_allocated_action_result(
        ::mavsdk::rpc::action::ActionResult* action_result);
    ::mavsdk::rpc::action::ActionResult* unsafe_arena_release_action_result();
  
    // @@protoc_insertion_point(class_scope:mavsdk.rpc.action.TerminateResponse)
   private:
    class _Internal;
  
    template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
    typedef void InternalArenaConstructable_;
    typedef void DestructorSkippable_;
    ::mavsdk::rpc::action::ActionResult* action_result_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    friend struct ::TableStruct_action_2faction_2eproto;
  };
  // -------------------------------------------------------------------
  
  class KillRequest PROTOBUF_FINAL :
      public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:mavsdk.rpc.action.KillRequest) */ {
   public:
    inline KillRequest() : KillRequest(nullptr) {}
    virtual ~KillRequest();
    explicit constexpr KillRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
  
    KillRequest(const KillRequest& from);
    KillRequest(KillRequest&& from) noexcept
      : KillRequest() {
      *this = ::std::move(from);
    }
  
    inline KillRequest& operator=(const KillRequest& from) {
      CopyFrom(from);
      return *this;
    }
    inline KillRequest& operator=(KillRequest&& from) noexcept {
      if (GetArena() == from.GetArena()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
  
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
      return GetDescriptor();
    }
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
      return GetMetadataStatic().descriptor;
    }
    static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
      return GetMetadataStatic().reflection;
    }
    static const KillRequest& default_instance() {
      return *internal_default_instance();
    }
    static inline const KillRequest* internal_default_instance() {
      return reinterpret_cast<const KillRequest*>(
                 &_KillRequest_default_instance_);
    }
    static constexpr int kIndexInFileMessages =
      14;
  
    friend void swap(KillRequest& a, KillRequest& b) {
      a.Swap(&b);
    }
    inline void Swap(KillRequest* other) {
      if (other == this) return;
      if (GetArena() == other->GetArena()) {
        InternalSwap(other);
      } else {
        ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
      }
    }
    void UnsafeArenaSwap(KillRequest* other) {
      if (other == this) return;
      GOOGLE_DCHECK(GetArena() == other->GetArena());
      InternalSwap(other);
    }
  
    // implements Message ----------------------------------------------
  
    inline KillRequest* New() const final {
      return CreateMaybeMessage<KillRequest>(nullptr);
    }
  
    KillRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
      return CreateMaybeMessage<KillRequest>(arena);
    }
    void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
    void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
    void CopyFrom(const KillRequest& from);
    void MergeFrom(const KillRequest& from);
    PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
    bool IsInitialized() const final;
  
    size_t ByteSizeLong() const final;
    const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
    ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
        ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
    int GetCachedSize() const final { return _cached_size_.Get(); }
  
    private:
    inline void SharedCtor();
    inline void SharedDtor();
    void SetCachedSize(int size) const final;
    void InternalSwap(KillRequest* other);
    friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
    static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
      return "mavsdk.rpc.action.KillRequest";
    }
    protected:
    explicit KillRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena);
    private:
    static void ArenaDtor(void* object);
    inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
    public:
  
    ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
    private:
    static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
      return ::descriptor_table_action_2faction_2eproto_metadata_getter(kIndexInFileMessages);
    }
  
    public:
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // @@protoc_insertion_point(class_scope:mavsdk.rpc.action.KillRequest)
   private:
    class _Internal;
  
    template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
    typedef void InternalArenaConstructable_;
    typedef void DestructorSkippable_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    friend struct ::TableStruct_action_2faction_2eproto;
  };
  // -------------------------------------------------------------------
  
  class KillResponse PROTOBUF_FINAL :
      public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:mavsdk.rpc.action.KillResponse) */ {
   public:
    inline KillResponse() : KillResponse(nullptr) {}
    virtual ~KillResponse();
    explicit constexpr KillResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
  
    KillResponse(const KillResponse& from);
    KillResponse(KillResponse&& from) noexcept
      : KillResponse() {
      *this = ::std::move(from);
    }
  
    inline KillResponse& operator=(const KillResponse& from) {
      CopyFrom(from);
      return *this;
    }
    inline KillResponse& operator=(KillResponse&& from) noexcept {
      if (GetArena() == from.GetArena()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
  
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
      return GetDescriptor();
    }
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
      return GetMetadataStatic().descriptor;
    }
    static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
      return GetMetadataStatic().reflection;
    }
    static const KillResponse& default_instance() {
      return *internal_default_instance();
    }
    static inline const KillResponse* internal_default_instance() {
      return reinterpret_cast<const KillResponse*>(
                 &_KillResponse_default_instance_);
    }
    static constexpr int kIndexInFileMessages =
      15;
  
    friend void swap(KillResponse& a, KillResponse& b) {
      a.Swap(&b);
    }
    inline void Swap(KillResponse* other) {
      if (other == this) return;
      if (GetArena() == other->GetArena()) {
        InternalSwap(other);
      } else {
        ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
      }
    }
    void UnsafeArenaSwap(KillResponse* other) {
      if (other == this) return;
      GOOGLE_DCHECK(GetArena() == other->GetArena());
      InternalSwap(other);
    }
  
    // implements Message ----------------------------------------------
  
    inline KillResponse* New() const final {
      return CreateMaybeMessage<KillResponse>(nullptr);
    }
  
    KillResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
      return CreateMaybeMessage<KillResponse>(arena);
    }
    void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
    void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
    void CopyFrom(const KillResponse& from);
    void MergeFrom(const KillResponse& from);
    PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
    bool IsInitialized() const final;
  
    size_t ByteSizeLong() const final;
    const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
    ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
        ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
    int GetCachedSize() const final { return _cached_size_.Get(); }
  
    private:
    inline void SharedCtor();
    inline void SharedDtor();
    void SetCachedSize(int size) const final;
    void InternalSwap(KillResponse* other);
    friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
    static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
      return "mavsdk.rpc.action.KillResponse";
    }
    protected:
    explicit KillResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena);
    private:
    static void ArenaDtor(void* object);
    inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
    public:
  
    ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
    private:
    static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
      return ::descriptor_table_action_2faction_2eproto_metadata_getter(kIndexInFileMessages);
    }
  
    public:
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    enum : int {
      kActionResultFieldNumber = 1,
    };
    // .mavsdk.rpc.action.ActionResult action_result = 1;
    bool has_action_result() const;
    private:
    bool _internal_has_action_result() const;
    public:
    void clear_action_result();
    const ::mavsdk::rpc::action::ActionResult& action_result() const;
    ::mavsdk::rpc::action::ActionResult* release_action_result();
    ::mavsdk::rpc::action::ActionResult* mutable_action_result();
    void set_allocated_action_result(::mavsdk::rpc::action::ActionResult* action_result);
    private:
    const ::mavsdk::rpc::action::ActionResult& _internal_action_result() const;
    ::mavsdk::rpc::action::ActionResult* _internal_mutable_action_result();
    public:
    void unsafe_arena_set_allocated_action_result(
        ::mavsdk::rpc::action::ActionResult* action_result);
    ::mavsdk::rpc::action::ActionResult* unsafe_arena_release_action_result();
  
    // @@protoc_insertion_point(class_scope:mavsdk.rpc.action.KillResponse)
   private:
    class _Internal;
  
    template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
    typedef void InternalArenaConstructable_;
    typedef void DestructorSkippable_;
    ::mavsdk::rpc::action::ActionResult* action_result_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    friend struct ::TableStruct_action_2faction_2eproto;
  };
  // -------------------------------------------------------------------
  
  class ReturnToLaunchRequest PROTOBUF_FINAL :
      public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:mavsdk.rpc.action.ReturnToLaunchRequest) */ {
   public:
    inline ReturnToLaunchRequest() : ReturnToLaunchRequest(nullptr) {}
    virtual ~ReturnToLaunchRequest();
    explicit constexpr ReturnToLaunchRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
  
    ReturnToLaunchRequest(const ReturnToLaunchRequest& from);
    ReturnToLaunchRequest(ReturnToLaunchRequest&& from) noexcept
      : ReturnToLaunchRequest() {
      *this = ::std::move(from);
    }
  
    inline ReturnToLaunchRequest& operator=(const ReturnToLaunchRequest& from) {
      CopyFrom(from);
      return *this;
    }
    inline ReturnToLaunchRequest& operator=(ReturnToLaunchRequest&& from) noexcept {
      if (GetArena() == from.GetArena()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
  
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
      return GetDescriptor();
    }
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
      return GetMetadataStatic().descriptor;
    }
    static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
      return GetMetadataStatic().reflection;
    }
    static const ReturnToLaunchRequest& default_instance() {
      return *internal_default_instance();
    }
    static inline const ReturnToLaunchRequest* internal_default_instance() {
      return reinterpret_cast<const ReturnToLaunchRequest*>(
                 &_ReturnToLaunchRequest_default_instance_);
    }
    static constexpr int kIndexInFileMessages =
      16;
  
    friend void swap(ReturnToLaunchRequest& a, ReturnToLaunchRequest& b) {
      a.Swap(&b);
    }
    inline void Swap(ReturnToLaunchRequest* other) {
      if (other == this) return;
      if (GetArena() == other->GetArena()) {
        InternalSwap(other);
      } else {
        ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
      }
    }
    void UnsafeArenaSwap(ReturnToLaunchRequest* other) {
      if (other == this) return;
      GOOGLE_DCHECK(GetArena() == other->GetArena());
      InternalSwap(other);
    }
  
    // implements Message ----------------------------------------------
  
    inline ReturnToLaunchRequest* New() const final {
      return CreateMaybeMessage<ReturnToLaunchRequest>(nullptr);
    }
  
    ReturnToLaunchRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
      return CreateMaybeMessage<ReturnToLaunchRequest>(arena);
    }
    void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
    void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
    void CopyFrom(const ReturnToLaunchRequest& from);
    void MergeFrom(const ReturnToLaunchRequest& from);
    PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
    bool IsInitialized() const final;
  
    size_t ByteSizeLong() const final;
    const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
    ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
        ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
    int GetCachedSize() const final { return _cached_size_.Get(); }
  
    private:
    inline void SharedCtor();
    inline void SharedDtor();
    void SetCachedSize(int size) const final;
    void InternalSwap(ReturnToLaunchRequest* other);
    friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
    static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
      return "mavsdk.rpc.action.ReturnToLaunchRequest";
    }
    protected:
    explicit ReturnToLaunchRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena);
    private:
    static void ArenaDtor(void* object);
    inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
    public:
  
    ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
    private:
    static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
      return ::descriptor_table_action_2faction_2eproto_metadata_getter(kIndexInFileMessages);
    }
  
    public:
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // @@protoc_insertion_point(class_scope:mavsdk.rpc.action.ReturnToLaunchRequest)
   private:
    class _Internal;
  
    template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
    typedef void InternalArenaConstructable_;
    typedef void DestructorSkippable_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    friend struct ::TableStruct_action_2faction_2eproto;
  };
  // -------------------------------------------------------------------
  
  class ReturnToLaunchResponse PROTOBUF_FINAL :
      public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:mavsdk.rpc.action.ReturnToLaunchResponse) */ {
   public:
    inline ReturnToLaunchResponse() : ReturnToLaunchResponse(nullptr) {}
    virtual ~ReturnToLaunchResponse();
    explicit constexpr ReturnToLaunchResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
  
    ReturnToLaunchResponse(const ReturnToLaunchResponse& from);
    ReturnToLaunchResponse(ReturnToLaunchResponse&& from) noexcept
      : ReturnToLaunchResponse() {
      *this = ::std::move(from);
    }
  
    inline ReturnToLaunchResponse& operator=(const ReturnToLaunchResponse& from) {
      CopyFrom(from);
      return *this;
    }
    inline ReturnToLaunchResponse& operator=(ReturnToLaunchResponse&& from) noexcept {
      if (GetArena() == from.GetArena()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
  
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
      return GetDescriptor();
    }
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
      return GetMetadataStatic().descriptor;
    }
    static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
      return GetMetadataStatic().reflection;
    }
    static const ReturnToLaunchResponse& default_instance() {
      return *internal_default_instance();
    }
    static inline const ReturnToLaunchResponse* internal_default_instance() {
      return reinterpret_cast<const ReturnToLaunchResponse*>(
                 &_ReturnToLaunchResponse_default_instance_);
    }
    static constexpr int kIndexInFileMessages =
      17;
  
    friend void swap(ReturnToLaunchResponse& a, ReturnToLaunchResponse& b) {
      a.Swap(&b);
    }
    inline void Swap(ReturnToLaunchResponse* other) {
      if (other == this) return;
      if (GetArena() == other->GetArena()) {
        InternalSwap(other);
      } else {
        ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
      }
    }
    void UnsafeArenaSwap(ReturnToLaunchResponse* other) {
      if (other == this) return;
      GOOGLE_DCHECK(GetArena() == other->GetArena());
      InternalSwap(other);
    }
  
    // implements Message ----------------------------------------------
  
    inline ReturnToLaunchResponse* New() const final {
      return CreateMaybeMessage<ReturnToLaunchResponse>(nullptr);
    }
  
    ReturnToLaunchResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
      return CreateMaybeMessage<ReturnToLaunchResponse>(arena);
    }
    void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
    void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
    void CopyFrom(const ReturnToLaunchResponse& from);
    void MergeFrom(const ReturnToLaunchResponse& from);
    PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
    bool IsInitialized() const final;
  
    size_t ByteSizeLong() const final;
    const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
    ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
        ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
    int GetCachedSize() const final { return _cached_size_.Get(); }
  
    private:
    inline void SharedCtor();
    inline void SharedDtor();
    void SetCachedSize(int size) const final;
    void InternalSwap(ReturnToLaunchResponse* other);
    friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
    static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
      return "mavsdk.rpc.action.ReturnToLaunchResponse";
    }
    protected:
    explicit ReturnToLaunchResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena);
    private:
    static void ArenaDtor(void* object);
    inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
    public:
  
    ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
    private:
    static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
      return ::descriptor_table_action_2faction_2eproto_metadata_getter(kIndexInFileMessages);
    }
  
    public:
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    enum : int {
      kActionResultFieldNumber = 1,
    };
    // .mavsdk.rpc.action.ActionResult action_result = 1;
    bool has_action_result() const;
    private:
    bool _internal_has_action_result() const;
    public:
    void clear_action_result();
    const ::mavsdk::rpc::action::ActionResult& action_result() const;
    ::mavsdk::rpc::action::ActionResult* release_action_result();
    ::mavsdk::rpc::action::ActionResult* mutable_action_result();
    void set_allocated_action_result(::mavsdk::rpc::action::ActionResult* action_result);
    private:
    const ::mavsdk::rpc::action::ActionResult& _internal_action_result() const;
    ::mavsdk::rpc::action::ActionResult* _internal_mutable_action_result();
    public:
    void unsafe_arena_set_allocated_action_result(
        ::mavsdk::rpc::action::ActionResult* action_result);
    ::mavsdk::rpc::action::ActionResult* unsafe_arena_release_action_result();
  
    // @@protoc_insertion_point(class_scope:mavsdk.rpc.action.ReturnToLaunchResponse)
   private:
    class _Internal;
  
    template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
    typedef void InternalArenaConstructable_;
    typedef void DestructorSkippable_;
    ::mavsdk::rpc::action::ActionResult* action_result_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    friend struct ::TableStruct_action_2faction_2eproto;
  };
  // -------------------------------------------------------------------
  
  class GotoLocationRequest PROTOBUF_FINAL :
      public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:mavsdk.rpc.action.GotoLocationRequest) */ {
   public:
    inline GotoLocationRequest() : GotoLocationRequest(nullptr) {}
    virtual ~GotoLocationRequest();
    explicit constexpr GotoLocationRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
  
    GotoLocationRequest(const GotoLocationRequest& from);
    GotoLocationRequest(GotoLocationRequest&& from) noexcept
      : GotoLocationRequest() {
      *this = ::std::move(from);
    }
  
    inline GotoLocationRequest& operator=(const GotoLocationRequest& from) {
      CopyFrom(from);
      return *this;
    }
    inline GotoLocationRequest& operator=(GotoLocationRequest&& from) noexcept {
      if (GetArena() == from.GetArena()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
  
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
      return GetDescriptor();
    }
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
      return GetMetadataStatic().descriptor;
    }
    static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
      return GetMetadataStatic().reflection;
    }
    static const GotoLocationRequest& default_instance() {
      return *internal_default_instance();
    }
    static inline const GotoLocationRequest* internal_default_instance() {
      return reinterpret_cast<const GotoLocationRequest*>(
                 &_GotoLocationRequest_default_instance_);
    }
    static constexpr int kIndexInFileMessages =
      18;
  
    friend void swap(GotoLocationRequest& a, GotoLocationRequest& b) {
      a.Swap(&b);
    }
    inline void Swap(GotoLocationRequest* other) {
      if (other == this) return;
      if (GetArena() == other->GetArena()) {
        InternalSwap(other);
      } else {
        ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
      }
    }
    void UnsafeArenaSwap(GotoLocationRequest* other) {
      if (other == this) return;
      GOOGLE_DCHECK(GetArena() == other->GetArena());
      InternalSwap(other);
    }
  
    // implements Message ----------------------------------------------
  
    inline GotoLocationRequest* New() const final {
      return CreateMaybeMessage<GotoLocationRequest>(nullptr);
    }
  
    GotoLocationRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
      return CreateMaybeMessage<GotoLocationRequest>(arena);
    }
    void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
    void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
    void CopyFrom(const GotoLocationRequest& from);
    void MergeFrom(const GotoLocationRequest& from);
    PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
    bool IsInitialized() const final;
  
    size_t ByteSizeLong() const final;
    const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
    ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
        ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
    int GetCachedSize() const final { return _cached_size_.Get(); }
  
    private:
    inline void SharedCtor();
    inline void SharedDtor();
    void SetCachedSize(int size) const final;
    void InternalSwap(GotoLocationRequest* other);
    friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
    static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
      return "mavsdk.rpc.action.GotoLocationRequest";
    }
    protected:
    explicit GotoLocationRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena);
    private:
    static void ArenaDtor(void* object);
    inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
    public:
  
    ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
    private:
    static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
      return ::descriptor_table_action_2faction_2eproto_metadata_getter(kIndexInFileMessages);
    }
  
    public:
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    enum : int {
      kLatitudeDegFieldNumber = 1,
      kLongitudeDegFieldNumber = 2,
      kAbsoluteAltitudeMFieldNumber = 3,
      kYawDegFieldNumber = 4,
    };
    // double latitude_deg = 1;
    void clear_latitude_deg();
    double latitude_deg() const;
    void set_latitude_deg(double value);
    private:
    double _internal_latitude_deg() const;
    void _internal_set_latitude_deg(double value);
    public:
  
    // double longitude_deg = 2;
    void clear_longitude_deg();
    double longitude_deg() const;
    void set_longitude_deg(double value);
    private:
    double _internal_longitude_deg() const;
    void _internal_set_longitude_deg(double value);
    public:
  
    // float absolute_altitude_m = 3;
    void clear_absolute_altitude_m();
    float absolute_altitude_m() const;
    void set_absolute_altitude_m(float value);
    private:
    float _internal_absolute_altitude_m() const;
    void _internal_set_absolute_altitude_m(float value);
    public:
  
    // float yaw_deg = 4;
    void clear_yaw_deg();
    float yaw_deg() const;
    void set_yaw_deg(float value);
    private:
    float _internal_yaw_deg() const;
    void _internal_set_yaw_deg(float value);
    public:
  
    // @@protoc_insertion_point(class_scope:mavsdk.rpc.action.GotoLocationRequest)
   private:
    class _Internal;
  
    template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
    typedef void InternalArenaConstructable_;
    typedef void DestructorSkippable_;
    double latitude_deg_;
    double longitude_deg_;
    float absolute_altitude_m_;
    float yaw_deg_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    friend struct ::TableStruct_action_2faction_2eproto;
  };
  // -------------------------------------------------------------------
  
  class GotoLocationResponse PROTOBUF_FINAL :
      public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:mavsdk.rpc.action.GotoLocationResponse) */ {
   public:
    inline GotoLocationResponse() : GotoLocationResponse(nullptr) {}
    virtual ~GotoLocationResponse();
    explicit constexpr GotoLocationResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
  
    GotoLocationResponse(const GotoLocationResponse& from);
    GotoLocationResponse(GotoLocationResponse&& from) noexcept
      : GotoLocationResponse() {
      *this = ::std::move(from);
    }
  
    inline GotoLocationResponse& operator=(const GotoLocationResponse& from) {
      CopyFrom(from);
      return *this;
    }
    inline GotoLocationResponse& operator=(GotoLocationResponse&& from) noexcept {
      if (GetArena() == from.GetArena()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
  
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
      return GetDescriptor();
    }
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
      return GetMetadataStatic().descriptor;
    }
    static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
      return GetMetadataStatic().reflection;
    }
    static const GotoLocationResponse& default_instance() {
      return *internal_default_instance();
    }
    static inline const GotoLocationResponse* internal_default_instance() {
      return reinterpret_cast<const GotoLocationResponse*>(
                 &_GotoLocationResponse_default_instance_);
    }
    static constexpr int kIndexInFileMessages =
      19;
  
    friend void swap(GotoLocationResponse& a, GotoLocationResponse& b) {
      a.Swap(&b);
    }
    inline void Swap(GotoLocationResponse* other) {
      if (other == this) return;
      if (GetArena() == other->GetArena()) {
        InternalSwap(other);
      } else {
        ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
      }
    }
    void UnsafeArenaSwap(GotoLocationResponse* other) {
      if (other == this) return;
      GOOGLE_DCHECK(GetArena() == other->GetArena());
      InternalSwap(other);
    }
  
    // implements Message ----------------------------------------------
  
    inline GotoLocationResponse* New() const final {
      return CreateMaybeMessage<GotoLocationResponse>(nullptr);
    }
  
    GotoLocationResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
      return CreateMaybeMessage<GotoLocationResponse>(arena);
    }
    void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
    void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
    void CopyFrom(const GotoLocationResponse& from);
    void MergeFrom(const GotoLocationResponse& from);
    PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
    bool IsInitialized() const final;
  
    size_t ByteSizeLong() const final;
    const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
    ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
        ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
    int GetCachedSize() const final { return _cached_size_.Get(); }
  
    private:
    inline void SharedCtor();
    inline void SharedDtor();
    void SetCachedSize(int size) const final;
    void InternalSwap(GotoLocationResponse* other);
    friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
    static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
      return "mavsdk.rpc.action.GotoLocationResponse";
    }
    protected:
    explicit GotoLocationResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena);
    private:
    static void ArenaDtor(void* object);
    inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
    public:
  
    ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
    private:
    static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
      return ::descriptor_table_action_2faction_2eproto_metadata_getter(kIndexInFileMessages);
    }
  
    public:
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    enum : int {
      kActionResultFieldNumber = 1,
    };
    // .mavsdk.rpc.action.ActionResult action_result = 1;
    bool has_action_result() const;
    private:
    bool _internal_has_action_result() const;
    public:
    void clear_action_result();
    const ::mavsdk::rpc::action::ActionResult& action_result() const;
    ::mavsdk::rpc::action::ActionResult* release_action_result();
    ::mavsdk::rpc::action::ActionResult* mutable_action_result();
    void set_allocated_action_result(::mavsdk::rpc::action::ActionResult* action_result);
    private:
    const ::mavsdk::rpc::action::ActionResult& _internal_action_result() const;
    ::mavsdk::rpc::action::ActionResult* _internal_mutable_action_result();
    public:
    void unsafe_arena_set_allocated_action_result(
        ::mavsdk::rpc::action::ActionResult* action_result);
    ::mavsdk::rpc::action::ActionResult* unsafe_arena_release_action_result();
  
    // @@protoc_insertion_point(class_scope:mavsdk.rpc.action.GotoLocationResponse)
   private:
    class _Internal;
  
    template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
    typedef void InternalArenaConstructable_;
    typedef void DestructorSkippable_;
    ::mavsdk::rpc::action::ActionResult* action_result_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    friend struct ::TableStruct_action_2faction_2eproto;
  };
  // -------------------------------------------------------------------
  
  class DoOrbitRequest PROTOBUF_FINAL :
      public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:mavsdk.rpc.action.DoOrbitRequest) */ {
   public:
    inline DoOrbitRequest() : DoOrbitRequest(nullptr) {}
    virtual ~DoOrbitRequest();
    explicit constexpr DoOrbitRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
  
    DoOrbitRequest(const DoOrbitRequest& from);
    DoOrbitRequest(DoOrbitRequest&& from) noexcept
      : DoOrbitRequest() {
      *this = ::std::move(from);
    }
  
    inline DoOrbitRequest& operator=(const DoOrbitRequest& from) {
      CopyFrom(from);
      return *this;
    }
    inline DoOrbitRequest& operator=(DoOrbitRequest&& from) noexcept {
      if (GetArena() == from.GetArena()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
  
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
      return GetDescriptor();
    }
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
      return GetMetadataStatic().descriptor;
    }
    static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
      return GetMetadataStatic().reflection;
    }
    static const DoOrbitRequest& default_instance() {
      return *internal_default_instance();
    }
    static inline const DoOrbitRequest* internal_default_instance() {
      return reinterpret_cast<const DoOrbitRequest*>(
                 &_DoOrbitRequest_default_instance_);
    }
    static constexpr int kIndexInFileMessages =
      20;
  
    friend void swap(DoOrbitRequest& a, DoOrbitRequest& b) {
      a.Swap(&b);
    }
    inline void Swap(DoOrbitRequest* other) {
      if (other == this) return;
      if (GetArena() == other->GetArena()) {
        InternalSwap(other);
      } else {
        ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
      }
    }
    void UnsafeArenaSwap(DoOrbitRequest* other) {
      if (other == this) return;
      GOOGLE_DCHECK(GetArena() == other->GetArena());
      InternalSwap(other);
    }
  
    // implements Message ----------------------------------------------
  
    inline DoOrbitRequest* New() const final {
      return CreateMaybeMessage<DoOrbitRequest>(nullptr);
    }
  
    DoOrbitRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
      return CreateMaybeMessage<DoOrbitRequest>(arena);
    }
    void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
    void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
    void CopyFrom(const DoOrbitRequest& from);
    void MergeFrom(const DoOrbitRequest& from);
    PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
    bool IsInitialized() const final;
  
    size_t ByteSizeLong() const final;
    const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
    ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
        ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
    int GetCachedSize() const final { return _cached_size_.Get(); }
  
    private:
    inline void SharedCtor();
    inline void SharedDtor();
    void SetCachedSize(int size) const final;
    void InternalSwap(DoOrbitRequest* other);
    friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
    static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
      return "mavsdk.rpc.action.DoOrbitRequest";
    }
    protected:
    explicit DoOrbitRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena);
    private:
    static void ArenaDtor(void* object);
    inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
    public:
  
    ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
    private:
    static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
      return ::descriptor_table_action_2faction_2eproto_metadata_getter(kIndexInFileMessages);
    }
  
    public:
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    enum : int {
      kRadiusMFieldNumber = 1,
      kVelocityMsFieldNumber = 2,
      kLatitudeDegFieldNumber = 5,
      kLongitudeDegFieldNumber = 6,
      kAbsoluteAltitudeMFieldNumber = 7,
      kYawBehaviorFieldNumber = 3,
    };
    // float radius_m = 1;
    void clear_radius_m();
    float radius_m() const;
    void set_radius_m(float value);
    private:
    float _internal_radius_m() const;
    void _internal_set_radius_m(float value);
    public:
  
    // float velocity_ms = 2;
    void clear_velocity_ms();
    float velocity_ms() const;
    void set_velocity_ms(float value);
    private:
    float _internal_velocity_ms() const;
    void _internal_set_velocity_ms(float value);
    public:
  
    // double latitude_deg = 5 [(.mavsdk.options.default_value) = "NaN"];
    void clear_latitude_deg();
    double latitude_deg() const;
    void set_latitude_deg(double value);
    private:
    double _internal_latitude_deg() const;
    void _internal_set_latitude_deg(double value);
    public:
  
    // double longitude_deg = 6 [(.mavsdk.options.default_value) = "NaN"];
    void clear_longitude_deg();
    double longitude_deg() const;
    void set_longitude_deg(double value);
    private:
    double _internal_longitude_deg() const;
    void _internal_set_longitude_deg(double value);
    public:
  
    // double absolute_altitude_m = 7 [(.mavsdk.options.default_value) = "NaN"];
    void clear_absolute_altitude_m();
    double absolute_altitude_m() const;
    void set_absolute_altitude_m(double value);
    private:
    double _internal_absolute_altitude_m() const;
    void _internal_set_absolute_altitude_m(double value);
    public:
  
    // .mavsdk.rpc.action.OrbitYawBehavior yaw_behavior = 3;
    void clear_yaw_behavior();
    ::mavsdk::rpc::action::OrbitYawBehavior yaw_behavior() const;
    void set_yaw_behavior(::mavsdk::rpc::action::OrbitYawBehavior value);
    private:
    ::mavsdk::rpc::action::OrbitYawBehavior _internal_yaw_behavior() const;
    void _internal_set_yaw_behavior(::mavsdk::rpc::action::OrbitYawBehavior value);
    public:
  
    // @@protoc_insertion_point(class_scope:mavsdk.rpc.action.DoOrbitRequest)
   private:
    class _Internal;
  
    template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
    typedef void InternalArenaConstructable_;
    typedef void DestructorSkippable_;
    float radius_m_;
    float velocity_ms_;
    double latitude_deg_;
    double longitude_deg_;
    double absolute_altitude_m_;
    int yaw_behavior_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    friend struct ::TableStruct_action_2faction_2eproto;
  };
  // -------------------------------------------------------------------
  
  class DoOrbitResponse PROTOBUF_FINAL :
      public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:mavsdk.rpc.action.DoOrbitResponse) */ {
   public:
    inline DoOrbitResponse() : DoOrbitResponse(nullptr) {}
    virtual ~DoOrbitResponse();
    explicit constexpr DoOrbitResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
  
    DoOrbitResponse(const DoOrbitResponse& from);
    DoOrbitResponse(DoOrbitResponse&& from) noexcept
      : DoOrbitResponse() {
      *this = ::std::move(from);
    }
  
    inline DoOrbitResponse& operator=(const DoOrbitResponse& from) {
      CopyFrom(from);
      return *this;
    }
    inline DoOrbitResponse& operator=(DoOrbitResponse&& from) noexcept {
      if (GetArena() == from.GetArena()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
  
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
      return GetDescriptor();
    }
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
      return GetMetadataStatic().descriptor;
    }
    static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
      return GetMetadataStatic().reflection;
    }
    static const DoOrbitResponse& default_instance() {
      return *internal_default_instance();
    }
    static inline const DoOrbitResponse* internal_default_instance() {
      return reinterpret_cast<const DoOrbitResponse*>(
                 &_DoOrbitResponse_default_instance_);
    }
    static constexpr int kIndexInFileMessages =
      21;
  
    friend void swap(DoOrbitResponse& a, DoOrbitResponse& b) {
      a.Swap(&b);
    }
    inline void Swap(DoOrbitResponse* other) {
      if (other == this) return;
      if (GetArena() == other->GetArena()) {
        InternalSwap(other);
      } else {
        ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
      }
    }
    void UnsafeArenaSwap(DoOrbitResponse* other) {
      if (other == this) return;
      GOOGLE_DCHECK(GetArena() == other->GetArena());
      InternalSwap(other);
    }
  
    // implements Message ----------------------------------------------
  
    inline DoOrbitResponse* New() const final {
      return CreateMaybeMessage<DoOrbitResponse>(nullptr);
    }
  
    DoOrbitResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
      return CreateMaybeMessage<DoOrbitResponse>(arena);
    }
    void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
    void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
    void CopyFrom(const DoOrbitResponse& from);
    void MergeFrom(const DoOrbitResponse& from);
    PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
    bool IsInitialized() const final;
  
    size_t ByteSizeLong() const final;
    const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
    ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
        ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
    int GetCachedSize() const final { return _cached_size_.Get(); }
  
    private:
    inline void SharedCtor();
    inline void SharedDtor();
    void SetCachedSize(int size) const final;
    void InternalSwap(DoOrbitResponse* other);
    friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
    static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
      return "mavsdk.rpc.action.DoOrbitResponse";
    }
    protected:
    explicit DoOrbitResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena);
    private:
    static void ArenaDtor(void* object);
    inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
    public:
  
    ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
    private:
    static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
      return ::descriptor_table_action_2faction_2eproto_metadata_getter(kIndexInFileMessages);
    }
  
    public:
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    enum : int {
      kActionResultFieldNumber = 1,
    };
    // .mavsdk.rpc.action.ActionResult action_result = 1;
    bool has_action_result() const;
    private:
    bool _internal_has_action_result() const;
    public:
    void clear_action_result();
    const ::mavsdk::rpc::action::ActionResult& action_result() const;
    ::mavsdk::rpc::action::ActionResult* release_action_result();
    ::mavsdk::rpc::action::ActionResult* mutable_action_result();
    void set_allocated_action_result(::mavsdk::rpc::action::ActionResult* action_result);
    private:
    const ::mavsdk::rpc::action::ActionResult& _internal_action_result() const;
    ::mavsdk::rpc::action::ActionResult* _internal_mutable_action_result();
    public:
    void unsafe_arena_set_allocated_action_result(
        ::mavsdk::rpc::action::ActionResult* action_result);
    ::mavsdk::rpc::action::ActionResult* unsafe_arena_release_action_result();
  
    // @@protoc_insertion_point(class_scope:mavsdk.rpc.action.DoOrbitResponse)
   private:
    class _Internal;
  
    template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
    typedef void InternalArenaConstructable_;
    typedef void DestructorSkippable_;
    ::mavsdk::rpc::action::ActionResult* action_result_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    friend struct ::TableStruct_action_2faction_2eproto;
  };
  // -------------------------------------------------------------------
  
  class HoldRequest PROTOBUF_FINAL :
      public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:mavsdk.rpc.action.HoldRequest) */ {
   public:
    inline HoldRequest() : HoldRequest(nullptr) {}
    virtual ~HoldRequest();
    explicit constexpr HoldRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
  
    HoldRequest(const HoldRequest& from);
    HoldRequest(HoldRequest&& from) noexcept
      : HoldRequest() {
      *this = ::std::move(from);
    }
  
    inline HoldRequest& operator=(const HoldRequest& from) {
      CopyFrom(from);
      return *this;
    }
    inline HoldRequest& operator=(HoldRequest&& from) noexcept {
      if (GetArena() == from.GetArena()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
  
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
      return GetDescriptor();
    }
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
      return GetMetadataStatic().descriptor;
    }
    static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
      return GetMetadataStatic().reflection;
    }
    static const HoldRequest& default_instance() {
      return *internal_default_instance();
    }
    static inline const HoldRequest* internal_default_instance() {
      return reinterpret_cast<const HoldRequest*>(
                 &_HoldRequest_default_instance_);
    }
    static constexpr int kIndexInFileMessages =
      22;
  
    friend void swap(HoldRequest& a, HoldRequest& b) {
      a.Swap(&b);
    }
    inline void Swap(HoldRequest* other) {
      if (other == this) return;
      if (GetArena() == other->GetArena()) {
        InternalSwap(other);
      } else {
        ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
      }
    }
    void UnsafeArenaSwap(HoldRequest* other) {
      if (other == this) return;
      GOOGLE_DCHECK(GetArena() == other->GetArena());
      InternalSwap(other);
    }
  
    // implements Message ----------------------------------------------
  
    inline HoldRequest* New() const final {
      return CreateMaybeMessage<HoldRequest>(nullptr);
    }
  
    HoldRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
      return CreateMaybeMessage<HoldRequest>(arena);
    }
    void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
    void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
    void CopyFrom(const HoldRequest& from);
    void MergeFrom(const HoldRequest& from);
    PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
    bool IsInitialized() const final;
  
    size_t ByteSizeLong() const final;
    const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
    ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
        ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
    int GetCachedSize() const final { return _cached_size_.Get(); }
  
    private:
    inline void SharedCtor();
    inline void SharedDtor();
    void SetCachedSize(int size) const final;
    void InternalSwap(HoldRequest* other);
    friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
    static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
      return "mavsdk.rpc.action.HoldRequest";
    }
    protected:
    explicit HoldRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena);
    private:
    static void ArenaDtor(void* object);
    inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
    public:
  
    ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
    private:
    static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
      return ::descriptor_table_action_2faction_2eproto_metadata_getter(kIndexInFileMessages);
    }
  
    public:
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // @@protoc_insertion_point(class_scope:mavsdk.rpc.action.HoldRequest)
   private:
    class _Internal;
  
    template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
    typedef void InternalArenaConstructable_;
    typedef void DestructorSkippable_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    friend struct ::TableStruct_action_2faction_2eproto;
  };
  // -------------------------------------------------------------------
  
  class HoldResponse PROTOBUF_FINAL :
      public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:mavsdk.rpc.action.HoldResponse) */ {
   public:
    inline HoldResponse() : HoldResponse(nullptr) {}
    virtual ~HoldResponse();
    explicit constexpr HoldResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
  
    HoldResponse(const HoldResponse& from);
    HoldResponse(HoldResponse&& from) noexcept
      : HoldResponse() {
      *this = ::std::move(from);
    }
  
    inline HoldResponse& operator=(const HoldResponse& from) {
      CopyFrom(from);
      return *this;
    }
    inline HoldResponse& operator=(HoldResponse&& from) noexcept {
      if (GetArena() == from.GetArena()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
  
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
      return GetDescriptor();
    }
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
      return GetMetadataStatic().descriptor;
    }
    static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
      return GetMetadataStatic().reflection;
    }
    static const HoldResponse& default_instance() {
      return *internal_default_instance();
    }
    static inline const HoldResponse* internal_default_instance() {
      return reinterpret_cast<const HoldResponse*>(
                 &_HoldResponse_default_instance_);
    }
    static constexpr int kIndexInFileMessages =
      23;
  
    friend void swap(HoldResponse& a, HoldResponse& b) {
      a.Swap(&b);
    }
    inline void Swap(HoldResponse* other) {
      if (other == this) return;
      if (GetArena() == other->GetArena()) {
        InternalSwap(other);
      } else {
        ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
      }
    }
    void UnsafeArenaSwap(HoldResponse* other) {
      if (other == this) return;
      GOOGLE_DCHECK(GetArena() == other->GetArena());
      InternalSwap(other);
    }
  
    // implements Message ----------------------------------------------
  
    inline HoldResponse* New() const final {
      return CreateMaybeMessage<HoldResponse>(nullptr);
    }
  
    HoldResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
      return CreateMaybeMessage<HoldResponse>(arena);
    }
    void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
    void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
    void CopyFrom(const HoldResponse& from);
    void MergeFrom(const HoldResponse& from);
    PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
    bool IsInitialized() const final;
  
    size_t ByteSizeLong() const final;
    const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
    ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
        ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
    int GetCachedSize() const final { return _cached_size_.Get(); }
  
    private:
    inline void SharedCtor();
    inline void SharedDtor();
    void SetCachedSize(int size) const final;
    void InternalSwap(HoldResponse* other);
    friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
    static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
      return "mavsdk.rpc.action.HoldResponse";
    }
    protected:
    explicit HoldResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena);
    private:
    static void ArenaDtor(void* object);
    inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
    public:
  
    ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
    private:
    static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
      return ::descriptor_table_action_2faction_2eproto_metadata_getter(kIndexInFileMessages);
    }
  
    public:
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    enum : int {
      kActionResultFieldNumber = 1,
    };
    // .mavsdk.rpc.action.ActionResult action_result = 1;
    bool has_action_result() const;
    private:
    bool _internal_has_action_result() const;
    public:
    void clear_action_result();
    const ::mavsdk::rpc::action::ActionResult& action_result() const;
    ::mavsdk::rpc::action::ActionResult* release_action_result();
    ::mavsdk::rpc::action::ActionResult* mutable_action_result();
    void set_allocated_action_result(::mavsdk::rpc::action::ActionResult* action_result);
    private:
    const ::mavsdk::rpc::action::ActionResult& _internal_action_result() const;
    ::mavsdk::rpc::action::ActionResult* _internal_mutable_action_result();
    public:
    void unsafe_arena_set_allocated_action_result(
        ::mavsdk::rpc::action::ActionResult* action_result);
    ::mavsdk::rpc::action::ActionResult* unsafe_arena_release_action_result();
  
    // @@protoc_insertion_point(class_scope:mavsdk.rpc.action.HoldResponse)
   private:
    class _Internal;
  
    template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
    typedef void InternalArenaConstructable_;
    typedef void DestructorSkippable_;
    ::mavsdk::rpc::action::ActionResult* action_result_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    friend struct ::TableStruct_action_2faction_2eproto;
  };
  // -------------------------------------------------------------------
  
  class TransitionToFixedwingRequest PROTOBUF_FINAL :
      public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:mavsdk.rpc.action.TransitionToFixedwingRequest) */ {
   public:
    inline TransitionToFixedwingRequest() : TransitionToFixedwingRequest(nullptr) {}
    virtual ~TransitionToFixedwingRequest();
    explicit constexpr TransitionToFixedwingRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
  
    TransitionToFixedwingRequest(const TransitionToFixedwingRequest& from);
    TransitionToFixedwingRequest(TransitionToFixedwingRequest&& from) noexcept
      : TransitionToFixedwingRequest() {
      *this = ::std::move(from);
    }
  
    inline TransitionToFixedwingRequest& operator=(const TransitionToFixedwingRequest& from) {
      CopyFrom(from);
      return *this;
    }
    inline TransitionToFixedwingRequest& operator=(TransitionToFixedwingRequest&& from) noexcept {
      if (GetArena() == from.GetArena()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
  
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
      return GetDescriptor();
    }
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
      return GetMetadataStatic().descriptor;
    }
    static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
      return GetMetadataStatic().reflection;
    }
    static const TransitionToFixedwingRequest& default_instance() {
      return *internal_default_instance();
    }
    static inline const TransitionToFixedwingRequest* internal_default_instance() {
      return reinterpret_cast<const TransitionToFixedwingRequest*>(
                 &_TransitionToFixedwingRequest_default_instance_);
    }
    static constexpr int kIndexInFileMessages =
      24;
  
    friend void swap(TransitionToFixedwingRequest& a, TransitionToFixedwingRequest& b) {
      a.Swap(&b);
    }
    inline void Swap(TransitionToFixedwingRequest* other) {
      if (other == this) return;
      if (GetArena() == other->GetArena()) {
        InternalSwap(other);
      } else {
        ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
      }
    }
    void UnsafeArenaSwap(TransitionToFixedwingRequest* other) {
      if (other == this) return;
      GOOGLE_DCHECK(GetArena() == other->GetArena());
      InternalSwap(other);
    }
  
    // implements Message ----------------------------------------------
  
    inline TransitionToFixedwingRequest* New() const final {
      return CreateMaybeMessage<TransitionToFixedwingRequest>(nullptr);
    }
  
    TransitionToFixedwingRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
      return CreateMaybeMessage<TransitionToFixedwingRequest>(arena);
    }
    void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
    void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
    void CopyFrom(const TransitionToFixedwingRequest& from);
    void MergeFrom(const TransitionToFixedwingRequest& from);
    PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
    bool IsInitialized() const final;
  
    size_t ByteSizeLong() const final;
    const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
    ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
        ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
    int GetCachedSize() const final { return _cached_size_.Get(); }
  
    private:
    inline void SharedCtor();
    inline void SharedDtor();
    void SetCachedSize(int size) const final;
    void InternalSwap(TransitionToFixedwingRequest* other);
    friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
    static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
      return "mavsdk.rpc.action.TransitionToFixedwingRequest";
    }
    protected:
    explicit TransitionToFixedwingRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena);
    private:
    static void ArenaDtor(void* object);
    inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
    public:
  
    ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
    private:
    static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
      return ::descriptor_table_action_2faction_2eproto_metadata_getter(kIndexInFileMessages);
    }
  
    public:
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // @@protoc_insertion_point(class_scope:mavsdk.rpc.action.TransitionToFixedwingRequest)
   private:
    class _Internal;
  
    template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
    typedef void InternalArenaConstructable_;
    typedef void DestructorSkippable_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    friend struct ::TableStruct_action_2faction_2eproto;
  };
  // -------------------------------------------------------------------
  
  class TransitionToFixedwingResponse PROTOBUF_FINAL :
      public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:mavsdk.rpc.action.TransitionToFixedwingResponse) */ {
   public:
    inline TransitionToFixedwingResponse() : TransitionToFixedwingResponse(nullptr) {}
    virtual ~TransitionToFixedwingResponse();
    explicit constexpr TransitionToFixedwingResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
  
    TransitionToFixedwingResponse(const TransitionToFixedwingResponse& from);
    TransitionToFixedwingResponse(TransitionToFixedwingResponse&& from) noexcept
      : TransitionToFixedwingResponse() {
      *this = ::std::move(from);
    }
  
    inline TransitionToFixedwingResponse& operator=(const TransitionToFixedwingResponse& from) {
      CopyFrom(from);
      return *this;
    }
    inline TransitionToFixedwingResponse& operator=(TransitionToFixedwingResponse&& from) noexcept {
      if (GetArena() == from.GetArena()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
  
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
      return GetDescriptor();
    }
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
      return GetMetadataStatic().descriptor;
    }
    static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
      return GetMetadataStatic().reflection;
    }
    static const TransitionToFixedwingResponse& default_instance() {
      return *internal_default_instance();
    }
    static inline const TransitionToFixedwingResponse* internal_default_instance() {
      return reinterpret_cast<const TransitionToFixedwingResponse*>(
                 &_TransitionToFixedwingResponse_default_instance_);
    }
    static constexpr int kIndexInFileMessages =
      25;
  
    friend void swap(TransitionToFixedwingResponse& a, TransitionToFixedwingResponse& b) {
      a.Swap(&b);
    }
    inline void Swap(TransitionToFixedwingResponse* other) {
      if (other == this) return;
      if (GetArena() == other->GetArena()) {
        InternalSwap(other);
      } else {
        ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
      }
    }
    void UnsafeArenaSwap(TransitionToFixedwingResponse* other) {
      if (other == this) return;
      GOOGLE_DCHECK(GetArena() == other->GetArena());
      InternalSwap(other);
    }
  
    // implements Message ----------------------------------------------
  
    inline TransitionToFixedwingResponse* New() const final {
      return CreateMaybeMessage<TransitionToFixedwingResponse>(nullptr);
    }
  
    TransitionToFixedwingResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
      return CreateMaybeMessage<TransitionToFixedwingResponse>(arena);
    }
    void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
    void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
    void CopyFrom(const TransitionToFixedwingResponse& from);
    void MergeFrom(const TransitionToFixedwingResponse& from);
    PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
    bool IsInitialized() const final;
  
    size_t ByteSizeLong() const final;
    const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
    ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
        ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
    int GetCachedSize() const final { return _cached_size_.Get(); }
  
    private:
    inline void SharedCtor();
    inline void SharedDtor();
    void SetCachedSize(int size) const final;
    void InternalSwap(TransitionToFixedwingResponse* other);
    friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
    static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
      return "mavsdk.rpc.action.TransitionToFixedwingResponse";
    }
    protected:
    explicit TransitionToFixedwingResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena);
    private:
    static void ArenaDtor(void* object);
    inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
    public:
  
    ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
    private:
    static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
      return ::descriptor_table_action_2faction_2eproto_metadata_getter(kIndexInFileMessages);
    }
  
    public:
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    enum : int {
      kActionResultFieldNumber = 1,
    };
    // .mavsdk.rpc.action.ActionResult action_result = 1;
    bool has_action_result() const;
    private:
    bool _internal_has_action_result() const;
    public:
    void clear_action_result();
    const ::mavsdk::rpc::action::ActionResult& action_result() const;
    ::mavsdk::rpc::action::ActionResult* release_action_result();
    ::mavsdk::rpc::action::ActionResult* mutable_action_result();
    void set_allocated_action_result(::mavsdk::rpc::action::ActionResult* action_result);
    private:
    const ::mavsdk::rpc::action::ActionResult& _internal_action_result() const;
    ::mavsdk::rpc::action::ActionResult* _internal_mutable_action_result();
    public:
    void unsafe_arena_set_allocated_action_result(
        ::mavsdk::rpc::action::ActionResult* action_result);
    ::mavsdk::rpc::action::ActionResult* unsafe_arena_release_action_result();
  
    // @@protoc_insertion_point(class_scope:mavsdk.rpc.action.TransitionToFixedwingResponse)
   private:
    class _Internal;
  
    template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
    typedef void InternalArenaConstructable_;
    typedef void DestructorSkippable_;
    ::mavsdk::rpc::action::ActionResult* action_result_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    friend struct ::TableStruct_action_2faction_2eproto;
  };
  // -------------------------------------------------------------------
  
  class TransitionToMulticopterRequest PROTOBUF_FINAL :
      public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:mavsdk.rpc.action.TransitionToMulticopterRequest) */ {
   public:
    inline TransitionToMulticopterRequest() : TransitionToMulticopterRequest(nullptr) {}
    virtual ~TransitionToMulticopterRequest();
    explicit constexpr TransitionToMulticopterRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
  
    TransitionToMulticopterRequest(const TransitionToMulticopterRequest& from);
    TransitionToMulticopterRequest(TransitionToMulticopterRequest&& from) noexcept
      : TransitionToMulticopterRequest() {
      *this = ::std::move(from);
    }
  
    inline TransitionToMulticopterRequest& operator=(const TransitionToMulticopterRequest& from) {
      CopyFrom(from);
      return *this;
    }
    inline TransitionToMulticopterRequest& operator=(TransitionToMulticopterRequest&& from) noexcept {
      if (GetArena() == from.GetArena()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
  
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
      return GetDescriptor();
    }
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
      return GetMetadataStatic().descriptor;
    }
    static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
      return GetMetadataStatic().reflection;
    }
    static const TransitionToMulticopterRequest& default_instance() {
      return *internal_default_instance();
    }
    static inline const TransitionToMulticopterRequest* internal_default_instance() {
      return reinterpret_cast<const TransitionToMulticopterRequest*>(
                 &_TransitionToMulticopterRequest_default_instance_);
    }
    static constexpr int kIndexInFileMessages =
      26;
  
    friend void swap(TransitionToMulticopterRequest& a, TransitionToMulticopterRequest& b) {
      a.Swap(&b);
    }
    inline void Swap(TransitionToMulticopterRequest* other) {
      if (other == this) return;
      if (GetArena() == other->GetArena()) {
        InternalSwap(other);
      } else {
        ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
      }
    }
    void UnsafeArenaSwap(TransitionToMulticopterRequest* other) {
      if (other == this) return;
      GOOGLE_DCHECK(GetArena() == other->GetArena());
      InternalSwap(other);
    }
  
    // implements Message ----------------------------------------------
  
    inline TransitionToMulticopterRequest* New() const final {
      return CreateMaybeMessage<TransitionToMulticopterRequest>(nullptr);
    }
  
    TransitionToMulticopterRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
      return CreateMaybeMessage<TransitionToMulticopterRequest>(arena);
    }
    void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
    void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
    void CopyFrom(const TransitionToMulticopterRequest& from);
    void MergeFrom(const TransitionToMulticopterRequest& from);
    PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
    bool IsInitialized() const final;
  
    size_t ByteSizeLong() const final;
    const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
    ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
        ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
    int GetCachedSize() const final { return _cached_size_.Get(); }
  
    private:
    inline void SharedCtor();
    inline void SharedDtor();
    void SetCachedSize(int size) const final;
    void InternalSwap(TransitionToMulticopterRequest* other);
    friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
    static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
      return "mavsdk.rpc.action.TransitionToMulticopterRequest";
    }
    protected:
    explicit TransitionToMulticopterRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena);
    private:
    static void ArenaDtor(void* object);
    inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
    public:
  
    ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
    private:
    static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
      return ::descriptor_table_action_2faction_2eproto_metadata_getter(kIndexInFileMessages);
    }
  
    public:
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // @@protoc_insertion_point(class_scope:mavsdk.rpc.action.TransitionToMulticopterRequest)
   private:
    class _Internal;
  
    template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
    typedef void InternalArenaConstructable_;
    typedef void DestructorSkippable_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    friend struct ::TableStruct_action_2faction_2eproto;
  };
  // -------------------------------------------------------------------
  
  class TransitionToMulticopterResponse PROTOBUF_FINAL :
      public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:mavsdk.rpc.action.TransitionToMulticopterResponse) */ {
   public:
    inline TransitionToMulticopterResponse() : TransitionToMulticopterResponse(nullptr) {}
    virtual ~TransitionToMulticopterResponse();
    explicit constexpr TransitionToMulticopterResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
  
    TransitionToMulticopterResponse(const TransitionToMulticopterResponse& from);
    TransitionToMulticopterResponse(TransitionToMulticopterResponse&& from) noexcept
      : TransitionToMulticopterResponse() {
      *this = ::std::move(from);
    }
  
    inline TransitionToMulticopterResponse& operator=(const TransitionToMulticopterResponse& from) {
      CopyFrom(from);
      return *this;
    }
    inline TransitionToMulticopterResponse& operator=(TransitionToMulticopterResponse&& from) noexcept {
      if (GetArena() == from.GetArena()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
  
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
      return GetDescriptor();
    }
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
      return GetMetadataStatic().descriptor;
    }
    static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
      return GetMetadataStatic().reflection;
    }
    static const TransitionToMulticopterResponse& default_instance() {
      return *internal_default_instance();
    }
    static inline const TransitionToMulticopterResponse* internal_default_instance() {
      return reinterpret_cast<const TransitionToMulticopterResponse*>(
                 &_TransitionToMulticopterResponse_default_instance_);
    }
    static constexpr int kIndexInFileMessages =
      27;
  
    friend void swap(TransitionToMulticopterResponse& a, TransitionToMulticopterResponse& b) {
      a.Swap(&b);
    }
    inline void Swap(TransitionToMulticopterResponse* other) {
      if (other == this) return;
      if (GetArena() == other->GetArena()) {
        InternalSwap(other);
      } else {
        ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
      }
    }
    void UnsafeArenaSwap(TransitionToMulticopterResponse* other) {
      if (other == this) return;
      GOOGLE_DCHECK(GetArena() == other->GetArena());
      InternalSwap(other);
    }
  
    // implements Message ----------------------------------------------
  
    inline TransitionToMulticopterResponse* New() const final {
      return CreateMaybeMessage<TransitionToMulticopterResponse>(nullptr);
    }
  
    TransitionToMulticopterResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
      return CreateMaybeMessage<TransitionToMulticopterResponse>(arena);
    }
    void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
    void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
    void CopyFrom(const TransitionToMulticopterResponse& from);
    void MergeFrom(const TransitionToMulticopterResponse& from);
    PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
    bool IsInitialized() const final;
  
    size_t ByteSizeLong() const final;
    const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
    ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
        ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
    int GetCachedSize() const final { return _cached_size_.Get(); }
  
    private:
    inline void SharedCtor();
    inline void SharedDtor();
    void SetCachedSize(int size) const final;
    void InternalSwap(TransitionToMulticopterResponse* other);
    friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
    static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
      return "mavsdk.rpc.action.TransitionToMulticopterResponse";
    }
    protected:
    explicit TransitionToMulticopterResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena);
    private:
    static void ArenaDtor(void* object);
    inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
    public:
  
    ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
    private:
    static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
      return ::descriptor_table_action_2faction_2eproto_metadata_getter(kIndexInFileMessages);
    }
  
    public:
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    enum : int {
      kActionResultFieldNumber = 1,
    };
    // .mavsdk.rpc.action.ActionResult action_result = 1;
    bool has_action_result() const;
    private:
    bool _internal_has_action_result() const;
    public:
    void clear_action_result();
    const ::mavsdk::rpc::action::ActionResult& action_result() const;
    ::mavsdk::rpc::action::ActionResult* release_action_result();
    ::mavsdk::rpc::action::ActionResult* mutable_action_result();
    void set_allocated_action_result(::mavsdk::rpc::action::ActionResult* action_result);
    private:
    const ::mavsdk::rpc::action::ActionResult& _internal_action_result() const;
    ::mavsdk::rpc::action::ActionResult* _internal_mutable_action_result();
    public:
    void unsafe_arena_set_allocated_action_result(
        ::mavsdk::rpc::action::ActionResult* action_result);
    ::mavsdk::rpc::action::ActionResult* unsafe_arena_release_action_result();
  
    // @@protoc_insertion_point(class_scope:mavsdk.rpc.action.TransitionToMulticopterResponse)
   private:
    class _Internal;
  
    template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
    typedef void InternalArenaConstructable_;
    typedef void DestructorSkippable_;
    ::mavsdk::rpc::action::ActionResult* action_result_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    friend struct ::TableStruct_action_2faction_2eproto;
  };
  // -------------------------------------------------------------------
  
  class GetTakeoffAltitudeRequest PROTOBUF_FINAL :
      public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:mavsdk.rpc.action.GetTakeoffAltitudeRequest) */ {
   public:
    inline GetTakeoffAltitudeRequest() : GetTakeoffAltitudeRequest(nullptr) {}
    virtual ~GetTakeoffAltitudeRequest();
    explicit constexpr GetTakeoffAltitudeRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
  
    GetTakeoffAltitudeRequest(const GetTakeoffAltitudeRequest& from);
    GetTakeoffAltitudeRequest(GetTakeoffAltitudeRequest&& from) noexcept
      : GetTakeoffAltitudeRequest() {
      *this = ::std::move(from);
    }
  
    inline GetTakeoffAltitudeRequest& operator=(const GetTakeoffAltitudeRequest& from) {
      CopyFrom(from);
      return *this;
    }
    inline GetTakeoffAltitudeRequest& operator=(GetTakeoffAltitudeRequest&& from) noexcept {
      if (GetArena() == from.GetArena()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
  
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
      return GetDescriptor();
    }
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
      return GetMetadataStatic().descriptor;
    }
    static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
      return GetMetadataStatic().reflection;
    }
    static const GetTakeoffAltitudeRequest& default_instance() {
      return *internal_default_instance();
    }
    static inline const GetTakeoffAltitudeRequest* internal_default_instance() {
      return reinterpret_cast<const GetTakeoffAltitudeRequest*>(
                 &_GetTakeoffAltitudeRequest_default_instance_);
    }
    static constexpr int kIndexInFileMessages =
      28;
  
    friend void swap(GetTakeoffAltitudeRequest& a, GetTakeoffAltitudeRequest& b) {
      a.Swap(&b);
    }
    inline void Swap(GetTakeoffAltitudeRequest* other) {
      if (other == this) return;
      if (GetArena() == other->GetArena()) {
        InternalSwap(other);
      } else {
        ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
      }
    }
    void UnsafeArenaSwap(GetTakeoffAltitudeRequest* other) {
      if (other == this) return;
      GOOGLE_DCHECK(GetArena() == other->GetArena());
      InternalSwap(other);
    }
  
    // implements Message ----------------------------------------------
  
    inline GetTakeoffAltitudeRequest* New() const final {
      return CreateMaybeMessage<GetTakeoffAltitudeRequest>(nullptr);
    }
  
    GetTakeoffAltitudeRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
      return CreateMaybeMessage<GetTakeoffAltitudeRequest>(arena);
    }
    void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
    void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
    void CopyFrom(const GetTakeoffAltitudeRequest& from);
    void MergeFrom(const GetTakeoffAltitudeRequest& from);
    PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
    bool IsInitialized() const final;
  
    size_t ByteSizeLong() const final;
    const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
    ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
        ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
    int GetCachedSize() const final { return _cached_size_.Get(); }
  
    private:
    inline void SharedCtor();
    inline void SharedDtor();
    void SetCachedSize(int size) const final;
    void InternalSwap(GetTakeoffAltitudeRequest* other);
    friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
    static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
      return "mavsdk.rpc.action.GetTakeoffAltitudeRequest";
    }
    protected:
    explicit GetTakeoffAltitudeRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena);
    private:
    static void ArenaDtor(void* object);
    inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
    public:
  
    ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
    private:
    static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
      return ::descriptor_table_action_2faction_2eproto_metadata_getter(kIndexInFileMessages);
    }
  
    public:
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // @@protoc_insertion_point(class_scope:mavsdk.rpc.action.GetTakeoffAltitudeRequest)
   private:
    class _Internal;
  
    template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
    typedef void InternalArenaConstructable_;
    typedef void DestructorSkippable_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    friend struct ::TableStruct_action_2faction_2eproto;
  };
  // -------------------------------------------------------------------
  
  class GetTakeoffAltitudeResponse PROTOBUF_FINAL :
      public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:mavsdk.rpc.action.GetTakeoffAltitudeResponse) */ {
   public:
    inline GetTakeoffAltitudeResponse() : GetTakeoffAltitudeResponse(nullptr) {}
    virtual ~GetTakeoffAltitudeResponse();
    explicit constexpr GetTakeoffAltitudeResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
  
    GetTakeoffAltitudeResponse(const GetTakeoffAltitudeResponse& from);
    GetTakeoffAltitudeResponse(GetTakeoffAltitudeResponse&& from) noexcept
      : GetTakeoffAltitudeResponse() {
      *this = ::std::move(from);
    }
  
    inline GetTakeoffAltitudeResponse& operator=(const GetTakeoffAltitudeResponse& from) {
      CopyFrom(from);
      return *this;
    }
    inline GetTakeoffAltitudeResponse& operator=(GetTakeoffAltitudeResponse&& from) noexcept {
      if (GetArena() == from.GetArena()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
  
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
      return GetDescriptor();
    }
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
      return GetMetadataStatic().descriptor;
    }
    static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
      return GetMetadataStatic().reflection;
    }
    static const GetTakeoffAltitudeResponse& default_instance() {
      return *internal_default_instance();
    }
    static inline const GetTakeoffAltitudeResponse* internal_default_instance() {
      return reinterpret_cast<const GetTakeoffAltitudeResponse*>(
                 &_GetTakeoffAltitudeResponse_default_instance_);
    }
    static constexpr int kIndexInFileMessages =
      29;
  
    friend void swap(GetTakeoffAltitudeResponse& a, GetTakeoffAltitudeResponse& b) {
      a.Swap(&b);
    }
    inline void Swap(GetTakeoffAltitudeResponse* other) {
      if (other == this) return;
      if (GetArena() == other->GetArena()) {
        InternalSwap(other);
      } else {
        ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
      }
    }
    void UnsafeArenaSwap(GetTakeoffAltitudeResponse* other) {
      if (other == this) return;
      GOOGLE_DCHECK(GetArena() == other->GetArena());
      InternalSwap(other);
    }
  
    // implements Message ----------------------------------------------
  
    inline GetTakeoffAltitudeResponse* New() const final {
      return CreateMaybeMessage<GetTakeoffAltitudeResponse>(nullptr);
    }
  
    GetTakeoffAltitudeResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
      return CreateMaybeMessage<GetTakeoffAltitudeResponse>(arena);
    }
    void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
    void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
    void CopyFrom(const GetTakeoffAltitudeResponse& from);
    void MergeFrom(const GetTakeoffAltitudeResponse& from);
    PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
    bool IsInitialized() const final;
  
    size_t ByteSizeLong() const final;
    const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
    ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
        ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
    int GetCachedSize() const final { return _cached_size_.Get(); }
  
    private:
    inline void SharedCtor();
    inline void SharedDtor();
    void SetCachedSize(int size) const final;
    void InternalSwap(GetTakeoffAltitudeResponse* other);
    friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
    static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
      return "mavsdk.rpc.action.GetTakeoffAltitudeResponse";
    }
    protected:
    explicit GetTakeoffAltitudeResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena);
    private:
    static void ArenaDtor(void* object);
    inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
    public:
  
    ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
    private:
    static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
      return ::descriptor_table_action_2faction_2eproto_metadata_getter(kIndexInFileMessages);
    }
  
    public:
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    enum : int {
      kActionResultFieldNumber = 1,
      kAltitudeFieldNumber = 2,
    };
    // .mavsdk.rpc.action.ActionResult action_result = 1;
    bool has_action_result() const;
    private:
    bool _internal_has_action_result() const;
    public:
    void clear_action_result();
    const ::mavsdk::rpc::action::ActionResult& action_result() const;
    ::mavsdk::rpc::action::ActionResult* release_action_result();
    ::mavsdk::rpc::action::ActionResult* mutable_action_result();
    void set_allocated_action_result(::mavsdk::rpc::action::ActionResult* action_result);
    private:
    const ::mavsdk::rpc::action::ActionResult& _internal_action_result() const;
    ::mavsdk::rpc::action::ActionResult* _internal_mutable_action_result();
    public:
    void unsafe_arena_set_allocated_action_result(
        ::mavsdk::rpc::action::ActionResult* action_result);
    ::mavsdk::rpc::action::ActionResult* unsafe_arena_release_action_result();
  
    // float altitude = 2;
    void clear_altitude();
    float altitude() const;
    void set_altitude(float value);
    private:
    float _internal_altitude() const;
    void _internal_set_altitude(float value);
    public:
  
    // @@protoc_insertion_point(class_scope:mavsdk.rpc.action.GetTakeoffAltitudeResponse)
   private:
    class _Internal;
  
    template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
    typedef void InternalArenaConstructable_;
    typedef void DestructorSkippable_;
    ::mavsdk::rpc::action::ActionResult* action_result_;
    float altitude_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    friend struct ::TableStruct_action_2faction_2eproto;
  };
  // -------------------------------------------------------------------
  
  class SetTakeoffAltitudeRequest PROTOBUF_FINAL :
      public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:mavsdk.rpc.action.SetTakeoffAltitudeRequest) */ {
   public:
    inline SetTakeoffAltitudeRequest() : SetTakeoffAltitudeRequest(nullptr) {}
    virtual ~SetTakeoffAltitudeRequest();
    explicit constexpr SetTakeoffAltitudeRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
  
    SetTakeoffAltitudeRequest(const SetTakeoffAltitudeRequest& from);
    SetTakeoffAltitudeRequest(SetTakeoffAltitudeRequest&& from) noexcept
      : SetTakeoffAltitudeRequest() {
      *this = ::std::move(from);
    }
  
    inline SetTakeoffAltitudeRequest& operator=(const SetTakeoffAltitudeRequest& from) {
      CopyFrom(from);
      return *this;
    }
    inline SetTakeoffAltitudeRequest& operator=(SetTakeoffAltitudeRequest&& from) noexcept {
      if (GetArena() == from.GetArena()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
  
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
      return GetDescriptor();
    }
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
      return GetMetadataStatic().descriptor;
    }
    static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
      return GetMetadataStatic().reflection;
    }
    static const SetTakeoffAltitudeRequest& default_instance() {
      return *internal_default_instance();
    }
    static inline const SetTakeoffAltitudeRequest* internal_default_instance() {
      return reinterpret_cast<const SetTakeoffAltitudeRequest*>(
                 &_SetTakeoffAltitudeRequest_default_instance_);
    }
    static constexpr int kIndexInFileMessages =
      30;
  
    friend void swap(SetTakeoffAltitudeRequest& a, SetTakeoffAltitudeRequest& b) {
      a.Swap(&b);
    }
    inline void Swap(SetTakeoffAltitudeRequest* other) {
      if (other == this) return;
      if (GetArena() == other->GetArena()) {
        InternalSwap(other);
      } else {
        ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
      }
    }
    void UnsafeArenaSwap(SetTakeoffAltitudeRequest* other) {
      if (other == this) return;
      GOOGLE_DCHECK(GetArena() == other->GetArena());
      InternalSwap(other);
    }
  
    // implements Message ----------------------------------------------
  
    inline SetTakeoffAltitudeRequest* New() const final {
      return CreateMaybeMessage<SetTakeoffAltitudeRequest>(nullptr);
    }
  
    SetTakeoffAltitudeRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
      return CreateMaybeMessage<SetTakeoffAltitudeRequest>(arena);
    }
    void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
    void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
    void CopyFrom(const SetTakeoffAltitudeRequest& from);
    void MergeFrom(const SetTakeoffAltitudeRequest& from);
    PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
    bool IsInitialized() const final;
  
    size_t ByteSizeLong() const final;
    const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
    ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
        ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
    int GetCachedSize() const final { return _cached_size_.Get(); }
  
    private:
    inline void SharedCtor();
    inline void SharedDtor();
    void SetCachedSize(int size) const final;
    void InternalSwap(SetTakeoffAltitudeRequest* other);
    friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
    static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
      return "mavsdk.rpc.action.SetTakeoffAltitudeRequest";
    }
    protected:
    explicit SetTakeoffAltitudeRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena);
    private:
    static void ArenaDtor(void* object);
    inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
    public:
  
    ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
    private:
    static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
      return ::descriptor_table_action_2faction_2eproto_metadata_getter(kIndexInFileMessages);
    }
  
    public:
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    enum : int {
      kAltitudeFieldNumber = 1,
    };
    // float altitude = 1;
    void clear_altitude();
    float altitude() const;
    void set_altitude(float value);
    private:
    float _internal_altitude() const;
    void _internal_set_altitude(float value);
    public:
  
    // @@protoc_insertion_point(class_scope:mavsdk.rpc.action.SetTakeoffAltitudeRequest)
   private:
    class _Internal;
  
    template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
    typedef void InternalArenaConstructable_;
    typedef void DestructorSkippable_;
    float altitude_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    friend struct ::TableStruct_action_2faction_2eproto;
  };
  // -------------------------------------------------------------------
  
  class SetTakeoffAltitudeResponse PROTOBUF_FINAL :
      public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:mavsdk.rpc.action.SetTakeoffAltitudeResponse) */ {
   public:
    inline SetTakeoffAltitudeResponse() : SetTakeoffAltitudeResponse(nullptr) {}
    virtual ~SetTakeoffAltitudeResponse();
    explicit constexpr SetTakeoffAltitudeResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
  
    SetTakeoffAltitudeResponse(const SetTakeoffAltitudeResponse& from);
    SetTakeoffAltitudeResponse(SetTakeoffAltitudeResponse&& from) noexcept
      : SetTakeoffAltitudeResponse() {
      *this = ::std::move(from);
    }
  
    inline SetTakeoffAltitudeResponse& operator=(const SetTakeoffAltitudeResponse& from) {
      CopyFrom(from);
      return *this;
    }
    inline SetTakeoffAltitudeResponse& operator=(SetTakeoffAltitudeResponse&& from) noexcept {
      if (GetArena() == from.GetArena()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
  
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
      return GetDescriptor();
    }
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
      return GetMetadataStatic().descriptor;
    }
    static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
      return GetMetadataStatic().reflection;
    }
    static const SetTakeoffAltitudeResponse& default_instance() {
      return *internal_default_instance();
    }
    static inline const SetTakeoffAltitudeResponse* internal_default_instance() {
      return reinterpret_cast<const SetTakeoffAltitudeResponse*>(
                 &_SetTakeoffAltitudeResponse_default_instance_);
    }
    static constexpr int kIndexInFileMessages =
      31;
  
    friend void swap(SetTakeoffAltitudeResponse& a, SetTakeoffAltitudeResponse& b) {
      a.Swap(&b);
    }
    inline void Swap(SetTakeoffAltitudeResponse* other) {
      if (other == this) return;
      if (GetArena() == other->GetArena()) {
        InternalSwap(other);
      } else {
        ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
      }
    }
    void UnsafeArenaSwap(SetTakeoffAltitudeResponse* other) {
      if (other == this) return;
      GOOGLE_DCHECK(GetArena() == other->GetArena());
      InternalSwap(other);
    }
  
    // implements Message ----------------------------------------------
  
    inline SetTakeoffAltitudeResponse* New() const final {
      return CreateMaybeMessage<SetTakeoffAltitudeResponse>(nullptr);
    }
  
    SetTakeoffAltitudeResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
      return CreateMaybeMessage<SetTakeoffAltitudeResponse>(arena);
    }
    void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
    void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
    void CopyFrom(const SetTakeoffAltitudeResponse& from);
    void MergeFrom(const SetTakeoffAltitudeResponse& from);
    PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
    bool IsInitialized() const final;
  
    size_t ByteSizeLong() const final;
    const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
    ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
        ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
    int GetCachedSize() const final { return _cached_size_.Get(); }
  
    private:
    inline void SharedCtor();
    inline void SharedDtor();
    void SetCachedSize(int size) const final;
    void InternalSwap(SetTakeoffAltitudeResponse* other);
    friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
    static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
      return "mavsdk.rpc.action.SetTakeoffAltitudeResponse";
    }
    protected:
    explicit SetTakeoffAltitudeResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena);
    private:
    static void ArenaDtor(void* object);
    inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
    public:
  
    ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
    private:
    static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
      return ::descriptor_table_action_2faction_2eproto_metadata_getter(kIndexInFileMessages);
    }
  
    public:
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    enum : int {
      kActionResultFieldNumber = 1,
    };
    // .mavsdk.rpc.action.ActionResult action_result = 1;
    bool has_action_result() const;
    private:
    bool _internal_has_action_result() const;
    public:
    void clear_action_result();
    const ::mavsdk::rpc::action::ActionResult& action_result() const;
    ::mavsdk::rpc::action::ActionResult* release_action_result();
    ::mavsdk::rpc::action::ActionResult* mutable_action_result();
    void set_allocated_action_result(::mavsdk::rpc::action::ActionResult* action_result);
    private:
    const ::mavsdk::rpc::action::ActionResult& _internal_action_result() const;
    ::mavsdk::rpc::action::ActionResult* _internal_mutable_action_result();
    public:
    void unsafe_arena_set_allocated_action_result(
        ::mavsdk::rpc::action::ActionResult* action_result);
    ::mavsdk::rpc::action::ActionResult* unsafe_arena_release_action_result();
  
    // @@protoc_insertion_point(class_scope:mavsdk.rpc.action.SetTakeoffAltitudeResponse)
   private:
    class _Internal;
  
    template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
    typedef void InternalArenaConstructable_;
    typedef void DestructorSkippable_;
    ::mavsdk::rpc::action::ActionResult* action_result_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    friend struct ::TableStruct_action_2faction_2eproto;
  };
  // -------------------------------------------------------------------
  
  class GetMaximumSpeedRequest PROTOBUF_FINAL :
      public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:mavsdk.rpc.action.GetMaximumSpeedRequest) */ {
   public:
    inline GetMaximumSpeedRequest() : GetMaximumSpeedRequest(nullptr) {}
    virtual ~GetMaximumSpeedRequest();
    explicit constexpr GetMaximumSpeedRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
  
    GetMaximumSpeedRequest(const GetMaximumSpeedRequest& from);
    GetMaximumSpeedRequest(GetMaximumSpeedRequest&& from) noexcept
      : GetMaximumSpeedRequest() {
      *this = ::std::move(from);
    }
  
    inline GetMaximumSpeedRequest& operator=(const GetMaximumSpeedRequest& from) {
      CopyFrom(from);
      return *this;
    }
    inline GetMaximumSpeedRequest& operator=(GetMaximumSpeedRequest&& from) noexcept {
      if (GetArena() == from.GetArena()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
  
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
      return GetDescriptor();
    }
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
      return GetMetadataStatic().descriptor;
    }
    static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
      return GetMetadataStatic().reflection;
    }
    static const GetMaximumSpeedRequest& default_instance() {
      return *internal_default_instance();
    }
    static inline const GetMaximumSpeedRequest* internal_default_instance() {
      return reinterpret_cast<const GetMaximumSpeedRequest*>(
                 &_GetMaximumSpeedRequest_default_instance_);
    }
    static constexpr int kIndexInFileMessages =
      32;
  
    friend void swap(GetMaximumSpeedRequest& a, GetMaximumSpeedRequest& b) {
      a.Swap(&b);
    }
    inline void Swap(GetMaximumSpeedRequest* other) {
      if (other == this) return;
      if (GetArena() == other->GetArena()) {
        InternalSwap(other);
      } else {
        ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
      }
    }
    void UnsafeArenaSwap(GetMaximumSpeedRequest* other) {
      if (other == this) return;
      GOOGLE_DCHECK(GetArena() == other->GetArena());
      InternalSwap(other);
    }
  
    // implements Message ----------------------------------------------
  
    inline GetMaximumSpeedRequest* New() const final {
      return CreateMaybeMessage<GetMaximumSpeedRequest>(nullptr);
    }
  
    GetMaximumSpeedRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
      return CreateMaybeMessage<GetMaximumSpeedRequest>(arena);
    }
    void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
    void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
    void CopyFrom(const GetMaximumSpeedRequest& from);
    void MergeFrom(const GetMaximumSpeedRequest& from);
    PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
    bool IsInitialized() const final;
  
    size_t ByteSizeLong() const final;
    const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
    ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
        ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
    int GetCachedSize() const final { return _cached_size_.Get(); }
  
    private:
    inline void SharedCtor();
    inline void SharedDtor();
    void SetCachedSize(int size) const final;
    void InternalSwap(GetMaximumSpeedRequest* other);
    friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
    static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
      return "mavsdk.rpc.action.GetMaximumSpeedRequest";
    }
    protected:
    explicit GetMaximumSpeedRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena);
    private:
    static void ArenaDtor(void* object);
    inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
    public:
  
    ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
    private:
    static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
      return ::descriptor_table_action_2faction_2eproto_metadata_getter(kIndexInFileMessages);
    }
  
    public:
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // @@protoc_insertion_point(class_scope:mavsdk.rpc.action.GetMaximumSpeedRequest)
   private:
    class _Internal;
  
    template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
    typedef void InternalArenaConstructable_;
    typedef void DestructorSkippable_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    friend struct ::TableStruct_action_2faction_2eproto;
  };
  // -------------------------------------------------------------------
  
  class GetMaximumSpeedResponse PROTOBUF_FINAL :
      public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:mavsdk.rpc.action.GetMaximumSpeedResponse) */ {
   public:
    inline GetMaximumSpeedResponse() : GetMaximumSpeedResponse(nullptr) {}
    virtual ~GetMaximumSpeedResponse();
    explicit constexpr GetMaximumSpeedResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
  
    GetMaximumSpeedResponse(const GetMaximumSpeedResponse& from);
    GetMaximumSpeedResponse(GetMaximumSpeedResponse&& from) noexcept
      : GetMaximumSpeedResponse() {
      *this = ::std::move(from);
    }
  
    inline GetMaximumSpeedResponse& operator=(const GetMaximumSpeedResponse& from) {
      CopyFrom(from);
      return *this;
    }
    inline GetMaximumSpeedResponse& operator=(GetMaximumSpeedResponse&& from) noexcept {
      if (GetArena() == from.GetArena()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
  
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
      return GetDescriptor();
    }
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
      return GetMetadataStatic().descriptor;
    }
    static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
      return GetMetadataStatic().reflection;
    }
    static const GetMaximumSpeedResponse& default_instance() {
      return *internal_default_instance();
    }
    static inline const GetMaximumSpeedResponse* internal_default_instance() {
      return reinterpret_cast<const GetMaximumSpeedResponse*>(
                 &_GetMaximumSpeedResponse_default_instance_);
    }
    static constexpr int kIndexInFileMessages =
      33;
  
    friend void swap(GetMaximumSpeedResponse& a, GetMaximumSpeedResponse& b) {
      a.Swap(&b);
    }
    inline void Swap(GetMaximumSpeedResponse* other) {
      if (other == this) return;
      if (GetArena() == other->GetArena()) {
        InternalSwap(other);
      } else {
        ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
      }
    }
    void UnsafeArenaSwap(GetMaximumSpeedResponse* other) {
      if (other == this) return;
      GOOGLE_DCHECK(GetArena() == other->GetArena());
      InternalSwap(other);
    }
  
    // implements Message ----------------------------------------------
  
    inline GetMaximumSpeedResponse* New() const final {
      return CreateMaybeMessage<GetMaximumSpeedResponse>(nullptr);
    }
  
    GetMaximumSpeedResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
      return CreateMaybeMessage<GetMaximumSpeedResponse>(arena);
    }
    void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
    void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
    void CopyFrom(const GetMaximumSpeedResponse& from);
    void MergeFrom(const GetMaximumSpeedResponse& from);
    PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
    bool IsInitialized() const final;
  
    size_t ByteSizeLong() const final;
    const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
    ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
        ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
    int GetCachedSize() const final { return _cached_size_.Get(); }
  
    private:
    inline void SharedCtor();
    inline void SharedDtor();
    void SetCachedSize(int size) const final;
    void InternalSwap(GetMaximumSpeedResponse* other);
    friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
    static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
      return "mavsdk.rpc.action.GetMaximumSpeedResponse";
    }
    protected:
    explicit GetMaximumSpeedResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena);
    private:
    static void ArenaDtor(void* object);
    inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
    public:
  
    ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
    private:
    static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
      return ::descriptor_table_action_2faction_2eproto_metadata_getter(kIndexInFileMessages);
    }
  
    public:
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    enum : int {
      kActionResultFieldNumber = 1,
      kSpeedFieldNumber = 2,
    };
    // .mavsdk.rpc.action.ActionResult action_result = 1;
    bool has_action_result() const;
    private:
    bool _internal_has_action_result() const;
    public:
    void clear_action_result();
    const ::mavsdk::rpc::action::ActionResult& action_result() const;
    ::mavsdk::rpc::action::ActionResult* release_action_result();
    ::mavsdk::rpc::action::ActionResult* mutable_action_result();
    void set_allocated_action_result(::mavsdk::rpc::action::ActionResult* action_result);
    private:
    const ::mavsdk::rpc::action::ActionResult& _internal_action_result() const;
    ::mavsdk::rpc::action::ActionResult* _internal_mutable_action_result();
    public:
    void unsafe_arena_set_allocated_action_result(
        ::mavsdk::rpc::action::ActionResult* action_result);
    ::mavsdk::rpc::action::ActionResult* unsafe_arena_release_action_result();
  
    // float speed = 2;
    void clear_speed();
    float speed() const;
    void set_speed(float value);
    private:
    float _internal_speed() const;
    void _internal_set_speed(float value);
    public:
  
    // @@protoc_insertion_point(class_scope:mavsdk.rpc.action.GetMaximumSpeedResponse)
   private:
    class _Internal;
  
    template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
    typedef void InternalArenaConstructable_;
    typedef void DestructorSkippable_;
    ::mavsdk::rpc::action::ActionResult* action_result_;
    float speed_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    friend struct ::TableStruct_action_2faction_2eproto;
  };
  // -------------------------------------------------------------------
  
  class SetMaximumSpeedRequest PROTOBUF_FINAL :
      public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:mavsdk.rpc.action.SetMaximumSpeedRequest) */ {
   public:
    inline SetMaximumSpeedRequest() : SetMaximumSpeedRequest(nullptr) {}
    virtual ~SetMaximumSpeedRequest();
    explicit constexpr SetMaximumSpeedRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
  
    SetMaximumSpeedRequest(const SetMaximumSpeedRequest& from);
    SetMaximumSpeedRequest(SetMaximumSpeedRequest&& from) noexcept
      : SetMaximumSpeedRequest() {
      *this = ::std::move(from);
    }
  
    inline SetMaximumSpeedRequest& operator=(const SetMaximumSpeedRequest& from) {
      CopyFrom(from);
      return *this;
    }
    inline SetMaximumSpeedRequest& operator=(SetMaximumSpeedRequest&& from) noexcept {
      if (GetArena() == from.GetArena()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
  
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
      return GetDescriptor();
    }
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
      return GetMetadataStatic().descriptor;
    }
    static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
      return GetMetadataStatic().reflection;
    }
    static const SetMaximumSpeedRequest& default_instance() {
      return *internal_default_instance();
    }
    static inline const SetMaximumSpeedRequest* internal_default_instance() {
      return reinterpret_cast<const SetMaximumSpeedRequest*>(
                 &_SetMaximumSpeedRequest_default_instance_);
    }
    static constexpr int kIndexInFileMessages =
      34;
  
    friend void swap(SetMaximumSpeedRequest& a, SetMaximumSpeedRequest& b) {
      a.Swap(&b);
    }
    inline void Swap(SetMaximumSpeedRequest* other) {
      if (other == this) return;
      if (GetArena() == other->GetArena()) {
        InternalSwap(other);
      } else {
        ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
      }
    }
    void UnsafeArenaSwap(SetMaximumSpeedRequest* other) {
      if (other == this) return;
      GOOGLE_DCHECK(GetArena() == other->GetArena());
      InternalSwap(other);
    }
  
    // implements Message ----------------------------------------------
  
    inline SetMaximumSpeedRequest* New() const final {
      return CreateMaybeMessage<SetMaximumSpeedRequest>(nullptr);
    }
  
    SetMaximumSpeedRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
      return CreateMaybeMessage<SetMaximumSpeedRequest>(arena);
    }
    void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
    void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
    void CopyFrom(const SetMaximumSpeedRequest& from);
    void MergeFrom(const SetMaximumSpeedRequest& from);
    PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
    bool IsInitialized() const final;
  
    size_t ByteSizeLong() const final;
    const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
    ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
        ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
    int GetCachedSize() const final { return _cached_size_.Get(); }
  
    private:
    inline void SharedCtor();
    inline void SharedDtor();
    void SetCachedSize(int size) const final;
    void InternalSwap(SetMaximumSpeedRequest* other);
    friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
    static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
      return "mavsdk.rpc.action.SetMaximumSpeedRequest";
    }
    protected:
    explicit SetMaximumSpeedRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena);
    private:
    static void ArenaDtor(void* object);
    inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
    public:
  
    ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
    private:
    static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
      return ::descriptor_table_action_2faction_2eproto_metadata_getter(kIndexInFileMessages);
    }
  
    public:
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    enum : int {
      kSpeedFieldNumber = 1,
    };
    // float speed = 1;
    void clear_speed();
    float speed() const;
    void set_speed(float value);
    private:
    float _internal_speed() const;
    void _internal_set_speed(float value);
    public:
  
    // @@protoc_insertion_point(class_scope:mavsdk.rpc.action.SetMaximumSpeedRequest)
   private:
    class _Internal;
  
    template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
    typedef void InternalArenaConstructable_;
    typedef void DestructorSkippable_;
    float speed_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    friend struct ::TableStruct_action_2faction_2eproto;
  };
  // -------------------------------------------------------------------
  
  class SetMaximumSpeedResponse PROTOBUF_FINAL :
      public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:mavsdk.rpc.action.SetMaximumSpeedResponse) */ {
   public:
    inline SetMaximumSpeedResponse() : SetMaximumSpeedResponse(nullptr) {}
    virtual ~SetMaximumSpeedResponse();
    explicit constexpr SetMaximumSpeedResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
  
    SetMaximumSpeedResponse(const SetMaximumSpeedResponse& from);
    SetMaximumSpeedResponse(SetMaximumSpeedResponse&& from) noexcept
      : SetMaximumSpeedResponse() {
      *this = ::std::move(from);
    }
  
    inline SetMaximumSpeedResponse& operator=(const SetMaximumSpeedResponse& from) {
      CopyFrom(from);
      return *this;
    }
    inline SetMaximumSpeedResponse& operator=(SetMaximumSpeedResponse&& from) noexcept {
      if (GetArena() == from.GetArena()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
  
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
      return GetDescriptor();
    }
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
      return GetMetadataStatic().descriptor;
    }
    static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
      return GetMetadataStatic().reflection;
    }
    static const SetMaximumSpeedResponse& default_instance() {
      return *internal_default_instance();
    }
    static inline const SetMaximumSpeedResponse* internal_default_instance() {
      return reinterpret_cast<const SetMaximumSpeedResponse*>(
                 &_SetMaximumSpeedResponse_default_instance_);
    }
    static constexpr int kIndexInFileMessages =
      35;
  
    friend void swap(SetMaximumSpeedResponse& a, SetMaximumSpeedResponse& b) {
      a.Swap(&b);
    }
    inline void Swap(SetMaximumSpeedResponse* other) {
      if (other == this) return;
      if (GetArena() == other->GetArena()) {
        InternalSwap(other);
      } else {
        ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
      }
    }
    void UnsafeArenaSwap(SetMaximumSpeedResponse* other) {
      if (other == this) return;
      GOOGLE_DCHECK(GetArena() == other->GetArena());
      InternalSwap(other);
    }
  
    // implements Message ----------------------------------------------
  
    inline SetMaximumSpeedResponse* New() const final {
      return CreateMaybeMessage<SetMaximumSpeedResponse>(nullptr);
    }
  
    SetMaximumSpeedResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
      return CreateMaybeMessage<SetMaximumSpeedResponse>(arena);
    }
    void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
    void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
    void CopyFrom(const SetMaximumSpeedResponse& from);
    void MergeFrom(const SetMaximumSpeedResponse& from);
    PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
    bool IsInitialized() const final;
  
    size_t ByteSizeLong() const final;
    const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
    ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
        ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
    int GetCachedSize() const final { return _cached_size_.Get(); }
  
    private:
    inline void SharedCtor();
    inline void SharedDtor();
    void SetCachedSize(int size) const final;
    void InternalSwap(SetMaximumSpeedResponse* other);
    friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
    static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
      return "mavsdk.rpc.action.SetMaximumSpeedResponse";
    }
    protected:
    explicit SetMaximumSpeedResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena);
    private:
    static void ArenaDtor(void* object);
    inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
    public:
  
    ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
    private:
    static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
      return ::descriptor_table_action_2faction_2eproto_metadata_getter(kIndexInFileMessages);
    }
  
    public:
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    enum : int {
      kActionResultFieldNumber = 1,
    };
    // .mavsdk.rpc.action.ActionResult action_result = 1;
    bool has_action_result() const;
    private:
    bool _internal_has_action_result() const;
    public:
    void clear_action_result();
    const ::mavsdk::rpc::action::ActionResult& action_result() const;
    ::mavsdk::rpc::action::ActionResult* release_action_result();
    ::mavsdk::rpc::action::ActionResult* mutable_action_result();
    void set_allocated_action_result(::mavsdk::rpc::action::ActionResult* action_result);
    private:
    const ::mavsdk::rpc::action::ActionResult& _internal_action_result() const;
    ::mavsdk::rpc::action::ActionResult* _internal_mutable_action_result();
    public:
    void unsafe_arena_set_allocated_action_result(
        ::mavsdk::rpc::action::ActionResult* action_result);
    ::mavsdk::rpc::action::ActionResult* unsafe_arena_release_action_result();
  
    // @@protoc_insertion_point(class_scope:mavsdk.rpc.action.SetMaximumSpeedResponse)
   private:
    class _Internal;
  
    template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
    typedef void InternalArenaConstructable_;
    typedef void DestructorSkippable_;
    ::mavsdk::rpc::action::ActionResult* action_result_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    friend struct ::TableStruct_action_2faction_2eproto;
  };
  // -------------------------------------------------------------------
  
  class GetReturnToLaunchAltitudeRequest PROTOBUF_FINAL :
      public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:mavsdk.rpc.action.GetReturnToLaunchAltitudeRequest) */ {
   public:
    inline GetReturnToLaunchAltitudeRequest() : GetReturnToLaunchAltitudeRequest(nullptr) {}
    virtual ~GetReturnToLaunchAltitudeRequest();
    explicit constexpr GetReturnToLaunchAltitudeRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
  
    GetReturnToLaunchAltitudeRequest(const GetReturnToLaunchAltitudeRequest& from);
    GetReturnToLaunchAltitudeRequest(GetReturnToLaunchAltitudeRequest&& from) noexcept
      : GetReturnToLaunchAltitudeRequest() {
      *this = ::std::move(from);
    }
  
    inline GetReturnToLaunchAltitudeRequest& operator=(const GetReturnToLaunchAltitudeRequest& from) {
      CopyFrom(from);
      return *this;
    }
    inline GetReturnToLaunchAltitudeRequest& operator=(GetReturnToLaunchAltitudeRequest&& from) noexcept {
      if (GetArena() == from.GetArena()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
  
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
      return GetDescriptor();
    }
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
      return GetMetadataStatic().descriptor;
    }
    static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
      return GetMetadataStatic().reflection;
    }
    static const GetReturnToLaunchAltitudeRequest& default_instance() {
      return *internal_default_instance();
    }
    static inline const GetReturnToLaunchAltitudeRequest* internal_default_instance() {
      return reinterpret_cast<const GetReturnToLaunchAltitudeRequest*>(
                 &_GetReturnToLaunchAltitudeRequest_default_instance_);
    }
    static constexpr int kIndexInFileMessages =
      36;
  
    friend void swap(GetReturnToLaunchAltitudeRequest& a, GetReturnToLaunchAltitudeRequest& b) {
      a.Swap(&b);
    }
    inline void Swap(GetReturnToLaunchAltitudeRequest* other) {
      if (other == this) return;
      if (GetArena() == other->GetArena()) {
        InternalSwap(other);
      } else {
        ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
      }
    }
    void UnsafeArenaSwap(GetReturnToLaunchAltitudeRequest* other) {
      if (other == this) return;
      GOOGLE_DCHECK(GetArena() == other->GetArena());
      InternalSwap(other);
    }
  
    // implements Message ----------------------------------------------
  
    inline GetReturnToLaunchAltitudeRequest* New() const final {
      return CreateMaybeMessage<GetReturnToLaunchAltitudeRequest>(nullptr);
    }
  
    GetReturnToLaunchAltitudeRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
      return CreateMaybeMessage<GetReturnToLaunchAltitudeRequest>(arena);
    }
    void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
    void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
    void CopyFrom(const GetReturnToLaunchAltitudeRequest& from);
    void MergeFrom(const GetReturnToLaunchAltitudeRequest& from);
    PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
    bool IsInitialized() const final;
  
    size_t ByteSizeLong() const final;
    const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
    ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
        ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
    int GetCachedSize() const final { return _cached_size_.Get(); }
  
    private:
    inline void SharedCtor();
    inline void SharedDtor();
    void SetCachedSize(int size) const final;
    void InternalSwap(GetReturnToLaunchAltitudeRequest* other);
    friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
    static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
      return "mavsdk.rpc.action.GetReturnToLaunchAltitudeRequest";
    }
    protected:
    explicit GetReturnToLaunchAltitudeRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena);
    private:
    static void ArenaDtor(void* object);
    inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
    public:
  
    ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
    private:
    static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
      return ::descriptor_table_action_2faction_2eproto_metadata_getter(kIndexInFileMessages);
    }
  
    public:
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // @@protoc_insertion_point(class_scope:mavsdk.rpc.action.GetReturnToLaunchAltitudeRequest)
   private:
    class _Internal;
  
    template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
    typedef void InternalArenaConstructable_;
    typedef void DestructorSkippable_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    friend struct ::TableStruct_action_2faction_2eproto;
  };
  // -------------------------------------------------------------------
  
  class GetReturnToLaunchAltitudeResponse PROTOBUF_FINAL :
      public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:mavsdk.rpc.action.GetReturnToLaunchAltitudeResponse) */ {
   public:
    inline GetReturnToLaunchAltitudeResponse() : GetReturnToLaunchAltitudeResponse(nullptr) {}
    virtual ~GetReturnToLaunchAltitudeResponse();
    explicit constexpr GetReturnToLaunchAltitudeResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
  
    GetReturnToLaunchAltitudeResponse(const GetReturnToLaunchAltitudeResponse& from);
    GetReturnToLaunchAltitudeResponse(GetReturnToLaunchAltitudeResponse&& from) noexcept
      : GetReturnToLaunchAltitudeResponse() {
      *this = ::std::move(from);
    }
  
    inline GetReturnToLaunchAltitudeResponse& operator=(const GetReturnToLaunchAltitudeResponse& from) {
      CopyFrom(from);
      return *this;
    }
    inline GetReturnToLaunchAltitudeResponse& operator=(GetReturnToLaunchAltitudeResponse&& from) noexcept {
      if (GetArena() == from.GetArena()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
  
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
      return GetDescriptor();
    }
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
      return GetMetadataStatic().descriptor;
    }
    static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
      return GetMetadataStatic().reflection;
    }
    static const GetReturnToLaunchAltitudeResponse& default_instance() {
      return *internal_default_instance();
    }
    static inline const GetReturnToLaunchAltitudeResponse* internal_default_instance() {
      return reinterpret_cast<const GetReturnToLaunchAltitudeResponse*>(
                 &_GetReturnToLaunchAltitudeResponse_default_instance_);
    }
    static constexpr int kIndexInFileMessages =
      37;
  
    friend void swap(GetReturnToLaunchAltitudeResponse& a, GetReturnToLaunchAltitudeResponse& b) {
      a.Swap(&b);
    }
    inline void Swap(GetReturnToLaunchAltitudeResponse* other) {
      if (other == this) return;
      if (GetArena() == other->GetArena()) {
        InternalSwap(other);
      } else {
        ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
      }
    }
    void UnsafeArenaSwap(GetReturnToLaunchAltitudeResponse* other) {
      if (other == this) return;
      GOOGLE_DCHECK(GetArena() == other->GetArena());
      InternalSwap(other);
    }
  
    // implements Message ----------------------------------------------
  
    inline GetReturnToLaunchAltitudeResponse* New() const final {
      return CreateMaybeMessage<GetReturnToLaunchAltitudeResponse>(nullptr);
    }
  
    GetReturnToLaunchAltitudeResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
      return CreateMaybeMessage<GetReturnToLaunchAltitudeResponse>(arena);
    }
    void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
    void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
    void CopyFrom(const GetReturnToLaunchAltitudeResponse& from);
    void MergeFrom(const GetReturnToLaunchAltitudeResponse& from);
    PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
    bool IsInitialized() const final;
  
    size_t ByteSizeLong() const final;
    const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
    ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
        ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
    int GetCachedSize() const final { return _cached_size_.Get(); }
  
    private:
    inline void SharedCtor();
    inline void SharedDtor();
    void SetCachedSize(int size) const final;
    void InternalSwap(GetReturnToLaunchAltitudeResponse* other);
    friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
    static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
      return "mavsdk.rpc.action.GetReturnToLaunchAltitudeResponse";
    }
    protected:
    explicit GetReturnToLaunchAltitudeResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena);
    private:
    static void ArenaDtor(void* object);
    inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
    public:
  
    ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
    private:
    static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
      return ::descriptor_table_action_2faction_2eproto_metadata_getter(kIndexInFileMessages);
    }
  
    public:
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    enum : int {
      kActionResultFieldNumber = 1,
      kRelativeAltitudeMFieldNumber = 2,
    };
    // .mavsdk.rpc.action.ActionResult action_result = 1;
    bool has_action_result() const;
    private:
    bool _internal_has_action_result() const;
    public:
    void clear_action_result();
    const ::mavsdk::rpc::action::ActionResult& action_result() const;
    ::mavsdk::rpc::action::ActionResult* release_action_result();
    ::mavsdk::rpc::action::ActionResult* mutable_action_result();
    void set_allocated_action_result(::mavsdk::rpc::action::ActionResult* action_result);
    private:
    const ::mavsdk::rpc::action::ActionResult& _internal_action_result() const;
    ::mavsdk::rpc::action::ActionResult* _internal_mutable_action_result();
    public:
    void unsafe_arena_set_allocated_action_result(
        ::mavsdk::rpc::action::ActionResult* action_result);
    ::mavsdk::rpc::action::ActionResult* unsafe_arena_release_action_result();
  
    // float relative_altitude_m = 2;
    void clear_relative_altitude_m();
    float relative_altitude_m() const;
    void set_relative_altitude_m(float value);
    private:
    float _internal_relative_altitude_m() const;
    void _internal_set_relative_altitude_m(float value);
    public:
  
    // @@protoc_insertion_point(class_scope:mavsdk.rpc.action.GetReturnToLaunchAltitudeResponse)
   private:
    class _Internal;
  
    template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
    typedef void InternalArenaConstructable_;
    typedef void DestructorSkippable_;
    ::mavsdk::rpc::action::ActionResult* action_result_;
    float relative_altitude_m_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    friend struct ::TableStruct_action_2faction_2eproto;
  };
  // -------------------------------------------------------------------
  
  class SetReturnToLaunchAltitudeRequest PROTOBUF_FINAL :
      public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:mavsdk.rpc.action.SetReturnToLaunchAltitudeRequest) */ {
   public:
    inline SetReturnToLaunchAltitudeRequest() : SetReturnToLaunchAltitudeRequest(nullptr) {}
    virtual ~SetReturnToLaunchAltitudeRequest();
    explicit constexpr SetReturnToLaunchAltitudeRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
  
    SetReturnToLaunchAltitudeRequest(const SetReturnToLaunchAltitudeRequest& from);
    SetReturnToLaunchAltitudeRequest(SetReturnToLaunchAltitudeRequest&& from) noexcept
      : SetReturnToLaunchAltitudeRequest() {
      *this = ::std::move(from);
    }
  
    inline SetReturnToLaunchAltitudeRequest& operator=(const SetReturnToLaunchAltitudeRequest& from) {
      CopyFrom(from);
      return *this;
    }
    inline SetReturnToLaunchAltitudeRequest& operator=(SetReturnToLaunchAltitudeRequest&& from) noexcept {
      if (GetArena() == from.GetArena()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
  
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
      return GetDescriptor();
    }
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
      return GetMetadataStatic().descriptor;
    }
    static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
      return GetMetadataStatic().reflection;
    }
    static const SetReturnToLaunchAltitudeRequest& default_instance() {
      return *internal_default_instance();
    }
    static inline const SetReturnToLaunchAltitudeRequest* internal_default_instance() {
      return reinterpret_cast<const SetReturnToLaunchAltitudeRequest*>(
                 &_SetReturnToLaunchAltitudeRequest_default_instance_);
    }
    static constexpr int kIndexInFileMessages =
      38;
  
    friend void swap(SetReturnToLaunchAltitudeRequest& a, SetReturnToLaunchAltitudeRequest& b) {
      a.Swap(&b);
    }
    inline void Swap(SetReturnToLaunchAltitudeRequest* other) {
      if (other == this) return;
      if (GetArena() == other->GetArena()) {
        InternalSwap(other);
      } else {
        ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
      }
    }
    void UnsafeArenaSwap(SetReturnToLaunchAltitudeRequest* other) {
      if (other == this) return;
      GOOGLE_DCHECK(GetArena() == other->GetArena());
      InternalSwap(other);
    }
  
    // implements Message ----------------------------------------------
  
    inline SetReturnToLaunchAltitudeRequest* New() const final {
      return CreateMaybeMessage<SetReturnToLaunchAltitudeRequest>(nullptr);
    }
  
    SetReturnToLaunchAltitudeRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
      return CreateMaybeMessage<SetReturnToLaunchAltitudeRequest>(arena);
    }
    void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
    void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
    void CopyFrom(const SetReturnToLaunchAltitudeRequest& from);
    void MergeFrom(const SetReturnToLaunchAltitudeRequest& from);
    PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
    bool IsInitialized() const final;
  
    size_t ByteSizeLong() const final;
    const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
    ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
        ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
    int GetCachedSize() const final { return _cached_size_.Get(); }
  
    private:
    inline void SharedCtor();
    inline void SharedDtor();
    void SetCachedSize(int size) const final;
    void InternalSwap(SetReturnToLaunchAltitudeRequest* other);
    friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
    static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
      return "mavsdk.rpc.action.SetReturnToLaunchAltitudeRequest";
    }
    protected:
    explicit SetReturnToLaunchAltitudeRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena);
    private:
    static void ArenaDtor(void* object);
    inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
    public:
  
    ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
    private:
    static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
      return ::descriptor_table_action_2faction_2eproto_metadata_getter(kIndexInFileMessages);
    }
  
    public:
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    enum : int {
      kRelativeAltitudeMFieldNumber = 1,
    };
    // float relative_altitude_m = 1;
    void clear_relative_altitude_m();
    float relative_altitude_m() const;
    void set_relative_altitude_m(float value);
    private:
    float _internal_relative_altitude_m() const;
    void _internal_set_relative_altitude_m(float value);
    public:
  
    // @@protoc_insertion_point(class_scope:mavsdk.rpc.action.SetReturnToLaunchAltitudeRequest)
   private:
    class _Internal;
  
    template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
    typedef void InternalArenaConstructable_;
    typedef void DestructorSkippable_;
    float relative_altitude_m_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    friend struct ::TableStruct_action_2faction_2eproto;
  };
  // -------------------------------------------------------------------
  
  class SetReturnToLaunchAltitudeResponse PROTOBUF_FINAL :
      public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:mavsdk.rpc.action.SetReturnToLaunchAltitudeResponse) */ {
   public:
    inline SetReturnToLaunchAltitudeResponse() : SetReturnToLaunchAltitudeResponse(nullptr) {}
    virtual ~SetReturnToLaunchAltitudeResponse();
    explicit constexpr SetReturnToLaunchAltitudeResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
  
    SetReturnToLaunchAltitudeResponse(const SetReturnToLaunchAltitudeResponse& from);
    SetReturnToLaunchAltitudeResponse(SetReturnToLaunchAltitudeResponse&& from) noexcept
      : SetReturnToLaunchAltitudeResponse() {
      *this = ::std::move(from);
    }
  
    inline SetReturnToLaunchAltitudeResponse& operator=(const SetReturnToLaunchAltitudeResponse& from) {
      CopyFrom(from);
      return *this;
    }
    inline SetReturnToLaunchAltitudeResponse& operator=(SetReturnToLaunchAltitudeResponse&& from) noexcept {
      if (GetArena() == from.GetArena()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
  
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
      return GetDescriptor();
    }
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
      return GetMetadataStatic().descriptor;
    }
    static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
      return GetMetadataStatic().reflection;
    }
    static const SetReturnToLaunchAltitudeResponse& default_instance() {
      return *internal_default_instance();
    }
    static inline const SetReturnToLaunchAltitudeResponse* internal_default_instance() {
      return reinterpret_cast<const SetReturnToLaunchAltitudeResponse*>(
                 &_SetReturnToLaunchAltitudeResponse_default_instance_);
    }
    static constexpr int kIndexInFileMessages =
      39;
  
    friend void swap(SetReturnToLaunchAltitudeResponse& a, SetReturnToLaunchAltitudeResponse& b) {
      a.Swap(&b);
    }
    inline void Swap(SetReturnToLaunchAltitudeResponse* other) {
      if (other == this) return;
      if (GetArena() == other->GetArena()) {
        InternalSwap(other);
      } else {
        ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
      }
    }
    void UnsafeArenaSwap(SetReturnToLaunchAltitudeResponse* other) {
      if (other == this) return;
      GOOGLE_DCHECK(GetArena() == other->GetArena());
      InternalSwap(other);
    }
  
    // implements Message ----------------------------------------------
  
    inline SetReturnToLaunchAltitudeResponse* New() const final {
      return CreateMaybeMessage<SetReturnToLaunchAltitudeResponse>(nullptr);
    }
  
    SetReturnToLaunchAltitudeResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
      return CreateMaybeMessage<SetReturnToLaunchAltitudeResponse>(arena);
    }
    void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
    void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
    void CopyFrom(const SetReturnToLaunchAltitudeResponse& from);
    void MergeFrom(const SetReturnToLaunchAltitudeResponse& from);
    PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
    bool IsInitialized() const final;
  
    size_t ByteSizeLong() const final;
    const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
    ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
        ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
    int GetCachedSize() const final { return _cached_size_.Get(); }
  
    private:
    inline void SharedCtor();
    inline void SharedDtor();
    void SetCachedSize(int size) const final;
    void InternalSwap(SetReturnToLaunchAltitudeResponse* other);
    friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
    static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
      return "mavsdk.rpc.action.SetReturnToLaunchAltitudeResponse";
    }
    protected:
    explicit SetReturnToLaunchAltitudeResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena);
    private:
    static void ArenaDtor(void* object);
    inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
    public:
  
    ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
    private:
    static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
      return ::descriptor_table_action_2faction_2eproto_metadata_getter(kIndexInFileMessages);
    }
  
    public:
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    enum : int {
      kActionResultFieldNumber = 1,
    };
    // .mavsdk.rpc.action.ActionResult action_result = 1;
    bool has_action_result() const;
    private:
    bool _internal_has_action_result() const;
    public:
    void clear_action_result();
    const ::mavsdk::rpc::action::ActionResult& action_result() const;
    ::mavsdk::rpc::action::ActionResult* release_action_result();
    ::mavsdk::rpc::action::ActionResult* mutable_action_result();
    void set_allocated_action_result(::mavsdk::rpc::action::ActionResult* action_result);
    private:
    const ::mavsdk::rpc::action::ActionResult& _internal_action_result() const;
    ::mavsdk::rpc::action::ActionResult* _internal_mutable_action_result();
    public:
    void unsafe_arena_set_allocated_action_result(
        ::mavsdk::rpc::action::ActionResult* action_result);
    ::mavsdk::rpc::action::ActionResult* unsafe_arena_release_action_result();
  
    // @@protoc_insertion_point(class_scope:mavsdk.rpc.action.SetReturnToLaunchAltitudeResponse)
   private:
    class _Internal;
  
    template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
    typedef void InternalArenaConstructable_;
    typedef void DestructorSkippable_;
    ::mavsdk::rpc::action::ActionResult* action_result_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    friend struct ::TableStruct_action_2faction_2eproto;
  };
  // -------------------------------------------------------------------
  
  class ActionResult PROTOBUF_FINAL :
      public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:mavsdk.rpc.action.ActionResult) */ {
   public:
    inline ActionResult() : ActionResult(nullptr) {}
    virtual ~ActionResult();
    explicit constexpr ActionResult(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
  
    ActionResult(const ActionResult& from);
    ActionResult(ActionResult&& from) noexcept
      : ActionResult() {
      *this = ::std::move(from);
    }
  
    inline ActionResult& operator=(const ActionResult& from) {
      CopyFrom(from);
      return *this;
    }
    inline ActionResult& operator=(ActionResult&& from) noexcept {
      if (GetArena() == from.GetArena()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
  
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
      return GetDescriptor();
    }
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
      return GetMetadataStatic().descriptor;
    }
    static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
      return GetMetadataStatic().reflection;
    }
    static const ActionResult& default_instance() {
      return *internal_default_instance();
    }
    static inline const ActionResult* internal_default_instance() {
      return reinterpret_cast<const ActionResult*>(
                 &_ActionResult_default_instance_);
    }
    static constexpr int kIndexInFileMessages =
      40;
  
    friend void swap(ActionResult& a, ActionResult& b) {
      a.Swap(&b);
    }
    inline void Swap(ActionResult* other) {
      if (other == this) return;
      if (GetArena() == other->GetArena()) {
        InternalSwap(other);
      } else {
        ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
      }
    }
    void UnsafeArenaSwap(ActionResult* other) {
      if (other == this) return;
      GOOGLE_DCHECK(GetArena() == other->GetArena());
      InternalSwap(other);
    }
  
    // implements Message ----------------------------------------------
  
    inline ActionResult* New() const final {
      return CreateMaybeMessage<ActionResult>(nullptr);
    }
  
    ActionResult* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
      return CreateMaybeMessage<ActionResult>(arena);
    }
    void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
    void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
    void CopyFrom(const ActionResult& from);
    void MergeFrom(const ActionResult& from);
    PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
    bool IsInitialized() const final;
  
    size_t ByteSizeLong() const final;
    const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
    ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
        ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
    int GetCachedSize() const final { return _cached_size_.Get(); }
  
    private:
    inline void SharedCtor();
    inline void SharedDtor();
    void SetCachedSize(int size) const final;
    void InternalSwap(ActionResult* other);
    friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
    static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
      return "mavsdk.rpc.action.ActionResult";
    }
    protected:
    explicit ActionResult(::PROTOBUF_NAMESPACE_ID::Arena* arena);
    private:
    static void ArenaDtor(void* object);
    inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
    public:
  
    ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
    private:
    static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
      return ::descriptor_table_action_2faction_2eproto_metadata_getter(kIndexInFileMessages);
    }
  
    public:
  
    // nested types ----------------------------------------------------
  
    typedef ActionResult_Result Result;
    static constexpr Result RESULT_UNKNOWN =
      ActionResult_Result_RESULT_UNKNOWN;
    static constexpr Result RESULT_SUCCESS =
      ActionResult_Result_RESULT_SUCCESS;
    static constexpr Result RESULT_NO_SYSTEM =
      ActionResult_Result_RESULT_NO_SYSTEM;
    static constexpr Result RESULT_CONNECTION_ERROR =
      ActionResult_Result_RESULT_CONNECTION_ERROR;
    static constexpr Result RESULT_BUSY =
      ActionResult_Result_RESULT_BUSY;
    static constexpr Result RESULT_COMMAND_DENIED =
      ActionResult_Result_RESULT_COMMAND_DENIED;
    static constexpr Result RESULT_COMMAND_DENIED_LANDED_STATE_UNKNOWN =
      ActionResult_Result_RESULT_COMMAND_DENIED_LANDED_STATE_UNKNOWN;
    static constexpr Result RESULT_COMMAND_DENIED_NOT_LANDED =
      ActionResult_Result_RESULT_COMMAND_DENIED_NOT_LANDED;
    static constexpr Result RESULT_TIMEOUT =
      ActionResult_Result_RESULT_TIMEOUT;
    static constexpr Result RESULT_VTOL_TRANSITION_SUPPORT_UNKNOWN =
      ActionResult_Result_RESULT_VTOL_TRANSITION_SUPPORT_UNKNOWN;
    static constexpr Result RESULT_NO_VTOL_TRANSITION_SUPPORT =
      ActionResult_Result_RESULT_NO_VTOL_TRANSITION_SUPPORT;
    static constexpr Result RESULT_PARAMETER_ERROR =
      ActionResult_Result_RESULT_PARAMETER_ERROR;
    static inline bool Result_IsValid(int value) {
      return ActionResult_Result_IsValid(value);
    }
    static constexpr Result Result_MIN =
      ActionResult_Result_Result_MIN;
    static constexpr Result Result_MAX =
      ActionResult_Result_Result_MAX;
    static constexpr int Result_ARRAYSIZE =
      ActionResult_Result_Result_ARRAYSIZE;
    static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
    Result_descriptor() {
      return ActionResult_Result_descriptor();
    }
    template<typename T>
    static inline const std::string& Result_Name(T enum_t_value) {
      static_assert(::std::is_same<T, Result>::value ||
        ::std::is_integral<T>::value,
        "Incorrect type passed to function Result_Name.");
      return ActionResult_Result_Name(enum_t_value);
    }
    static inline bool Result_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
        Result* value) {
      return ActionResult_Result_Parse(name, value);
    }
  
    // accessors -------------------------------------------------------
  
    enum : int {
      kResultStrFieldNumber = 2,
      kResultFieldNumber = 1,
    };
    // string result_str = 2;
    void clear_result_str();
    const std::string& result_str() const;
    void set_result_str(const std::string& value);
    void set_result_str(std::string&& value);
    void set_result_str(const char* value);
    void set_result_str(const char* value, size_t size);
    std::string* mutable_result_str();
    std::string* release_result_str();
    void set_allocated_result_str(std::string* result_str);
    private:
    const std::string& _internal_result_str() const;
    void _internal_set_result_str(const std::string& value);
    std::string* _internal_mutable_result_str();
    public:
  
    // .mavsdk.rpc.action.ActionResult.Result result = 1;
    void clear_result();
    ::mavsdk::rpc::action::ActionResult_Result result() const;
    void set_result(::mavsdk::rpc::action::ActionResult_Result value);
    private:
    ::mavsdk::rpc::action::ActionResult_Result _internal_result() const;
    void _internal_set_result(::mavsdk::rpc::action::ActionResult_Result value);
    public:
  
    // @@protoc_insertion_point(class_scope:mavsdk.rpc.action.ActionResult)
   private:
    class _Internal;
  
    template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
    typedef void InternalArenaConstructable_;
    typedef void DestructorSkippable_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr result_str_;
    int result_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    friend struct ::TableStruct_action_2faction_2eproto;
  };
  // ===================================================================
  
  
  // ===================================================================
  
  #ifdef __GNUC__
    #pragma GCC diagnostic push
    #pragma GCC diagnostic ignored "-Wstrict-aliasing"
  #endif  // __GNUC__
  // ArmRequest
  
  // -------------------------------------------------------------------
  
  // ArmResponse
  
  // .mavsdk.rpc.action.ActionResult action_result = 1;
  inline bool ArmResponse::_internal_has_action_result() const {
    return this != internal_default_instance() && action_result_ != nullptr;
  }
  inline bool ArmResponse::has_action_result() const {
    return _internal_has_action_result();
  }
  inline void ArmResponse::clear_action_result() {
    if (GetArena() == nullptr && action_result_ != nullptr) {
      delete action_result_;
    }
    action_result_ = nullptr;
  }
  inline const ::mavsdk::rpc::action::ActionResult& ArmResponse::_internal_action_result() const {
    const ::mavsdk::rpc::action::ActionResult* p = action_result_;
    return p != nullptr ? *p : reinterpret_cast<const ::mavsdk::rpc::action::ActionResult&>(
        ::mavsdk::rpc::action::_ActionResult_default_instance_);
  }
  inline const ::mavsdk::rpc::action::ActionResult& ArmResponse::action_result() const {
    // @@protoc_insertion_point(field_get:mavsdk.rpc.action.ArmResponse.action_result)
    return _internal_action_result();
  }
  inline void ArmResponse::unsafe_arena_set_allocated_action_result(
      ::mavsdk::rpc::action::ActionResult* action_result) {
    if (GetArena() == nullptr) {
      delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(action_result_);
    }
    action_result_ = action_result;
    if (action_result) {
      
    } else {
      
    }
    // @@protoc_insertion_point(field_unsafe_arena_set_allocated:mavsdk.rpc.action.ArmResponse.action_result)
  }
  inline ::mavsdk::rpc::action::ActionResult* ArmResponse::release_action_result() {
    
    ::mavsdk::rpc::action::ActionResult* temp = action_result_;
    action_result_ = nullptr;
    if (GetArena() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    return temp;
  }
  inline ::mavsdk::rpc::action::ActionResult* ArmResponse::unsafe_arena_release_action_result() {
    // @@protoc_insertion_point(field_release:mavsdk.rpc.action.ArmResponse.action_result)
    
    ::mavsdk::rpc::action::ActionResult* temp = action_result_;
    action_result_ = nullptr;
    return temp;
  }
  inline ::mavsdk::rpc::action::ActionResult* ArmResponse::_internal_mutable_action_result() {
    
    if (action_result_ == nullptr) {
      auto* p = CreateMaybeMessage<::mavsdk::rpc::action::ActionResult>(GetArena());
      action_result_ = p;
    }
    return action_result_;
  }
  inline ::mavsdk::rpc::action::ActionResult* ArmResponse::mutable_action_result() {
    // @@protoc_insertion_point(field_mutable:mavsdk.rpc.action.ArmResponse.action_result)
    return _internal_mutable_action_result();
  }
  inline void ArmResponse::set_allocated_action_result(::mavsdk::rpc::action::ActionResult* action_result) {
    ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
    if (message_arena == nullptr) {
      delete action_result_;
    }
    if (action_result) {
      ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(action_result);
      if (message_arena != submessage_arena) {
        action_result = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
            message_arena, action_result, submessage_arena);
      }
      
    } else {
      
    }
    action_result_ = action_result;
    // @@protoc_insertion_point(field_set_allocated:mavsdk.rpc.action.ArmResponse.action_result)
  }
  
  // -------------------------------------------------------------------
  
  // DisarmRequest
  
  // -------------------------------------------------------------------
  
  // DisarmResponse
  
  // .mavsdk.rpc.action.ActionResult action_result = 1;
  inline bool DisarmResponse::_internal_has_action_result() const {
    return this != internal_default_instance() && action_result_ != nullptr;
  }
  inline bool DisarmResponse::has_action_result() const {
    return _internal_has_action_result();
  }
  inline void DisarmResponse::clear_action_result() {
    if (GetArena() == nullptr && action_result_ != nullptr) {
      delete action_result_;
    }
    action_result_ = nullptr;
  }
  inline const ::mavsdk::rpc::action::ActionResult& DisarmResponse::_internal_action_result() const {
    const ::mavsdk::rpc::action::ActionResult* p = action_result_;
    return p != nullptr ? *p : reinterpret_cast<const ::mavsdk::rpc::action::ActionResult&>(
        ::mavsdk::rpc::action::_ActionResult_default_instance_);
  }
  inline const ::mavsdk::rpc::action::ActionResult& DisarmResponse::action_result() const {
    // @@protoc_insertion_point(field_get:mavsdk.rpc.action.DisarmResponse.action_result)
    return _internal_action_result();
  }
  inline void DisarmResponse::unsafe_arena_set_allocated_action_result(
      ::mavsdk::rpc::action::ActionResult* action_result) {
    if (GetArena() == nullptr) {
      delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(action_result_);
    }
    action_result_ = action_result;
    if (action_result) {
      
    } else {
      
    }
    // @@protoc_insertion_point(field_unsafe_arena_set_allocated:mavsdk.rpc.action.DisarmResponse.action_result)
  }
  inline ::mavsdk::rpc::action::ActionResult* DisarmResponse::release_action_result() {
    
    ::mavsdk::rpc::action::ActionResult* temp = action_result_;
    action_result_ = nullptr;
    if (GetArena() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    return temp;
  }
  inline ::mavsdk::rpc::action::ActionResult* DisarmResponse::unsafe_arena_release_action_result() {
    // @@protoc_insertion_point(field_release:mavsdk.rpc.action.DisarmResponse.action_result)
    
    ::mavsdk::rpc::action::ActionResult* temp = action_result_;
    action_result_ = nullptr;
    return temp;
  }
  inline ::mavsdk::rpc::action::ActionResult* DisarmResponse::_internal_mutable_action_result() {
    
    if (action_result_ == nullptr) {
      auto* p = CreateMaybeMessage<::mavsdk::rpc::action::ActionResult>(GetArena());
      action_result_ = p;
    }
    return action_result_;
  }
  inline ::mavsdk::rpc::action::ActionResult* DisarmResponse::mutable_action_result() {
    // @@protoc_insertion_point(field_mutable:mavsdk.rpc.action.DisarmResponse.action_result)
    return _internal_mutable_action_result();
  }
  inline void DisarmResponse::set_allocated_action_result(::mavsdk::rpc::action::ActionResult* action_result) {
    ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
    if (message_arena == nullptr) {
      delete action_result_;
    }
    if (action_result) {
      ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(action_result);
      if (message_arena != submessage_arena) {
        action_result = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
            message_arena, action_result, submessage_arena);
      }
      
    } else {
      
    }
    action_result_ = action_result;
    // @@protoc_insertion_point(field_set_allocated:mavsdk.rpc.action.DisarmResponse.action_result)
  }
  
  // -------------------------------------------------------------------
  
  // TakeoffRequest
  
  // -------------------------------------------------------------------
  
  // TakeoffResponse
  
  // .mavsdk.rpc.action.ActionResult action_result = 1;
  inline bool TakeoffResponse::_internal_has_action_result() const {
    return this != internal_default_instance() && action_result_ != nullptr;
  }
  inline bool TakeoffResponse::has_action_result() const {
    return _internal_has_action_result();
  }
  inline void TakeoffResponse::clear_action_result() {
    if (GetArena() == nullptr && action_result_ != nullptr) {
      delete action_result_;
    }
    action_result_ = nullptr;
  }
  inline const ::mavsdk::rpc::action::ActionResult& TakeoffResponse::_internal_action_result() const {
    const ::mavsdk::rpc::action::ActionResult* p = action_result_;
    return p != nullptr ? *p : reinterpret_cast<const ::mavsdk::rpc::action::ActionResult&>(
        ::mavsdk::rpc::action::_ActionResult_default_instance_);
  }
  inline const ::mavsdk::rpc::action::ActionResult& TakeoffResponse::action_result() const {
    // @@protoc_insertion_point(field_get:mavsdk.rpc.action.TakeoffResponse.action_result)
    return _internal_action_result();
  }
  inline void TakeoffResponse::unsafe_arena_set_allocated_action_result(
      ::mavsdk::rpc::action::ActionResult* action_result) {
    if (GetArena() == nullptr) {
      delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(action_result_);
    }
    action_result_ = action_result;
    if (action_result) {
      
    } else {
      
    }
    // @@protoc_insertion_point(field_unsafe_arena_set_allocated:mavsdk.rpc.action.TakeoffResponse.action_result)
  }
  inline ::mavsdk::rpc::action::ActionResult* TakeoffResponse::release_action_result() {
    
    ::mavsdk::rpc::action::ActionResult* temp = action_result_;
    action_result_ = nullptr;
    if (GetArena() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    return temp;
  }
  inline ::mavsdk::rpc::action::ActionResult* TakeoffResponse::unsafe_arena_release_action_result() {
    // @@protoc_insertion_point(field_release:mavsdk.rpc.action.TakeoffResponse.action_result)
    
    ::mavsdk::rpc::action::ActionResult* temp = action_result_;
    action_result_ = nullptr;
    return temp;
  }
  inline ::mavsdk::rpc::action::ActionResult* TakeoffResponse::_internal_mutable_action_result() {
    
    if (action_result_ == nullptr) {
      auto* p = CreateMaybeMessage<::mavsdk::rpc::action::ActionResult>(GetArena());
      action_result_ = p;
    }
    return action_result_;
  }
  inline ::mavsdk::rpc::action::ActionResult* TakeoffResponse::mutable_action_result() {
    // @@protoc_insertion_point(field_mutable:mavsdk.rpc.action.TakeoffResponse.action_result)
    return _internal_mutable_action_result();
  }
  inline void TakeoffResponse::set_allocated_action_result(::mavsdk::rpc::action::ActionResult* action_result) {
    ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
    if (message_arena == nullptr) {
      delete action_result_;
    }
    if (action_result) {
      ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(action_result);
      if (message_arena != submessage_arena) {
        action_result = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
            message_arena, action_result, submessage_arena);
      }
      
    } else {
      
    }
    action_result_ = action_result;
    // @@protoc_insertion_point(field_set_allocated:mavsdk.rpc.action.TakeoffResponse.action_result)
  }
  
  // -------------------------------------------------------------------
  
  // LandRequest
  
  // -------------------------------------------------------------------
  
  // LandResponse
  
  // .mavsdk.rpc.action.ActionResult action_result = 1;
  inline bool LandResponse::_internal_has_action_result() const {
    return this != internal_default_instance() && action_result_ != nullptr;
  }
  inline bool LandResponse::has_action_result() const {
    return _internal_has_action_result();
  }
  inline void LandResponse::clear_action_result() {
    if (GetArena() == nullptr && action_result_ != nullptr) {
      delete action_result_;
    }
    action_result_ = nullptr;
  }
  inline const ::mavsdk::rpc::action::ActionResult& LandResponse::_internal_action_result() const {
    const ::mavsdk::rpc::action::ActionResult* p = action_result_;
    return p != nullptr ? *p : reinterpret_cast<const ::mavsdk::rpc::action::ActionResult&>(
        ::mavsdk::rpc::action::_ActionResult_default_instance_);
  }
  inline const ::mavsdk::rpc::action::ActionResult& LandResponse::action_result() const {
    // @@protoc_insertion_point(field_get:mavsdk.rpc.action.LandResponse.action_result)
    return _internal_action_result();
  }
  inline void LandResponse::unsafe_arena_set_allocated_action_result(
      ::mavsdk::rpc::action::ActionResult* action_result) {
    if (GetArena() == nullptr) {
      delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(action_result_);
    }
    action_result_ = action_result;
    if (action_result) {
      
    } else {
      
    }
    // @@protoc_insertion_point(field_unsafe_arena_set_allocated:mavsdk.rpc.action.LandResponse.action_result)
  }
  inline ::mavsdk::rpc::action::ActionResult* LandResponse::release_action_result() {
    
    ::mavsdk::rpc::action::ActionResult* temp = action_result_;
    action_result_ = nullptr;
    if (GetArena() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    return temp;
  }
  inline ::mavsdk::rpc::action::ActionResult* LandResponse::unsafe_arena_release_action_result() {
    // @@protoc_insertion_point(field_release:mavsdk.rpc.action.LandResponse.action_result)
    
    ::mavsdk::rpc::action::ActionResult* temp = action_result_;
    action_result_ = nullptr;
    return temp;
  }
  inline ::mavsdk::rpc::action::ActionResult* LandResponse::_internal_mutable_action_result() {
    
    if (action_result_ == nullptr) {
      auto* p = CreateMaybeMessage<::mavsdk::rpc::action::ActionResult>(GetArena());
      action_result_ = p;
    }
    return action_result_;
  }
  inline ::mavsdk::rpc::action::ActionResult* LandResponse::mutable_action_result() {
    // @@protoc_insertion_point(field_mutable:mavsdk.rpc.action.LandResponse.action_result)
    return _internal_mutable_action_result();
  }
  inline void LandResponse::set_allocated_action_result(::mavsdk::rpc::action::ActionResult* action_result) {
    ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
    if (message_arena == nullptr) {
      delete action_result_;
    }
    if (action_result) {
      ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(action_result);
      if (message_arena != submessage_arena) {
        action_result = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
            message_arena, action_result, submessage_arena);
      }
      
    } else {
      
    }
    action_result_ = action_result;
    // @@protoc_insertion_point(field_set_allocated:mavsdk.rpc.action.LandResponse.action_result)
  }
  
  // -------------------------------------------------------------------
  
  // RebootRequest
  
  // -------------------------------------------------------------------
  
  // RebootResponse
  
  // .mavsdk.rpc.action.ActionResult action_result = 1;
  inline bool RebootResponse::_internal_has_action_result() const {
    return this != internal_default_instance() && action_result_ != nullptr;
  }
  inline bool RebootResponse::has_action_result() const {
    return _internal_has_action_result();
  }
  inline void RebootResponse::clear_action_result() {
    if (GetArena() == nullptr && action_result_ != nullptr) {
      delete action_result_;
    }
    action_result_ = nullptr;
  }
  inline const ::mavsdk::rpc::action::ActionResult& RebootResponse::_internal_action_result() const {
    const ::mavsdk::rpc::action::ActionResult* p = action_result_;
    return p != nullptr ? *p : reinterpret_cast<const ::mavsdk::rpc::action::ActionResult&>(
        ::mavsdk::rpc::action::_ActionResult_default_instance_);
  }
  inline const ::mavsdk::rpc::action::ActionResult& RebootResponse::action_result() const {
    // @@protoc_insertion_point(field_get:mavsdk.rpc.action.RebootResponse.action_result)
    return _internal_action_result();
  }
  inline void RebootResponse::unsafe_arena_set_allocated_action_result(
      ::mavsdk::rpc::action::ActionResult* action_result) {
    if (GetArena() == nullptr) {
      delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(action_result_);
    }
    action_result_ = action_result;
    if (action_result) {
      
    } else {
      
    }
    // @@protoc_insertion_point(field_unsafe_arena_set_allocated:mavsdk.rpc.action.RebootResponse.action_result)
  }
  inline ::mavsdk::rpc::action::ActionResult* RebootResponse::release_action_result() {
    
    ::mavsdk::rpc::action::ActionResult* temp = action_result_;
    action_result_ = nullptr;
    if (GetArena() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    return temp;
  }
  inline ::mavsdk::rpc::action::ActionResult* RebootResponse::unsafe_arena_release_action_result() {
    // @@protoc_insertion_point(field_release:mavsdk.rpc.action.RebootResponse.action_result)
    
    ::mavsdk::rpc::action::ActionResult* temp = action_result_;
    action_result_ = nullptr;
    return temp;
  }
  inline ::mavsdk::rpc::action::ActionResult* RebootResponse::_internal_mutable_action_result() {
    
    if (action_result_ == nullptr) {
      auto* p = CreateMaybeMessage<::mavsdk::rpc::action::ActionResult>(GetArena());
      action_result_ = p;
    }
    return action_result_;
  }
  inline ::mavsdk::rpc::action::ActionResult* RebootResponse::mutable_action_result() {
    // @@protoc_insertion_point(field_mutable:mavsdk.rpc.action.RebootResponse.action_result)
    return _internal_mutable_action_result();
  }
  inline void RebootResponse::set_allocated_action_result(::mavsdk::rpc::action::ActionResult* action_result) {
    ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
    if (message_arena == nullptr) {
      delete action_result_;
    }
    if (action_result) {
      ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(action_result);
      if (message_arena != submessage_arena) {
        action_result = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
            message_arena, action_result, submessage_arena);
      }
      
    } else {
      
    }
    action_result_ = action_result;
    // @@protoc_insertion_point(field_set_allocated:mavsdk.rpc.action.RebootResponse.action_result)
  }
  
  // -------------------------------------------------------------------
  
  // ShutdownRequest
  
  // -------------------------------------------------------------------
  
  // ShutdownResponse
  
  // .mavsdk.rpc.action.ActionResult action_result = 1;
  inline bool ShutdownResponse::_internal_has_action_result() const {
    return this != internal_default_instance() && action_result_ != nullptr;
  }
  inline bool ShutdownResponse::has_action_result() const {
    return _internal_has_action_result();
  }
  inline void ShutdownResponse::clear_action_result() {
    if (GetArena() == nullptr && action_result_ != nullptr) {
      delete action_result_;
    }
    action_result_ = nullptr;
  }
  inline const ::mavsdk::rpc::action::ActionResult& ShutdownResponse::_internal_action_result() const {
    const ::mavsdk::rpc::action::ActionResult* p = action_result_;
    return p != nullptr ? *p : reinterpret_cast<const ::mavsdk::rpc::action::ActionResult&>(
        ::mavsdk::rpc::action::_ActionResult_default_instance_);
  }
  inline const ::mavsdk::rpc::action::ActionResult& ShutdownResponse::action_result() const {
    // @@protoc_insertion_point(field_get:mavsdk.rpc.action.ShutdownResponse.action_result)
    return _internal_action_result();
  }
  inline void ShutdownResponse::unsafe_arena_set_allocated_action_result(
      ::mavsdk::rpc::action::ActionResult* action_result) {
    if (GetArena() == nullptr) {
      delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(action_result_);
    }
    action_result_ = action_result;
    if (action_result) {
      
    } else {
      
    }
    // @@protoc_insertion_point(field_unsafe_arena_set_allocated:mavsdk.rpc.action.ShutdownResponse.action_result)
  }
  inline ::mavsdk::rpc::action::ActionResult* ShutdownResponse::release_action_result() {
    
    ::mavsdk::rpc::action::ActionResult* temp = action_result_;
    action_result_ = nullptr;
    if (GetArena() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    return temp;
  }
  inline ::mavsdk::rpc::action::ActionResult* ShutdownResponse::unsafe_arena_release_action_result() {
    // @@protoc_insertion_point(field_release:mavsdk.rpc.action.ShutdownResponse.action_result)
    
    ::mavsdk::rpc::action::ActionResult* temp = action_result_;
    action_result_ = nullptr;
    return temp;
  }
  inline ::mavsdk::rpc::action::ActionResult* ShutdownResponse::_internal_mutable_action_result() {
    
    if (action_result_ == nullptr) {
      auto* p = CreateMaybeMessage<::mavsdk::rpc::action::ActionResult>(GetArena());
      action_result_ = p;
    }
    return action_result_;
  }
  inline ::mavsdk::rpc::action::ActionResult* ShutdownResponse::mutable_action_result() {
    // @@protoc_insertion_point(field_mutable:mavsdk.rpc.action.ShutdownResponse.action_result)
    return _internal_mutable_action_result();
  }
  inline void ShutdownResponse::set_allocated_action_result(::mavsdk::rpc::action::ActionResult* action_result) {
    ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
    if (message_arena == nullptr) {
      delete action_result_;
    }
    if (action_result) {
      ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(action_result);
      if (message_arena != submessage_arena) {
        action_result = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
            message_arena, action_result, submessage_arena);
      }
      
    } else {
      
    }
    action_result_ = action_result;
    // @@protoc_insertion_point(field_set_allocated:mavsdk.rpc.action.ShutdownResponse.action_result)
  }
  
  // -------------------------------------------------------------------
  
  // TerminateRequest
  
  // -------------------------------------------------------------------
  
  // TerminateResponse
  
  // .mavsdk.rpc.action.ActionResult action_result = 1;
  inline bool TerminateResponse::_internal_has_action_result() const {
    return this != internal_default_instance() && action_result_ != nullptr;
  }
  inline bool TerminateResponse::has_action_result() const {
    return _internal_has_action_result();
  }
  inline void TerminateResponse::clear_action_result() {
    if (GetArena() == nullptr && action_result_ != nullptr) {
      delete action_result_;
    }
    action_result_ = nullptr;
  }
  inline const ::mavsdk::rpc::action::ActionResult& TerminateResponse::_internal_action_result() const {
    const ::mavsdk::rpc::action::ActionResult* p = action_result_;
    return p != nullptr ? *p : reinterpret_cast<const ::mavsdk::rpc::action::ActionResult&>(
        ::mavsdk::rpc::action::_ActionResult_default_instance_);
  }
  inline const ::mavsdk::rpc::action::ActionResult& TerminateResponse::action_result() const {
    // @@protoc_insertion_point(field_get:mavsdk.rpc.action.TerminateResponse.action_result)
    return _internal_action_result();
  }
  inline void TerminateResponse::unsafe_arena_set_allocated_action_result(
      ::mavsdk::rpc::action::ActionResult* action_result) {
    if (GetArena() == nullptr) {
      delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(action_result_);
    }
    action_result_ = action_result;
    if (action_result) {
      
    } else {
      
    }
    // @@protoc_insertion_point(field_unsafe_arena_set_allocated:mavsdk.rpc.action.TerminateResponse.action_result)
  }
  inline ::mavsdk::rpc::action::ActionResult* TerminateResponse::release_action_result() {
    
    ::mavsdk::rpc::action::ActionResult* temp = action_result_;
    action_result_ = nullptr;
    if (GetArena() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    return temp;
  }
  inline ::mavsdk::rpc::action::ActionResult* TerminateResponse::unsafe_arena_release_action_result() {
    // @@protoc_insertion_point(field_release:mavsdk.rpc.action.TerminateResponse.action_result)
    
    ::mavsdk::rpc::action::ActionResult* temp = action_result_;
    action_result_ = nullptr;
    return temp;
  }
  inline ::mavsdk::rpc::action::ActionResult* TerminateResponse::_internal_mutable_action_result() {
    
    if (action_result_ == nullptr) {
      auto* p = CreateMaybeMessage<::mavsdk::rpc::action::ActionResult>(GetArena());
      action_result_ = p;
    }
    return action_result_;
  }
  inline ::mavsdk::rpc::action::ActionResult* TerminateResponse::mutable_action_result() {
    // @@protoc_insertion_point(field_mutable:mavsdk.rpc.action.TerminateResponse.action_result)
    return _internal_mutable_action_result();
  }
  inline void TerminateResponse::set_allocated_action_result(::mavsdk::rpc::action::ActionResult* action_result) {
    ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
    if (message_arena == nullptr) {
      delete action_result_;
    }
    if (action_result) {
      ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(action_result);
      if (message_arena != submessage_arena) {
        action_result = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
            message_arena, action_result, submessage_arena);
      }
      
    } else {
      
    }
    action_result_ = action_result;
    // @@protoc_insertion_point(field_set_allocated:mavsdk.rpc.action.TerminateResponse.action_result)
  }
  
  // -------------------------------------------------------------------
  
  // KillRequest
  
  // -------------------------------------------------------------------
  
  // KillResponse
  
  // .mavsdk.rpc.action.ActionResult action_result = 1;
  inline bool KillResponse::_internal_has_action_result() const {
    return this != internal_default_instance() && action_result_ != nullptr;
  }
  inline bool KillResponse::has_action_result() const {
    return _internal_has_action_result();
  }
  inline void KillResponse::clear_action_result() {
    if (GetArena() == nullptr && action_result_ != nullptr) {
      delete action_result_;
    }
    action_result_ = nullptr;
  }
  inline const ::mavsdk::rpc::action::ActionResult& KillResponse::_internal_action_result() const {
    const ::mavsdk::rpc::action::ActionResult* p = action_result_;
    return p != nullptr ? *p : reinterpret_cast<const ::mavsdk::rpc::action::ActionResult&>(
        ::mavsdk::rpc::action::_ActionResult_default_instance_);
  }
  inline const ::mavsdk::rpc::action::ActionResult& KillResponse::action_result() const {
    // @@protoc_insertion_point(field_get:mavsdk.rpc.action.KillResponse.action_result)
    return _internal_action_result();
  }
  inline void KillResponse::unsafe_arena_set_allocated_action_result(
      ::mavsdk::rpc::action::ActionResult* action_result) {
    if (GetArena() == nullptr) {
      delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(action_result_);
    }
    action_result_ = action_result;
    if (action_result) {
      
    } else {
      
    }
    // @@protoc_insertion_point(field_unsafe_arena_set_allocated:mavsdk.rpc.action.KillResponse.action_result)
  }
  inline ::mavsdk::rpc::action::ActionResult* KillResponse::release_action_result() {
    
    ::mavsdk::rpc::action::ActionResult* temp = action_result_;
    action_result_ = nullptr;
    if (GetArena() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    return temp;
  }
  inline ::mavsdk::rpc::action::ActionResult* KillResponse::unsafe_arena_release_action_result() {
    // @@protoc_insertion_point(field_release:mavsdk.rpc.action.KillResponse.action_result)
    
    ::mavsdk::rpc::action::ActionResult* temp = action_result_;
    action_result_ = nullptr;
    return temp;
  }
  inline ::mavsdk::rpc::action::ActionResult* KillResponse::_internal_mutable_action_result() {
    
    if (action_result_ == nullptr) {
      auto* p = CreateMaybeMessage<::mavsdk::rpc::action::ActionResult>(GetArena());
      action_result_ = p;
    }
    return action_result_;
  }
  inline ::mavsdk::rpc::action::ActionResult* KillResponse::mutable_action_result() {
    // @@protoc_insertion_point(field_mutable:mavsdk.rpc.action.KillResponse.action_result)
    return _internal_mutable_action_result();
  }
  inline void KillResponse::set_allocated_action_result(::mavsdk::rpc::action::ActionResult* action_result) {
    ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
    if (message_arena == nullptr) {
      delete action_result_;
    }
    if (action_result) {
      ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(action_result);
      if (message_arena != submessage_arena) {
        action_result = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
            message_arena, action_result, submessage_arena);
      }
      
    } else {
      
    }
    action_result_ = action_result;
    // @@protoc_insertion_point(field_set_allocated:mavsdk.rpc.action.KillResponse.action_result)
  }
  
  // -------------------------------------------------------------------
  
  // ReturnToLaunchRequest
  
  // -------------------------------------------------------------------
  
  // ReturnToLaunchResponse
  
  // .mavsdk.rpc.action.ActionResult action_result = 1;
  inline bool ReturnToLaunchResponse::_internal_has_action_result() const {
    return this != internal_default_instance() && action_result_ != nullptr;
  }
  inline bool ReturnToLaunchResponse::has_action_result() const {
    return _internal_has_action_result();
  }
  inline void ReturnToLaunchResponse::clear_action_result() {
    if (GetArena() == nullptr && action_result_ != nullptr) {
      delete action_result_;
    }
    action_result_ = nullptr;
  }
  inline const ::mavsdk::rpc::action::ActionResult& ReturnToLaunchResponse::_internal_action_result() const {
    const ::mavsdk::rpc::action::ActionResult* p = action_result_;
    return p != nullptr ? *p : reinterpret_cast<const ::mavsdk::rpc::action::ActionResult&>(
        ::mavsdk::rpc::action::_ActionResult_default_instance_);
  }
  inline const ::mavsdk::rpc::action::ActionResult& ReturnToLaunchResponse::action_result() const {
    // @@protoc_insertion_point(field_get:mavsdk.rpc.action.ReturnToLaunchResponse.action_result)
    return _internal_action_result();
  }
  inline void ReturnToLaunchResponse::unsafe_arena_set_allocated_action_result(
      ::mavsdk::rpc::action::ActionResult* action_result) {
    if (GetArena() == nullptr) {
      delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(action_result_);
    }
    action_result_ = action_result;
    if (action_result) {
      
    } else {
      
    }
    // @@protoc_insertion_point(field_unsafe_arena_set_allocated:mavsdk.rpc.action.ReturnToLaunchResponse.action_result)
  }
  inline ::mavsdk::rpc::action::ActionResult* ReturnToLaunchResponse::release_action_result() {
    
    ::mavsdk::rpc::action::ActionResult* temp = action_result_;
    action_result_ = nullptr;
    if (GetArena() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    return temp;
  }
  inline ::mavsdk::rpc::action::ActionResult* ReturnToLaunchResponse::unsafe_arena_release_action_result() {
    // @@protoc_insertion_point(field_release:mavsdk.rpc.action.ReturnToLaunchResponse.action_result)
    
    ::mavsdk::rpc::action::ActionResult* temp = action_result_;
    action_result_ = nullptr;
    return temp;
  }
  inline ::mavsdk::rpc::action::ActionResult* ReturnToLaunchResponse::_internal_mutable_action_result() {
    
    if (action_result_ == nullptr) {
      auto* p = CreateMaybeMessage<::mavsdk::rpc::action::ActionResult>(GetArena());
      action_result_ = p;
    }
    return action_result_;
  }
  inline ::mavsdk::rpc::action::ActionResult* ReturnToLaunchResponse::mutable_action_result() {
    // @@protoc_insertion_point(field_mutable:mavsdk.rpc.action.ReturnToLaunchResponse.action_result)
    return _internal_mutable_action_result();
  }
  inline void ReturnToLaunchResponse::set_allocated_action_result(::mavsdk::rpc::action::ActionResult* action_result) {
    ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
    if (message_arena == nullptr) {
      delete action_result_;
    }
    if (action_result) {
      ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(action_result);
      if (message_arena != submessage_arena) {
        action_result = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
            message_arena, action_result, submessage_arena);
      }
      
    } else {
      
    }
    action_result_ = action_result;
    // @@protoc_insertion_point(field_set_allocated:mavsdk.rpc.action.ReturnToLaunchResponse.action_result)
  }
  
  // -------------------------------------------------------------------
  
  // GotoLocationRequest
  
  // double latitude_deg = 1;
  inline void GotoLocationRequest::clear_latitude_deg() {
    latitude_deg_ = 0;
  }
  inline double GotoLocationRequest::_internal_latitude_deg() const {
    return latitude_deg_;
  }
  inline double GotoLocationRequest::latitude_deg() const {
    // @@protoc_insertion_point(field_get:mavsdk.rpc.action.GotoLocationRequest.latitude_deg)
    return _internal_latitude_deg();
  }
  inline void GotoLocationRequest::_internal_set_latitude_deg(double value) {
    
    latitude_deg_ = value;
  }
  inline void GotoLocationRequest::set_latitude_deg(double value) {
    _internal_set_latitude_deg(value);
    // @@protoc_insertion_point(field_set:mavsdk.rpc.action.GotoLocationRequest.latitude_deg)
  }
  
  // double longitude_deg = 2;
  inline void GotoLocationRequest::clear_longitude_deg() {
    longitude_deg_ = 0;
  }
  inline double GotoLocationRequest::_internal_longitude_deg() const {
    return longitude_deg_;
  }
  inline double GotoLocationRequest::longitude_deg() const {
    // @@protoc_insertion_point(field_get:mavsdk.rpc.action.GotoLocationRequest.longitude_deg)
    return _internal_longitude_deg();
  }
  inline void GotoLocationRequest::_internal_set_longitude_deg(double value) {
    
    longitude_deg_ = value;
  }
  inline void GotoLocationRequest::set_longitude_deg(double value) {
    _internal_set_longitude_deg(value);
    // @@protoc_insertion_point(field_set:mavsdk.rpc.action.GotoLocationRequest.longitude_deg)
  }
  
  // float absolute_altitude_m = 3;
  inline void GotoLocationRequest::clear_absolute_altitude_m() {
    absolute_altitude_m_ = 0;
  }
  inline float GotoLocationRequest::_internal_absolute_altitude_m() const {
    return absolute_altitude_m_;
  }
  inline float GotoLocationRequest::absolute_altitude_m() const {
    // @@protoc_insertion_point(field_get:mavsdk.rpc.action.GotoLocationRequest.absolute_altitude_m)
    return _internal_absolute_altitude_m();
  }
  inline void GotoLocationRequest::_internal_set_absolute_altitude_m(float value) {
    
    absolute_altitude_m_ = value;
  }
  inline void GotoLocationRequest::set_absolute_altitude_m(float value) {
    _internal_set_absolute_altitude_m(value);
    // @@protoc_insertion_point(field_set:mavsdk.rpc.action.GotoLocationRequest.absolute_altitude_m)
  }
  
  // float yaw_deg = 4;
  inline void GotoLocationRequest::clear_yaw_deg() {
    yaw_deg_ = 0;
  }
  inline float GotoLocationRequest::_internal_yaw_deg() const {
    return yaw_deg_;
  }
  inline float GotoLocationRequest::yaw_deg() const {
    // @@protoc_insertion_point(field_get:mavsdk.rpc.action.GotoLocationRequest.yaw_deg)
    return _internal_yaw_deg();
  }
  inline void GotoLocationRequest::_internal_set_yaw_deg(float value) {
    
    yaw_deg_ = value;
  }
  inline void GotoLocationRequest::set_yaw_deg(float value) {
    _internal_set_yaw_deg(value);
    // @@protoc_insertion_point(field_set:mavsdk.rpc.action.GotoLocationRequest.yaw_deg)
  }
  
  // -------------------------------------------------------------------
  
  // GotoLocationResponse
  
  // .mavsdk.rpc.action.ActionResult action_result = 1;
  inline bool GotoLocationResponse::_internal_has_action_result() const {
    return this != internal_default_instance() && action_result_ != nullptr;
  }
  inline bool GotoLocationResponse::has_action_result() const {
    return _internal_has_action_result();
  }
  inline void GotoLocationResponse::clear_action_result() {
    if (GetArena() == nullptr && action_result_ != nullptr) {
      delete action_result_;
    }
    action_result_ = nullptr;
  }
  inline const ::mavsdk::rpc::action::ActionResult& GotoLocationResponse::_internal_action_result() const {
    const ::mavsdk::rpc::action::ActionResult* p = action_result_;
    return p != nullptr ? *p : reinterpret_cast<const ::mavsdk::rpc::action::ActionResult&>(
        ::mavsdk::rpc::action::_ActionResult_default_instance_);
  }
  inline const ::mavsdk::rpc::action::ActionResult& GotoLocationResponse::action_result() const {
    // @@protoc_insertion_point(field_get:mavsdk.rpc.action.GotoLocationResponse.action_result)
    return _internal_action_result();
  }
  inline void GotoLocationResponse::unsafe_arena_set_allocated_action_result(
      ::mavsdk::rpc::action::ActionResult* action_result) {
    if (GetArena() == nullptr) {
      delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(action_result_);
    }
    action_result_ = action_result;
    if (action_result) {
      
    } else {
      
    }
    // @@protoc_insertion_point(field_unsafe_arena_set_allocated:mavsdk.rpc.action.GotoLocationResponse.action_result)
  }
  inline ::mavsdk::rpc::action::ActionResult* GotoLocationResponse::release_action_result() {
    
    ::mavsdk::rpc::action::ActionResult* temp = action_result_;
    action_result_ = nullptr;
    if (GetArena() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    return temp;
  }
  inline ::mavsdk::rpc::action::ActionResult* GotoLocationResponse::unsafe_arena_release_action_result() {
    // @@protoc_insertion_point(field_release:mavsdk.rpc.action.GotoLocationResponse.action_result)
    
    ::mavsdk::rpc::action::ActionResult* temp = action_result_;
    action_result_ = nullptr;
    return temp;
  }
  inline ::mavsdk::rpc::action::ActionResult* GotoLocationResponse::_internal_mutable_action_result() {
    
    if (action_result_ == nullptr) {
      auto* p = CreateMaybeMessage<::mavsdk::rpc::action::ActionResult>(GetArena());
      action_result_ = p;
    }
    return action_result_;
  }
  inline ::mavsdk::rpc::action::ActionResult* GotoLocationResponse::mutable_action_result() {
    // @@protoc_insertion_point(field_mutable:mavsdk.rpc.action.GotoLocationResponse.action_result)
    return _internal_mutable_action_result();
  }
  inline void GotoLocationResponse::set_allocated_action_result(::mavsdk::rpc::action::ActionResult* action_result) {
    ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
    if (message_arena == nullptr) {
      delete action_result_;
    }
    if (action_result) {
      ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(action_result);
      if (message_arena != submessage_arena) {
        action_result = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
            message_arena, action_result, submessage_arena);
      }
      
    } else {
      
    }
    action_result_ = action_result;
    // @@protoc_insertion_point(field_set_allocated:mavsdk.rpc.action.GotoLocationResponse.action_result)
  }
  
  // -------------------------------------------------------------------
  
  // DoOrbitRequest
  
  // float radius_m = 1;
  inline void DoOrbitRequest::clear_radius_m() {
    radius_m_ = 0;
  }
  inline float DoOrbitRequest::_internal_radius_m() const {
    return radius_m_;
  }
  inline float DoOrbitRequest::radius_m() const {
    // @@protoc_insertion_point(field_get:mavsdk.rpc.action.DoOrbitRequest.radius_m)
    return _internal_radius_m();
  }
  inline void DoOrbitRequest::_internal_set_radius_m(float value) {
    
    radius_m_ = value;
  }
  inline void DoOrbitRequest::set_radius_m(float value) {
    _internal_set_radius_m(value);
    // @@protoc_insertion_point(field_set:mavsdk.rpc.action.DoOrbitRequest.radius_m)
  }
  
  // float velocity_ms = 2;
  inline void DoOrbitRequest::clear_velocity_ms() {
    velocity_ms_ = 0;
  }
  inline float DoOrbitRequest::_internal_velocity_ms() const {
    return velocity_ms_;
  }
  inline float DoOrbitRequest::velocity_ms() const {
    // @@protoc_insertion_point(field_get:mavsdk.rpc.action.DoOrbitRequest.velocity_ms)
    return _internal_velocity_ms();
  }
  inline void DoOrbitRequest::_internal_set_velocity_ms(float value) {
    
    velocity_ms_ = value;
  }
  inline void DoOrbitRequest::set_velocity_ms(float value) {
    _internal_set_velocity_ms(value);
    // @@protoc_insertion_point(field_set:mavsdk.rpc.action.DoOrbitRequest.velocity_ms)
  }
  
  // .mavsdk.rpc.action.OrbitYawBehavior yaw_behavior = 3;
  inline void DoOrbitRequest::clear_yaw_behavior() {
    yaw_behavior_ = 0;
  }
  inline ::mavsdk::rpc::action::OrbitYawBehavior DoOrbitRequest::_internal_yaw_behavior() const {
    return static_cast< ::mavsdk::rpc::action::OrbitYawBehavior >(yaw_behavior_);
  }
  inline ::mavsdk::rpc::action::OrbitYawBehavior DoOrbitRequest::yaw_behavior() const {
    // @@protoc_insertion_point(field_get:mavsdk.rpc.action.DoOrbitRequest.yaw_behavior)
    return _internal_yaw_behavior();
  }
  inline void DoOrbitRequest::_internal_set_yaw_behavior(::mavsdk::rpc::action::OrbitYawBehavior value) {
    
    yaw_behavior_ = value;
  }
  inline void DoOrbitRequest::set_yaw_behavior(::mavsdk::rpc::action::OrbitYawBehavior value) {
    _internal_set_yaw_behavior(value);
    // @@protoc_insertion_point(field_set:mavsdk.rpc.action.DoOrbitRequest.yaw_behavior)
  }
  
  // double latitude_deg = 5 [(.mavsdk.options.default_value) = "NaN"];
  inline void DoOrbitRequest::clear_latitude_deg() {
    latitude_deg_ = 0;
  }
  inline double DoOrbitRequest::_internal_latitude_deg() const {
    return latitude_deg_;
  }
  inline double DoOrbitRequest::latitude_deg() const {
    // @@protoc_insertion_point(field_get:mavsdk.rpc.action.DoOrbitRequest.latitude_deg)
    return _internal_latitude_deg();
  }
  inline void DoOrbitRequest::_internal_set_latitude_deg(double value) {
    
    latitude_deg_ = value;
  }
  inline void DoOrbitRequest::set_latitude_deg(double value) {
    _internal_set_latitude_deg(value);
    // @@protoc_insertion_point(field_set:mavsdk.rpc.action.DoOrbitRequest.latitude_deg)
  }
  
  // double longitude_deg = 6 [(.mavsdk.options.default_value) = "NaN"];
  inline void DoOrbitRequest::clear_longitude_deg() {
    longitude_deg_ = 0;
  }
  inline double DoOrbitRequest::_internal_longitude_deg() const {
    return longitude_deg_;
  }
  inline double DoOrbitRequest::longitude_deg() const {
    // @@protoc_insertion_point(field_get:mavsdk.rpc.action.DoOrbitRequest.longitude_deg)
    return _internal_longitude_deg();
  }
  inline void DoOrbitRequest::_internal_set_longitude_deg(double value) {
    
    longitude_deg_ = value;
  }
  inline void DoOrbitRequest::set_longitude_deg(double value) {
    _internal_set_longitude_deg(value);
    // @@protoc_insertion_point(field_set:mavsdk.rpc.action.DoOrbitRequest.longitude_deg)
  }
  
  // double absolute_altitude_m = 7 [(.mavsdk.options.default_value) = "NaN"];
  inline void DoOrbitRequest::clear_absolute_altitude_m() {
    absolute_altitude_m_ = 0;
  }
  inline double DoOrbitRequest::_internal_absolute_altitude_m() const {
    return absolute_altitude_m_;
  }
  inline double DoOrbitRequest::absolute_altitude_m() const {
    // @@protoc_insertion_point(field_get:mavsdk.rpc.action.DoOrbitRequest.absolute_altitude_m)
    return _internal_absolute_altitude_m();
  }
  inline void DoOrbitRequest::_internal_set_absolute_altitude_m(double value) {
    
    absolute_altitude_m_ = value;
  }
  inline void DoOrbitRequest::set_absolute_altitude_m(double value) {
    _internal_set_absolute_altitude_m(value);
    // @@protoc_insertion_point(field_set:mavsdk.rpc.action.DoOrbitRequest.absolute_altitude_m)
  }
  
  // -------------------------------------------------------------------
  
  // DoOrbitResponse
  
  // .mavsdk.rpc.action.ActionResult action_result = 1;
  inline bool DoOrbitResponse::_internal_has_action_result() const {
    return this != internal_default_instance() && action_result_ != nullptr;
  }
  inline bool DoOrbitResponse::has_action_result() const {
    return _internal_has_action_result();
  }
  inline void DoOrbitResponse::clear_action_result() {
    if (GetArena() == nullptr && action_result_ != nullptr) {
      delete action_result_;
    }
    action_result_ = nullptr;
  }
  inline const ::mavsdk::rpc::action::ActionResult& DoOrbitResponse::_internal_action_result() const {
    const ::mavsdk::rpc::action::ActionResult* p = action_result_;
    return p != nullptr ? *p : reinterpret_cast<const ::mavsdk::rpc::action::ActionResult&>(
        ::mavsdk::rpc::action::_ActionResult_default_instance_);
  }
  inline const ::mavsdk::rpc::action::ActionResult& DoOrbitResponse::action_result() const {
    // @@protoc_insertion_point(field_get:mavsdk.rpc.action.DoOrbitResponse.action_result)
    return _internal_action_result();
  }
  inline void DoOrbitResponse::unsafe_arena_set_allocated_action_result(
      ::mavsdk::rpc::action::ActionResult* action_result) {
    if (GetArena() == nullptr) {
      delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(action_result_);
    }
    action_result_ = action_result;
    if (action_result) {
      
    } else {
      
    }
    // @@protoc_insertion_point(field_unsafe_arena_set_allocated:mavsdk.rpc.action.DoOrbitResponse.action_result)
  }
  inline ::mavsdk::rpc::action::ActionResult* DoOrbitResponse::release_action_result() {
    
    ::mavsdk::rpc::action::ActionResult* temp = action_result_;
    action_result_ = nullptr;
    if (GetArena() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    return temp;
  }
  inline ::mavsdk::rpc::action::ActionResult* DoOrbitResponse::unsafe_arena_release_action_result() {
    // @@protoc_insertion_point(field_release:mavsdk.rpc.action.DoOrbitResponse.action_result)
    
    ::mavsdk::rpc::action::ActionResult* temp = action_result_;
    action_result_ = nullptr;
    return temp;
  }
  inline ::mavsdk::rpc::action::ActionResult* DoOrbitResponse::_internal_mutable_action_result() {
    
    if (action_result_ == nullptr) {
      auto* p = CreateMaybeMessage<::mavsdk::rpc::action::ActionResult>(GetArena());
      action_result_ = p;
    }
    return action_result_;
  }
  inline ::mavsdk::rpc::action::ActionResult* DoOrbitResponse::mutable_action_result() {
    // @@protoc_insertion_point(field_mutable:mavsdk.rpc.action.DoOrbitResponse.action_result)
    return _internal_mutable_action_result();
  }
  inline void DoOrbitResponse::set_allocated_action_result(::mavsdk::rpc::action::ActionResult* action_result) {
    ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
    if (message_arena == nullptr) {
      delete action_result_;
    }
    if (action_result) {
      ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(action_result);
      if (message_arena != submessage_arena) {
        action_result = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
            message_arena, action_result, submessage_arena);
      }
      
    } else {
      
    }
    action_result_ = action_result;
    // @@protoc_insertion_point(field_set_allocated:mavsdk.rpc.action.DoOrbitResponse.action_result)
  }
  
  // -------------------------------------------------------------------
  
  // HoldRequest
  
  // -------------------------------------------------------------------
  
  // HoldResponse
  
  // .mavsdk.rpc.action.ActionResult action_result = 1;
  inline bool HoldResponse::_internal_has_action_result() const {
    return this != internal_default_instance() && action_result_ != nullptr;
  }
  inline bool HoldResponse::has_action_result() const {
    return _internal_has_action_result();
  }
  inline void HoldResponse::clear_action_result() {
    if (GetArena() == nullptr && action_result_ != nullptr) {
      delete action_result_;
    }
    action_result_ = nullptr;
  }
  inline const ::mavsdk::rpc::action::ActionResult& HoldResponse::_internal_action_result() const {
    const ::mavsdk::rpc::action::ActionResult* p = action_result_;
    return p != nullptr ? *p : reinterpret_cast<const ::mavsdk::rpc::action::ActionResult&>(
        ::mavsdk::rpc::action::_ActionResult_default_instance_);
  }
  inline const ::mavsdk::rpc::action::ActionResult& HoldResponse::action_result() const {
    // @@protoc_insertion_point(field_get:mavsdk.rpc.action.HoldResponse.action_result)
    return _internal_action_result();
  }
  inline void HoldResponse::unsafe_arena_set_allocated_action_result(
      ::mavsdk::rpc::action::ActionResult* action_result) {
    if (GetArena() == nullptr) {
      delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(action_result_);
    }
    action_result_ = action_result;
    if (action_result) {
      
    } else {
      
    }
    // @@protoc_insertion_point(field_unsafe_arena_set_allocated:mavsdk.rpc.action.HoldResponse.action_result)
  }
  inline ::mavsdk::rpc::action::ActionResult* HoldResponse::release_action_result() {
    
    ::mavsdk::rpc::action::ActionResult* temp = action_result_;
    action_result_ = nullptr;
    if (GetArena() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    return temp;
  }
  inline ::mavsdk::rpc::action::ActionResult* HoldResponse::unsafe_arena_release_action_result() {
    // @@protoc_insertion_point(field_release:mavsdk.rpc.action.HoldResponse.action_result)
    
    ::mavsdk::rpc::action::ActionResult* temp = action_result_;
    action_result_ = nullptr;
    return temp;
  }
  inline ::mavsdk::rpc::action::ActionResult* HoldResponse::_internal_mutable_action_result() {
    
    if (action_result_ == nullptr) {
      auto* p = CreateMaybeMessage<::mavsdk::rpc::action::ActionResult>(GetArena());
      action_result_ = p;
    }
    return action_result_;
  }
  inline ::mavsdk::rpc::action::ActionResult* HoldResponse::mutable_action_result() {
    // @@protoc_insertion_point(field_mutable:mavsdk.rpc.action.HoldResponse.action_result)
    return _internal_mutable_action_result();
  }
  inline void HoldResponse::set_allocated_action_result(::mavsdk::rpc::action::ActionResult* action_result) {
    ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
    if (message_arena == nullptr) {
      delete action_result_;
    }
    if (action_result) {
      ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(action_result);
      if (message_arena != submessage_arena) {
        action_result = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
            message_arena, action_result, submessage_arena);
      }
      
    } else {
      
    }
    action_result_ = action_result;
    // @@protoc_insertion_point(field_set_allocated:mavsdk.rpc.action.HoldResponse.action_result)
  }
  
  // -------------------------------------------------------------------
  
  // TransitionToFixedwingRequest
  
  // -------------------------------------------------------------------
  
  // TransitionToFixedwingResponse
  
  // .mavsdk.rpc.action.ActionResult action_result = 1;
  inline bool TransitionToFixedwingResponse::_internal_has_action_result() const {
    return this != internal_default_instance() && action_result_ != nullptr;
  }
  inline bool TransitionToFixedwingResponse::has_action_result() const {
    return _internal_has_action_result();
  }
  inline void TransitionToFixedwingResponse::clear_action_result() {
    if (GetArena() == nullptr && action_result_ != nullptr) {
      delete action_result_;
    }
    action_result_ = nullptr;
  }
  inline const ::mavsdk::rpc::action::ActionResult& TransitionToFixedwingResponse::_internal_action_result() const {
    const ::mavsdk::rpc::action::ActionResult* p = action_result_;
    return p != nullptr ? *p : reinterpret_cast<const ::mavsdk::rpc::action::ActionResult&>(
        ::mavsdk::rpc::action::_ActionResult_default_instance_);
  }
  inline const ::mavsdk::rpc::action::ActionResult& TransitionToFixedwingResponse::action_result() const {
    // @@protoc_insertion_point(field_get:mavsdk.rpc.action.TransitionToFixedwingResponse.action_result)
    return _internal_action_result();
  }
  inline void TransitionToFixedwingResponse::unsafe_arena_set_allocated_action_result(
      ::mavsdk::rpc::action::ActionResult* action_result) {
    if (GetArena() == nullptr) {
      delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(action_result_);
    }
    action_result_ = action_result;
    if (action_result) {
      
    } else {
      
    }
    // @@protoc_insertion_point(field_unsafe_arena_set_allocated:mavsdk.rpc.action.TransitionToFixedwingResponse.action_result)
  }
  inline ::mavsdk::rpc::action::ActionResult* TransitionToFixedwingResponse::release_action_result() {
    
    ::mavsdk::rpc::action::ActionResult* temp = action_result_;
    action_result_ = nullptr;
    if (GetArena() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    return temp;
  }
  inline ::mavsdk::rpc::action::ActionResult* TransitionToFixedwingResponse::unsafe_arena_release_action_result() {
    // @@protoc_insertion_point(field_release:mavsdk.rpc.action.TransitionToFixedwingResponse.action_result)
    
    ::mavsdk::rpc::action::ActionResult* temp = action_result_;
    action_result_ = nullptr;
    return temp;
  }
  inline ::mavsdk::rpc::action::ActionResult* TransitionToFixedwingResponse::_internal_mutable_action_result() {
    
    if (action_result_ == nullptr) {
      auto* p = CreateMaybeMessage<::mavsdk::rpc::action::ActionResult>(GetArena());
      action_result_ = p;
    }
    return action_result_;
  }
  inline ::mavsdk::rpc::action::ActionResult* TransitionToFixedwingResponse::mutable_action_result() {
    // @@protoc_insertion_point(field_mutable:mavsdk.rpc.action.TransitionToFixedwingResponse.action_result)
    return _internal_mutable_action_result();
  }
  inline void TransitionToFixedwingResponse::set_allocated_action_result(::mavsdk::rpc::action::ActionResult* action_result) {
    ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
    if (message_arena == nullptr) {
      delete action_result_;
    }
    if (action_result) {
      ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(action_result);
      if (message_arena != submessage_arena) {
        action_result = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
            message_arena, action_result, submessage_arena);
      }
      
    } else {
      
    }
    action_result_ = action_result;
    // @@protoc_insertion_point(field_set_allocated:mavsdk.rpc.action.TransitionToFixedwingResponse.action_result)
  }
  
  // -------------------------------------------------------------------
  
  // TransitionToMulticopterRequest
  
  // -------------------------------------------------------------------
  
  // TransitionToMulticopterResponse
  
  // .mavsdk.rpc.action.ActionResult action_result = 1;
  inline bool TransitionToMulticopterResponse::_internal_has_action_result() const {
    return this != internal_default_instance() && action_result_ != nullptr;
  }
  inline bool TransitionToMulticopterResponse::has_action_result() const {
    return _internal_has_action_result();
  }
  inline void TransitionToMulticopterResponse::clear_action_result() {
    if (GetArena() == nullptr && action_result_ != nullptr) {
      delete action_result_;
    }
    action_result_ = nullptr;
  }
  inline const ::mavsdk::rpc::action::ActionResult& TransitionToMulticopterResponse::_internal_action_result() const {
    const ::mavsdk::rpc::action::ActionResult* p = action_result_;
    return p != nullptr ? *p : reinterpret_cast<const ::mavsdk::rpc::action::ActionResult&>(
        ::mavsdk::rpc::action::_ActionResult_default_instance_);
  }
  inline const ::mavsdk::rpc::action::ActionResult& TransitionToMulticopterResponse::action_result() const {
    // @@protoc_insertion_point(field_get:mavsdk.rpc.action.TransitionToMulticopterResponse.action_result)
    return _internal_action_result();
  }
  inline void TransitionToMulticopterResponse::unsafe_arena_set_allocated_action_result(
      ::mavsdk::rpc::action::ActionResult* action_result) {
    if (GetArena() == nullptr) {
      delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(action_result_);
    }
    action_result_ = action_result;
    if (action_result) {
      
    } else {
      
    }
    // @@protoc_insertion_point(field_unsafe_arena_set_allocated:mavsdk.rpc.action.TransitionToMulticopterResponse.action_result)
  }
  inline ::mavsdk::rpc::action::ActionResult* TransitionToMulticopterResponse::release_action_result() {
    
    ::mavsdk::rpc::action::ActionResult* temp = action_result_;
    action_result_ = nullptr;
    if (GetArena() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    return temp;
  }
  inline ::mavsdk::rpc::action::ActionResult* TransitionToMulticopterResponse::unsafe_arena_release_action_result() {
    // @@protoc_insertion_point(field_release:mavsdk.rpc.action.TransitionToMulticopterResponse.action_result)
    
    ::mavsdk::rpc::action::ActionResult* temp = action_result_;
    action_result_ = nullptr;
    return temp;
  }
  inline ::mavsdk::rpc::action::ActionResult* TransitionToMulticopterResponse::_internal_mutable_action_result() {
    
    if (action_result_ == nullptr) {
      auto* p = CreateMaybeMessage<::mavsdk::rpc::action::ActionResult>(GetArena());
      action_result_ = p;
    }
    return action_result_;
  }
  inline ::mavsdk::rpc::action::ActionResult* TransitionToMulticopterResponse::mutable_action_result() {
    // @@protoc_insertion_point(field_mutable:mavsdk.rpc.action.TransitionToMulticopterResponse.action_result)
    return _internal_mutable_action_result();
  }
  inline void TransitionToMulticopterResponse::set_allocated_action_result(::mavsdk::rpc::action::ActionResult* action_result) {
    ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
    if (message_arena == nullptr) {
      delete action_result_;
    }
    if (action_result) {
      ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(action_result);
      if (message_arena != submessage_arena) {
        action_result = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
            message_arena, action_result, submessage_arena);
      }
      
    } else {
      
    }
    action_result_ = action_result;
    // @@protoc_insertion_point(field_set_allocated:mavsdk.rpc.action.TransitionToMulticopterResponse.action_result)
  }
  
  // -------------------------------------------------------------------
  
  // GetTakeoffAltitudeRequest
  
  // -------------------------------------------------------------------
  
  // GetTakeoffAltitudeResponse
  
  // .mavsdk.rpc.action.ActionResult action_result = 1;
  inline bool GetTakeoffAltitudeResponse::_internal_has_action_result() const {
    return this != internal_default_instance() && action_result_ != nullptr;
  }
  inline bool GetTakeoffAltitudeResponse::has_action_result() const {
    return _internal_has_action_result();
  }
  inline void GetTakeoffAltitudeResponse::clear_action_result() {
    if (GetArena() == nullptr && action_result_ != nullptr) {
      delete action_result_;
    }
    action_result_ = nullptr;
  }
  inline const ::mavsdk::rpc::action::ActionResult& GetTakeoffAltitudeResponse::_internal_action_result() const {
    const ::mavsdk::rpc::action::ActionResult* p = action_result_;
    return p != nullptr ? *p : reinterpret_cast<const ::mavsdk::rpc::action::ActionResult&>(
        ::mavsdk::rpc::action::_ActionResult_default_instance_);
  }
  inline const ::mavsdk::rpc::action::ActionResult& GetTakeoffAltitudeResponse::action_result() const {
    // @@protoc_insertion_point(field_get:mavsdk.rpc.action.GetTakeoffAltitudeResponse.action_result)
    return _internal_action_result();
  }
  inline void GetTakeoffAltitudeResponse::unsafe_arena_set_allocated_action_result(
      ::mavsdk::rpc::action::ActionResult* action_result) {
    if (GetArena() == nullptr) {
      delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(action_result_);
    }
    action_result_ = action_result;
    if (action_result) {
      
    } else {
      
    }
    // @@protoc_insertion_point(field_unsafe_arena_set_allocated:mavsdk.rpc.action.GetTakeoffAltitudeResponse.action_result)
  }
  inline ::mavsdk::rpc::action::ActionResult* GetTakeoffAltitudeResponse::release_action_result() {
    
    ::mavsdk::rpc::action::ActionResult* temp = action_result_;
    action_result_ = nullptr;
    if (GetArena() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    return temp;
  }
  inline ::mavsdk::rpc::action::ActionResult* GetTakeoffAltitudeResponse::unsafe_arena_release_action_result() {
    // @@protoc_insertion_point(field_release:mavsdk.rpc.action.GetTakeoffAltitudeResponse.action_result)
    
    ::mavsdk::rpc::action::ActionResult* temp = action_result_;
    action_result_ = nullptr;
    return temp;
  }
  inline ::mavsdk::rpc::action::ActionResult* GetTakeoffAltitudeResponse::_internal_mutable_action_result() {
    
    if (action_result_ == nullptr) {
      auto* p = CreateMaybeMessage<::mavsdk::rpc::action::ActionResult>(GetArena());
      action_result_ = p;
    }
    return action_result_;
  }
  inline ::mavsdk::rpc::action::ActionResult* GetTakeoffAltitudeResponse::mutable_action_result() {
    // @@protoc_insertion_point(field_mutable:mavsdk.rpc.action.GetTakeoffAltitudeResponse.action_result)
    return _internal_mutable_action_result();
  }
  inline void GetTakeoffAltitudeResponse::set_allocated_action_result(::mavsdk::rpc::action::ActionResult* action_result) {
    ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
    if (message_arena == nullptr) {
      delete action_result_;
    }
    if (action_result) {
      ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(action_result);
      if (message_arena != submessage_arena) {
        action_result = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
            message_arena, action_result, submessage_arena);
      }
      
    } else {
      
    }
    action_result_ = action_result;
    // @@protoc_insertion_point(field_set_allocated:mavsdk.rpc.action.GetTakeoffAltitudeResponse.action_result)
  }
  
  // float altitude = 2;
  inline void GetTakeoffAltitudeResponse::clear_altitude() {
    altitude_ = 0;
  }
  inline float GetTakeoffAltitudeResponse::_internal_altitude() const {
    return altitude_;
  }
  inline float GetTakeoffAltitudeResponse::altitude() const {
    // @@protoc_insertion_point(field_get:mavsdk.rpc.action.GetTakeoffAltitudeResponse.altitude)
    return _internal_altitude();
  }
  inline void GetTakeoffAltitudeResponse::_internal_set_altitude(float value) {
    
    altitude_ = value;
  }
  inline void GetTakeoffAltitudeResponse::set_altitude(float value) {
    _internal_set_altitude(value);
    // @@protoc_insertion_point(field_set:mavsdk.rpc.action.GetTakeoffAltitudeResponse.altitude)
  }
  
  // -------------------------------------------------------------------
  
  // SetTakeoffAltitudeRequest
  
  // float altitude = 1;
  inline void SetTakeoffAltitudeRequest::clear_altitude() {
    altitude_ = 0;
  }
  inline float SetTakeoffAltitudeRequest::_internal_altitude() const {
    return altitude_;
  }
  inline float SetTakeoffAltitudeRequest::altitude() const {
    // @@protoc_insertion_point(field_get:mavsdk.rpc.action.SetTakeoffAltitudeRequest.altitude)
    return _internal_altitude();
  }
  inline void SetTakeoffAltitudeRequest::_internal_set_altitude(float value) {
    
    altitude_ = value;
  }
  inline void SetTakeoffAltitudeRequest::set_altitude(float value) {
    _internal_set_altitude(value);
    // @@protoc_insertion_point(field_set:mavsdk.rpc.action.SetTakeoffAltitudeRequest.altitude)
  }
  
  // -------------------------------------------------------------------
  
  // SetTakeoffAltitudeResponse
  
  // .mavsdk.rpc.action.ActionResult action_result = 1;
  inline bool SetTakeoffAltitudeResponse::_internal_has_action_result() const {
    return this != internal_default_instance() && action_result_ != nullptr;
  }
  inline bool SetTakeoffAltitudeResponse::has_action_result() const {
    return _internal_has_action_result();
  }
  inline void SetTakeoffAltitudeResponse::clear_action_result() {
    if (GetArena() == nullptr && action_result_ != nullptr) {
      delete action_result_;
    }
    action_result_ = nullptr;
  }
  inline const ::mavsdk::rpc::action::ActionResult& SetTakeoffAltitudeResponse::_internal_action_result() const {
    const ::mavsdk::rpc::action::ActionResult* p = action_result_;
    return p != nullptr ? *p : reinterpret_cast<const ::mavsdk::rpc::action::ActionResult&>(
        ::mavsdk::rpc::action::_ActionResult_default_instance_);
  }
  inline const ::mavsdk::rpc::action::ActionResult& SetTakeoffAltitudeResponse::action_result() const {
    // @@protoc_insertion_point(field_get:mavsdk.rpc.action.SetTakeoffAltitudeResponse.action_result)
    return _internal_action_result();
  }
  inline void SetTakeoffAltitudeResponse::unsafe_arena_set_allocated_action_result(
      ::mavsdk::rpc::action::ActionResult* action_result) {
    if (GetArena() == nullptr) {
      delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(action_result_);
    }
    action_result_ = action_result;
    if (action_result) {
      
    } else {
      
    }
    // @@protoc_insertion_point(field_unsafe_arena_set_allocated:mavsdk.rpc.action.SetTakeoffAltitudeResponse.action_result)
  }
  inline ::mavsdk::rpc::action::ActionResult* SetTakeoffAltitudeResponse::release_action_result() {
    
    ::mavsdk::rpc::action::ActionResult* temp = action_result_;
    action_result_ = nullptr;
    if (GetArena() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    return temp;
  }
  inline ::mavsdk::rpc::action::ActionResult* SetTakeoffAltitudeResponse::unsafe_arena_release_action_result() {
    // @@protoc_insertion_point(field_release:mavsdk.rpc.action.SetTakeoffAltitudeResponse.action_result)
    
    ::mavsdk::rpc::action::ActionResult* temp = action_result_;
    action_result_ = nullptr;
    return temp;
  }
  inline ::mavsdk::rpc::action::ActionResult* SetTakeoffAltitudeResponse::_internal_mutable_action_result() {
    
    if (action_result_ == nullptr) {
      auto* p = CreateMaybeMessage<::mavsdk::rpc::action::ActionResult>(GetArena());
      action_result_ = p;
    }
    return action_result_;
  }
  inline ::mavsdk::rpc::action::ActionResult* SetTakeoffAltitudeResponse::mutable_action_result() {
    // @@protoc_insertion_point(field_mutable:mavsdk.rpc.action.SetTakeoffAltitudeResponse.action_result)
    return _internal_mutable_action_result();
  }
  inline void SetTakeoffAltitudeResponse::set_allocated_action_result(::mavsdk::rpc::action::ActionResult* action_result) {
    ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
    if (message_arena == nullptr) {
      delete action_result_;
    }
    if (action_result) {
      ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(action_result);
      if (message_arena != submessage_arena) {
        action_result = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
            message_arena, action_result, submessage_arena);
      }
      
    } else {
      
    }
    action_result_ = action_result;
    // @@protoc_insertion_point(field_set_allocated:mavsdk.rpc.action.SetTakeoffAltitudeResponse.action_result)
  }
  
  // -------------------------------------------------------------------
  
  // GetMaximumSpeedRequest
  
  // -------------------------------------------------------------------
  
  // GetMaximumSpeedResponse
  
  // .mavsdk.rpc.action.ActionResult action_result = 1;
  inline bool GetMaximumSpeedResponse::_internal_has_action_result() const {
    return this != internal_default_instance() && action_result_ != nullptr;
  }
  inline bool GetMaximumSpeedResponse::has_action_result() const {
    return _internal_has_action_result();
  }
  inline void GetMaximumSpeedResponse::clear_action_result() {
    if (GetArena() == nullptr && action_result_ != nullptr) {
      delete action_result_;
    }
    action_result_ = nullptr;
  }
  inline const ::mavsdk::rpc::action::ActionResult& GetMaximumSpeedResponse::_internal_action_result() const {
    const ::mavsdk::rpc::action::ActionResult* p = action_result_;
    return p != nullptr ? *p : reinterpret_cast<const ::mavsdk::rpc::action::ActionResult&>(
        ::mavsdk::rpc::action::_ActionResult_default_instance_);
  }
  inline const ::mavsdk::rpc::action::ActionResult& GetMaximumSpeedResponse::action_result() const {
    // @@protoc_insertion_point(field_get:mavsdk.rpc.action.GetMaximumSpeedResponse.action_result)
    return _internal_action_result();
  }
  inline void GetMaximumSpeedResponse::unsafe_arena_set_allocated_action_result(
      ::mavsdk::rpc::action::ActionResult* action_result) {
    if (GetArena() == nullptr) {
      delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(action_result_);
    }
    action_result_ = action_result;
    if (action_result) {
      
    } else {
      
    }
    // @@protoc_insertion_point(field_unsafe_arena_set_allocated:mavsdk.rpc.action.GetMaximumSpeedResponse.action_result)
  }
  inline ::mavsdk::rpc::action::ActionResult* GetMaximumSpeedResponse::release_action_result() {
    
    ::mavsdk::rpc::action::ActionResult* temp = action_result_;
    action_result_ = nullptr;
    if (GetArena() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    return temp;
  }
  inline ::mavsdk::rpc::action::ActionResult* GetMaximumSpeedResponse::unsafe_arena_release_action_result() {
    // @@protoc_insertion_point(field_release:mavsdk.rpc.action.GetMaximumSpeedResponse.action_result)
    
    ::mavsdk::rpc::action::ActionResult* temp = action_result_;
    action_result_ = nullptr;
    return temp;
  }
  inline ::mavsdk::rpc::action::ActionResult* GetMaximumSpeedResponse::_internal_mutable_action_result() {
    
    if (action_result_ == nullptr) {
      auto* p = CreateMaybeMessage<::mavsdk::rpc::action::ActionResult>(GetArena());
      action_result_ = p;
    }
    return action_result_;
  }
  inline ::mavsdk::rpc::action::ActionResult* GetMaximumSpeedResponse::mutable_action_result() {
    // @@protoc_insertion_point(field_mutable:mavsdk.rpc.action.GetMaximumSpeedResponse.action_result)
    return _internal_mutable_action_result();
  }
  inline void GetMaximumSpeedResponse::set_allocated_action_result(::mavsdk::rpc::action::ActionResult* action_result) {
    ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
    if (message_arena == nullptr) {
      delete action_result_;
    }
    if (action_result) {
      ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(action_result);
      if (message_arena != submessage_arena) {
        action_result = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
            message_arena, action_result, submessage_arena);
      }
      
    } else {
      
    }
    action_result_ = action_result;
    // @@protoc_insertion_point(field_set_allocated:mavsdk.rpc.action.GetMaximumSpeedResponse.action_result)
  }
  
  // float speed = 2;
  inline void GetMaximumSpeedResponse::clear_speed() {
    speed_ = 0;
  }
  inline float GetMaximumSpeedResponse::_internal_speed() const {
    return speed_;
  }
  inline float GetMaximumSpeedResponse::speed() const {
    // @@protoc_insertion_point(field_get:mavsdk.rpc.action.GetMaximumSpeedResponse.speed)
    return _internal_speed();
  }
  inline void GetMaximumSpeedResponse::_internal_set_speed(float value) {
    
    speed_ = value;
  }
  inline void GetMaximumSpeedResponse::set_speed(float value) {
    _internal_set_speed(value);
    // @@protoc_insertion_point(field_set:mavsdk.rpc.action.GetMaximumSpeedResponse.speed)
  }
  
  // -------------------------------------------------------------------
  
  // SetMaximumSpeedRequest
  
  // float speed = 1;
  inline void SetMaximumSpeedRequest::clear_speed() {
    speed_ = 0;
  }
  inline float SetMaximumSpeedRequest::_internal_speed() const {
    return speed_;
  }
  inline float SetMaximumSpeedRequest::speed() const {
    // @@protoc_insertion_point(field_get:mavsdk.rpc.action.SetMaximumSpeedRequest.speed)
    return _internal_speed();
  }
  inline void SetMaximumSpeedRequest::_internal_set_speed(float value) {
    
    speed_ = value;
  }
  inline void SetMaximumSpeedRequest::set_speed(float value) {
    _internal_set_speed(value);
    // @@protoc_insertion_point(field_set:mavsdk.rpc.action.SetMaximumSpeedRequest.speed)
  }
  
  // -------------------------------------------------------------------
  
  // SetMaximumSpeedResponse
  
  // .mavsdk.rpc.action.ActionResult action_result = 1;
  inline bool SetMaximumSpeedResponse::_internal_has_action_result() const {
    return this != internal_default_instance() && action_result_ != nullptr;
  }
  inline bool SetMaximumSpeedResponse::has_action_result() const {
    return _internal_has_action_result();
  }
  inline void SetMaximumSpeedResponse::clear_action_result() {
    if (GetArena() == nullptr && action_result_ != nullptr) {
      delete action_result_;
    }
    action_result_ = nullptr;
  }
  inline const ::mavsdk::rpc::action::ActionResult& SetMaximumSpeedResponse::_internal_action_result() const {
    const ::mavsdk::rpc::action::ActionResult* p = action_result_;
    return p != nullptr ? *p : reinterpret_cast<const ::mavsdk::rpc::action::ActionResult&>(
        ::mavsdk::rpc::action::_ActionResult_default_instance_);
  }
  inline const ::mavsdk::rpc::action::ActionResult& SetMaximumSpeedResponse::action_result() const {
    // @@protoc_insertion_point(field_get:mavsdk.rpc.action.SetMaximumSpeedResponse.action_result)
    return _internal_action_result();
  }
  inline void SetMaximumSpeedResponse::unsafe_arena_set_allocated_action_result(
      ::mavsdk::rpc::action::ActionResult* action_result) {
    if (GetArena() == nullptr) {
      delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(action_result_);
    }
    action_result_ = action_result;
    if (action_result) {
      
    } else {
      
    }
    // @@protoc_insertion_point(field_unsafe_arena_set_allocated:mavsdk.rpc.action.SetMaximumSpeedResponse.action_result)
  }
  inline ::mavsdk::rpc::action::ActionResult* SetMaximumSpeedResponse::release_action_result() {
    
    ::mavsdk::rpc::action::ActionResult* temp = action_result_;
    action_result_ = nullptr;
    if (GetArena() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    return temp;
  }
  inline ::mavsdk::rpc::action::ActionResult* SetMaximumSpeedResponse::unsafe_arena_release_action_result() {
    // @@protoc_insertion_point(field_release:mavsdk.rpc.action.SetMaximumSpeedResponse.action_result)
    
    ::mavsdk::rpc::action::ActionResult* temp = action_result_;
    action_result_ = nullptr;
    return temp;
  }
  inline ::mavsdk::rpc::action::ActionResult* SetMaximumSpeedResponse::_internal_mutable_action_result() {
    
    if (action_result_ == nullptr) {
      auto* p = CreateMaybeMessage<::mavsdk::rpc::action::ActionResult>(GetArena());
      action_result_ = p;
    }
    return action_result_;
  }
  inline ::mavsdk::rpc::action::ActionResult* SetMaximumSpeedResponse::mutable_action_result() {
    // @@protoc_insertion_point(field_mutable:mavsdk.rpc.action.SetMaximumSpeedResponse.action_result)
    return _internal_mutable_action_result();
  }
  inline void SetMaximumSpeedResponse::set_allocated_action_result(::mavsdk::rpc::action::ActionResult* action_result) {
    ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
    if (message_arena == nullptr) {
      delete action_result_;
    }
    if (action_result) {
      ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(action_result);
      if (message_arena != submessage_arena) {
        action_result = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
            message_arena, action_result, submessage_arena);
      }
      
    } else {
      
    }
    action_result_ = action_result;
    // @@protoc_insertion_point(field_set_allocated:mavsdk.rpc.action.SetMaximumSpeedResponse.action_result)
  }
  
  // -------------------------------------------------------------------
  
  // GetReturnToLaunchAltitudeRequest
  
  // -------------------------------------------------------------------
  
  // GetReturnToLaunchAltitudeResponse
  
  // .mavsdk.rpc.action.ActionResult action_result = 1;
  inline bool GetReturnToLaunchAltitudeResponse::_internal_has_action_result() const {
    return this != internal_default_instance() && action_result_ != nullptr;
  }
  inline bool GetReturnToLaunchAltitudeResponse::has_action_result() const {
    return _internal_has_action_result();
  }
  inline void GetReturnToLaunchAltitudeResponse::clear_action_result() {
    if (GetArena() == nullptr && action_result_ != nullptr) {
      delete action_result_;
    }
    action_result_ = nullptr;
  }
  inline const ::mavsdk::rpc::action::ActionResult& GetReturnToLaunchAltitudeResponse::_internal_action_result() const {
    const ::mavsdk::rpc::action::ActionResult* p = action_result_;
    return p != nullptr ? *p : reinterpret_cast<const ::mavsdk::rpc::action::ActionResult&>(
        ::mavsdk::rpc::action::_ActionResult_default_instance_);
  }
  inline const ::mavsdk::rpc::action::ActionResult& GetReturnToLaunchAltitudeResponse::action_result() const {
    // @@protoc_insertion_point(field_get:mavsdk.rpc.action.GetReturnToLaunchAltitudeResponse.action_result)
    return _internal_action_result();
  }
  inline void GetReturnToLaunchAltitudeResponse::unsafe_arena_set_allocated_action_result(
      ::mavsdk::rpc::action::ActionResult* action_result) {
    if (GetArena() == nullptr) {
      delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(action_result_);
    }
    action_result_ = action_result;
    if (action_result) {
      
    } else {
      
    }
    // @@protoc_insertion_point(field_unsafe_arena_set_allocated:mavsdk.rpc.action.GetReturnToLaunchAltitudeResponse.action_result)
  }
  inline ::mavsdk::rpc::action::ActionResult* GetReturnToLaunchAltitudeResponse::release_action_result() {
    
    ::mavsdk::rpc::action::ActionResult* temp = action_result_;
    action_result_ = nullptr;
    if (GetArena() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    return temp;
  }
  inline ::mavsdk::rpc::action::ActionResult* GetReturnToLaunchAltitudeResponse::unsafe_arena_release_action_result() {
    // @@protoc_insertion_point(field_release:mavsdk.rpc.action.GetReturnToLaunchAltitudeResponse.action_result)
    
    ::mavsdk::rpc::action::ActionResult* temp = action_result_;
    action_result_ = nullptr;
    return temp;
  }
  inline ::mavsdk::rpc::action::ActionResult* GetReturnToLaunchAltitudeResponse::_internal_mutable_action_result() {
    
    if (action_result_ == nullptr) {
      auto* p = CreateMaybeMessage<::mavsdk::rpc::action::ActionResult>(GetArena());
      action_result_ = p;
    }
    return action_result_;
  }
  inline ::mavsdk::rpc::action::ActionResult* GetReturnToLaunchAltitudeResponse::mutable_action_result() {
    // @@protoc_insertion_point(field_mutable:mavsdk.rpc.action.GetReturnToLaunchAltitudeResponse.action_result)
    return _internal_mutable_action_result();
  }
  inline void GetReturnToLaunchAltitudeResponse::set_allocated_action_result(::mavsdk::rpc::action::ActionResult* action_result) {
    ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
    if (message_arena == nullptr) {
      delete action_result_;
    }
    if (action_result) {
      ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(action_result);
      if (message_arena != submessage_arena) {
        action_result = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
            message_arena, action_result, submessage_arena);
      }
      
    } else {
      
    }
    action_result_ = action_result;
    // @@protoc_insertion_point(field_set_allocated:mavsdk.rpc.action.GetReturnToLaunchAltitudeResponse.action_result)
  }
  
  // float relative_altitude_m = 2;
  inline void GetReturnToLaunchAltitudeResponse::clear_relative_altitude_m() {
    relative_altitude_m_ = 0;
  }
  inline float GetReturnToLaunchAltitudeResponse::_internal_relative_altitude_m() const {
    return relative_altitude_m_;
  }
  inline float GetReturnToLaunchAltitudeResponse::relative_altitude_m() const {
    // @@protoc_insertion_point(field_get:mavsdk.rpc.action.GetReturnToLaunchAltitudeResponse.relative_altitude_m)
    return _internal_relative_altitude_m();
  }
  inline void GetReturnToLaunchAltitudeResponse::_internal_set_relative_altitude_m(float value) {
    
    relative_altitude_m_ = value;
  }
  inline void GetReturnToLaunchAltitudeResponse::set_relative_altitude_m(float value) {
    _internal_set_relative_altitude_m(value);
    // @@protoc_insertion_point(field_set:mavsdk.rpc.action.GetReturnToLaunchAltitudeResponse.relative_altitude_m)
  }
  
  // -------------------------------------------------------------------
  
  // SetReturnToLaunchAltitudeRequest
  
  // float relative_altitude_m = 1;
  inline void SetReturnToLaunchAltitudeRequest::clear_relative_altitude_m() {
    relative_altitude_m_ = 0;
  }
  inline float SetReturnToLaunchAltitudeRequest::_internal_relative_altitude_m() const {
    return relative_altitude_m_;
  }
  inline float SetReturnToLaunchAltitudeRequest::relative_altitude_m() const {
    // @@protoc_insertion_point(field_get:mavsdk.rpc.action.SetReturnToLaunchAltitudeRequest.relative_altitude_m)
    return _internal_relative_altitude_m();
  }
  inline void SetReturnToLaunchAltitudeRequest::_internal_set_relative_altitude_m(float value) {
    
    relative_altitude_m_ = value;
  }
  inline void SetReturnToLaunchAltitudeRequest::set_relative_altitude_m(float value) {
    _internal_set_relative_altitude_m(value);
    // @@protoc_insertion_point(field_set:mavsdk.rpc.action.SetReturnToLaunchAltitudeRequest.relative_altitude_m)
  }
  
  // -------------------------------------------------------------------
  
  // SetReturnToLaunchAltitudeResponse
  
  // .mavsdk.rpc.action.ActionResult action_result = 1;
  inline bool SetReturnToLaunchAltitudeResponse::_internal_has_action_result() const {
    return this != internal_default_instance() && action_result_ != nullptr;
  }
  inline bool SetReturnToLaunchAltitudeResponse::has_action_result() const {
    return _internal_has_action_result();
  }
  inline void SetReturnToLaunchAltitudeResponse::clear_action_result() {
    if (GetArena() == nullptr && action_result_ != nullptr) {
      delete action_result_;
    }
    action_result_ = nullptr;
  }
  inline const ::mavsdk::rpc::action::ActionResult& SetReturnToLaunchAltitudeResponse::_internal_action_result() const {
    const ::mavsdk::rpc::action::ActionResult* p = action_result_;
    return p != nullptr ? *p : reinterpret_cast<const ::mavsdk::rpc::action::ActionResult&>(
        ::mavsdk::rpc::action::_ActionResult_default_instance_);
  }
  inline const ::mavsdk::rpc::action::ActionResult& SetReturnToLaunchAltitudeResponse::action_result() const {
    // @@protoc_insertion_point(field_get:mavsdk.rpc.action.SetReturnToLaunchAltitudeResponse.action_result)
    return _internal_action_result();
  }
  inline void SetReturnToLaunchAltitudeResponse::unsafe_arena_set_allocated_action_result(
      ::mavsdk::rpc::action::ActionResult* action_result) {
    if (GetArena() == nullptr) {
      delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(action_result_);
    }
    action_result_ = action_result;
    if (action_result) {
      
    } else {
      
    }
    // @@protoc_insertion_point(field_unsafe_arena_set_allocated:mavsdk.rpc.action.SetReturnToLaunchAltitudeResponse.action_result)
  }
  inline ::mavsdk::rpc::action::ActionResult* SetReturnToLaunchAltitudeResponse::release_action_result() {
    
    ::mavsdk::rpc::action::ActionResult* temp = action_result_;
    action_result_ = nullptr;
    if (GetArena() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    return temp;
  }
  inline ::mavsdk::rpc::action::ActionResult* SetReturnToLaunchAltitudeResponse::unsafe_arena_release_action_result() {
    // @@protoc_insertion_point(field_release:mavsdk.rpc.action.SetReturnToLaunchAltitudeResponse.action_result)
    
    ::mavsdk::rpc::action::ActionResult* temp = action_result_;
    action_result_ = nullptr;
    return temp;
  }
  inline ::mavsdk::rpc::action::ActionResult* SetReturnToLaunchAltitudeResponse::_internal_mutable_action_result() {
    
    if (action_result_ == nullptr) {
      auto* p = CreateMaybeMessage<::mavsdk::rpc::action::ActionResult>(GetArena());
      action_result_ = p;
    }
    return action_result_;
  }
  inline ::mavsdk::rpc::action::ActionResult* SetReturnToLaunchAltitudeResponse::mutable_action_result() {
    // @@protoc_insertion_point(field_mutable:mavsdk.rpc.action.SetReturnToLaunchAltitudeResponse.action_result)
    return _internal_mutable_action_result();
  }
  inline void SetReturnToLaunchAltitudeResponse::set_allocated_action_result(::mavsdk::rpc::action::ActionResult* action_result) {
    ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
    if (message_arena == nullptr) {
      delete action_result_;
    }
    if (action_result) {
      ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(action_result);
      if (message_arena != submessage_arena) {
        action_result = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
            message_arena, action_result, submessage_arena);
      }
      
    } else {
      
    }
    action_result_ = action_result;
    // @@protoc_insertion_point(field_set_allocated:mavsdk.rpc.action.SetReturnToLaunchAltitudeResponse.action_result)
  }
  
  // -------------------------------------------------------------------
  
  // ActionResult
  
  // .mavsdk.rpc.action.ActionResult.Result result = 1;
  inline void ActionResult::clear_result() {
    result_ = 0;
  }
  inline ::mavsdk::rpc::action::ActionResult_Result ActionResult::_internal_result() const {
    return static_cast< ::mavsdk::rpc::action::ActionResult_Result >(result_);
  }
  inline ::mavsdk::rpc::action::ActionResult_Result ActionResult::result() const {
    // @@protoc_insertion_point(field_get:mavsdk.rpc.action.ActionResult.result)
    return _internal_result();
  }
  inline void ActionResult::_internal_set_result(::mavsdk::rpc::action::ActionResult_Result value) {
    
    result_ = value;
  }
  inline void ActionResult::set_result(::mavsdk::rpc::action::ActionResult_Result value) {
    _internal_set_result(value);
    // @@protoc_insertion_point(field_set:mavsdk.rpc.action.ActionResult.result)
  }
  
  // string result_str = 2;
  inline void ActionResult::clear_result_str() {
    result_str_.ClearToEmpty();
  }
  inline const std::string& ActionResult::result_str() const {
    // @@protoc_insertion_point(field_get:mavsdk.rpc.action.ActionResult.result_str)
    return _internal_result_str();
  }
  inline void ActionResult::set_result_str(const std::string& value) {
    _internal_set_result_str(value);
    // @@protoc_insertion_point(field_set:mavsdk.rpc.action.ActionResult.result_str)
  }
  inline std::string* ActionResult::mutable_result_str() {
    // @@protoc_insertion_point(field_mutable:mavsdk.rpc.action.ActionResult.result_str)
    return _internal_mutable_result_str();
  }
  inline const std::string& ActionResult::_internal_result_str() const {
    return result_str_.Get();
  }
  inline void ActionResult::_internal_set_result_str(const std::string& value) {
    
    result_str_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena());
  }
  inline void ActionResult::set_result_str(std::string&& value) {
    
    result_str_.Set(
      ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena());
    // @@protoc_insertion_point(field_set_rvalue:mavsdk.rpc.action.ActionResult.result_str)
  }
  inline void ActionResult::set_result_str(const char* value) {
    GOOGLE_DCHECK(value != nullptr);
    
    result_str_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena());
    // @@protoc_insertion_point(field_set_char:mavsdk.rpc.action.ActionResult.result_str)
  }
  inline void ActionResult::set_result_str(const char* value,
      size_t size) {
    
    result_str_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(
        reinterpret_cast<const char*>(value), size), GetArena());
    // @@protoc_insertion_point(field_set_pointer:mavsdk.rpc.action.ActionResult.result_str)
  }
  inline std::string* ActionResult::_internal_mutable_result_str() {
    
    return result_str_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
  }
  inline std::string* ActionResult::release_result_str() {
    // @@protoc_insertion_point(field_release:mavsdk.rpc.action.ActionResult.result_str)
    return result_str_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  }
  inline void ActionResult::set_allocated_result_str(std::string* result_str) {
    if (result_str != nullptr) {
      
    } else {
      
    }
    result_str_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), result_str,
        GetArena());
    // @@protoc_insertion_point(field_set_allocated:mavsdk.rpc.action.ActionResult.result_str)
  }
  
  #ifdef __GNUC__
    #pragma GCC diagnostic pop
  #endif  // __GNUC__
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  
  // @@protoc_insertion_point(namespace_scope)
  
  }  // namespace action
  }  // namespace rpc
  }  // namespace mavsdk
  
  PROTOBUF_NAMESPACE_OPEN
  
  template <> struct is_proto_enum< ::mavsdk::rpc::action::ActionResult_Result> : ::std::true_type {};
  template <>
  inline const EnumDescriptor* GetEnumDescriptor< ::mavsdk::rpc::action::ActionResult_Result>() {
    return ::mavsdk::rpc::action::ActionResult_Result_descriptor();
  }
  template <> struct is_proto_enum< ::mavsdk::rpc::action::OrbitYawBehavior> : ::std::true_type {};
  template <>
  inline const EnumDescriptor* GetEnumDescriptor< ::mavsdk::rpc::action::OrbitYawBehavior>() {
    return ::mavsdk::rpc::action::OrbitYawBehavior_descriptor();
  }
  
  PROTOBUF_NAMESPACE_CLOSE
  
  // @@protoc_insertion_point(global_scope)
  
  #include <google/protobuf/port_undef.inc>
  #endif  // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_action_2faction_2eproto
  