text: // Generated by the protocol buffer compiler.  DO NOT EDIT!
  // source: param_server/param_server.proto
  
  #ifndef GOOGLE_PROTOBUF_INCLUDED_param_5fserver_2fparam_5fserver_2eproto
  #define GOOGLE_PROTOBUF_INCLUDED_param_5fserver_2fparam_5fserver_2eproto
  
  #include <limits>
  #include <string>
  
  #include <google/protobuf/port_def.inc>
  #if PROTOBUF_VERSION < 3020000
  #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 3020001 < 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_bases.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_param_5fserver_2fparam_5fserver_2eproto
  PROTOBUF_NAMESPACE_OPEN
  namespace internal {
  class AnyMetadata;
  }  // namespace internal
  PROTOBUF_NAMESPACE_CLOSE
  
  // Internal implementation detail -- do not use these members.
  struct TableStruct_param_5fserver_2fparam_5fserver_2eproto {
    static const uint32_t offsets[];
  };
  extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_param_5fserver_2fparam_5fserver_2eproto;
  namespace mavsdk {
  namespace rpc {
  namespace param_server {
  class AllParams;
  struct AllParamsDefaultTypeInternal;
  extern AllParamsDefaultTypeInternal _AllParams_default_instance_;
  class CustomParam;
  struct CustomParamDefaultTypeInternal;
  extern CustomParamDefaultTypeInternal _CustomParam_default_instance_;
  class FloatParam;
  struct FloatParamDefaultTypeInternal;
  extern FloatParamDefaultTypeInternal _FloatParam_default_instance_;
  class IntParam;
  struct IntParamDefaultTypeInternal;
  extern IntParamDefaultTypeInternal _IntParam_default_instance_;
  class ParamServerResult;
  struct ParamServerResultDefaultTypeInternal;
  extern ParamServerResultDefaultTypeInternal _ParamServerResult_default_instance_;
  class ProvideParamCustomRequest;
  struct ProvideParamCustomRequestDefaultTypeInternal;
  extern ProvideParamCustomRequestDefaultTypeInternal _ProvideParamCustomRequest_default_instance_;
  class ProvideParamCustomResponse;
  struct ProvideParamCustomResponseDefaultTypeInternal;
  extern ProvideParamCustomResponseDefaultTypeInternal _ProvideParamCustomResponse_default_instance_;
  class ProvideParamFloatRequest;
  struct ProvideParamFloatRequestDefaultTypeInternal;
  extern ProvideParamFloatRequestDefaultTypeInternal _ProvideParamFloatRequest_default_instance_;
  class ProvideParamFloatResponse;
  struct ProvideParamFloatResponseDefaultTypeInternal;
  extern ProvideParamFloatResponseDefaultTypeInternal _ProvideParamFloatResponse_default_instance_;
  class ProvideParamIntRequest;
  struct ProvideParamIntRequestDefaultTypeInternal;
  extern ProvideParamIntRequestDefaultTypeInternal _ProvideParamIntRequest_default_instance_;
  class ProvideParamIntResponse;
  struct ProvideParamIntResponseDefaultTypeInternal;
  extern ProvideParamIntResponseDefaultTypeInternal _ProvideParamIntResponse_default_instance_;
  class RetrieveAllParamsRequest;
  struct RetrieveAllParamsRequestDefaultTypeInternal;
  extern RetrieveAllParamsRequestDefaultTypeInternal _RetrieveAllParamsRequest_default_instance_;
  class RetrieveAllParamsResponse;
  struct RetrieveAllParamsResponseDefaultTypeInternal;
  extern RetrieveAllParamsResponseDefaultTypeInternal _RetrieveAllParamsResponse_default_instance_;
  class RetrieveParamCustomRequest;
  struct RetrieveParamCustomRequestDefaultTypeInternal;
  extern RetrieveParamCustomRequestDefaultTypeInternal _RetrieveParamCustomRequest_default_instance_;
  class RetrieveParamCustomResponse;
  struct RetrieveParamCustomResponseDefaultTypeInternal;
  extern RetrieveParamCustomResponseDefaultTypeInternal _RetrieveParamCustomResponse_default_instance_;
  class RetrieveParamFloatRequest;
  struct RetrieveParamFloatRequestDefaultTypeInternal;
  extern RetrieveParamFloatRequestDefaultTypeInternal _RetrieveParamFloatRequest_default_instance_;
  class RetrieveParamFloatResponse;
  struct RetrieveParamFloatResponseDefaultTypeInternal;
  extern RetrieveParamFloatResponseDefaultTypeInternal _RetrieveParamFloatResponse_default_instance_;
  class RetrieveParamIntRequest;
  struct RetrieveParamIntRequestDefaultTypeInternal;
  extern RetrieveParamIntRequestDefaultTypeInternal _RetrieveParamIntRequest_default_instance_;
  class RetrieveParamIntResponse;
  struct RetrieveParamIntResponseDefaultTypeInternal;
  extern RetrieveParamIntResponseDefaultTypeInternal _RetrieveParamIntResponse_default_instance_;
  }  // namespace param_server
  }  // namespace rpc
  }  // namespace mavsdk
  PROTOBUF_NAMESPACE_OPEN
  template<> ::mavsdk::rpc::param_server::AllParams* Arena::CreateMaybeMessage<::mavsdk::rpc::param_server::AllParams>(Arena*);
  template<> ::mavsdk::rpc::param_server::CustomParam* Arena::CreateMaybeMessage<::mavsdk::rpc::param_server::CustomParam>(Arena*);
  template<> ::mavsdk::rpc::param_server::FloatParam* Arena::CreateMaybeMessage<::mavsdk::rpc::param_server::FloatParam>(Arena*);
  template<> ::mavsdk::rpc::param_server::IntParam* Arena::CreateMaybeMessage<::mavsdk::rpc::param_server::IntParam>(Arena*);
  template<> ::mavsdk::rpc::param_server::ParamServerResult* Arena::CreateMaybeMessage<::mavsdk::rpc::param_server::ParamServerResult>(Arena*);
  template<> ::mavsdk::rpc::param_server::ProvideParamCustomRequest* Arena::CreateMaybeMessage<::mavsdk::rpc::param_server::ProvideParamCustomRequest>(Arena*);
  template<> ::mavsdk::rpc::param_server::ProvideParamCustomResponse* Arena::CreateMaybeMessage<::mavsdk::rpc::param_server::ProvideParamCustomResponse>(Arena*);
  template<> ::mavsdk::rpc::param_server::ProvideParamFloatRequest* Arena::CreateMaybeMessage<::mavsdk::rpc::param_server::ProvideParamFloatRequest>(Arena*);
  template<> ::mavsdk::rpc::param_server::ProvideParamFloatResponse* Arena::CreateMaybeMessage<::mavsdk::rpc::param_server::ProvideParamFloatResponse>(Arena*);
  template<> ::mavsdk::rpc::param_server::ProvideParamIntRequest* Arena::CreateMaybeMessage<::mavsdk::rpc::param_server::ProvideParamIntRequest>(Arena*);
  template<> ::mavsdk::rpc::param_server::ProvideParamIntResponse* Arena::CreateMaybeMessage<::mavsdk::rpc::param_server::ProvideParamIntResponse>(Arena*);
  template<> ::mavsdk::rpc::param_server::RetrieveAllParamsRequest* Arena::CreateMaybeMessage<::mavsdk::rpc::param_server::RetrieveAllParamsRequest>(Arena*);
  template<> ::mavsdk::rpc::param_server::RetrieveAllParamsResponse* Arena::CreateMaybeMessage<::mavsdk::rpc::param_server::RetrieveAllParamsResponse>(Arena*);
  template<> ::mavsdk::rpc::param_server::RetrieveParamCustomRequest* Arena::CreateMaybeMessage<::mavsdk::rpc::param_server::RetrieveParamCustomRequest>(Arena*);
  template<> ::mavsdk::rpc::param_server::RetrieveParamCustomResponse* Arena::CreateMaybeMessage<::mavsdk::rpc::param_server::RetrieveParamCustomResponse>(Arena*);
  template<> ::mavsdk::rpc::param_server::RetrieveParamFloatRequest* Arena::CreateMaybeMessage<::mavsdk::rpc::param_server::RetrieveParamFloatRequest>(Arena*);
  template<> ::mavsdk::rpc::param_server::RetrieveParamFloatResponse* Arena::CreateMaybeMessage<::mavsdk::rpc::param_server::RetrieveParamFloatResponse>(Arena*);
  template<> ::mavsdk::rpc::param_server::RetrieveParamIntRequest* Arena::CreateMaybeMessage<::mavsdk::rpc::param_server::RetrieveParamIntRequest>(Arena*);
  template<> ::mavsdk::rpc::param_server::RetrieveParamIntResponse* Arena::CreateMaybeMessage<::mavsdk::rpc::param_server::RetrieveParamIntResponse>(Arena*);
  PROTOBUF_NAMESPACE_CLOSE
  namespace mavsdk {
  namespace rpc {
  namespace param_server {
  
  enum ParamServerResult_Result : int {
    ParamServerResult_Result_RESULT_UNKNOWN = 0,
    ParamServerResult_Result_RESULT_SUCCESS = 1,
    ParamServerResult_Result_RESULT_NOT_FOUND = 2,
    ParamServerResult_Result_RESULT_WRONG_TYPE = 3,
    ParamServerResult_Result_RESULT_PARAM_NAME_TOO_LONG = 4,
    ParamServerResult_Result_RESULT_NO_SYSTEM = 5,
    ParamServerResult_Result_RESULT_PARAM_VALUE_TOO_LONG = 6,
    ParamServerResult_Result_ParamServerResult_Result_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits<int32_t>::min(),
    ParamServerResult_Result_ParamServerResult_Result_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits<int32_t>::max()
  };
  bool ParamServerResult_Result_IsValid(int value);
  constexpr ParamServerResult_Result ParamServerResult_Result_Result_MIN = ParamServerResult_Result_RESULT_UNKNOWN;
  constexpr ParamServerResult_Result ParamServerResult_Result_Result_MAX = ParamServerResult_Result_RESULT_PARAM_VALUE_TOO_LONG;
  constexpr int ParamServerResult_Result_Result_ARRAYSIZE = ParamServerResult_Result_Result_MAX + 1;
  
  const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* ParamServerResult_Result_descriptor();
  template<typename T>
  inline const std::string& ParamServerResult_Result_Name(T enum_t_value) {
    static_assert(::std::is_same<T, ParamServerResult_Result>::value ||
      ::std::is_integral<T>::value,
      "Incorrect type passed to function ParamServerResult_Result_Name.");
    return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
      ParamServerResult_Result_descriptor(), enum_t_value);
  }
  inline bool ParamServerResult_Result_Parse(
      ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, ParamServerResult_Result* value) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<ParamServerResult_Result>(
      ParamServerResult_Result_descriptor(), name, value);
  }
  // ===================================================================
  
  class RetrieveParamIntRequest final :
      public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:mavsdk.rpc.param_server.RetrieveParamIntRequest) */ {
   public:
    inline RetrieveParamIntRequest() : RetrieveParamIntRequest(nullptr) {}
    ~RetrieveParamIntRequest() override;
    explicit PROTOBUF_CONSTEXPR RetrieveParamIntRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
  
    RetrieveParamIntRequest(const RetrieveParamIntRequest& from);
    RetrieveParamIntRequest(RetrieveParamIntRequest&& from) noexcept
      : RetrieveParamIntRequest() {
      *this = ::std::move(from);
    }
  
    inline RetrieveParamIntRequest& operator=(const RetrieveParamIntRequest& from) {
      CopyFrom(from);
      return *this;
    }
    inline RetrieveParamIntRequest& operator=(RetrieveParamIntRequest&& from) noexcept {
      if (this == &from) return *this;
      if (GetOwningArena() == from.GetOwningArena()
    #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
          && GetOwningArena() != nullptr
    #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
      ) {
        InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
  
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
      return GetDescriptor();
    }
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
      return default_instance().GetMetadata().descriptor;
    }
    static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
      return default_instance().GetMetadata().reflection;
    }
    static const RetrieveParamIntRequest& default_instance() {
      return *internal_default_instance();
    }
    static inline const RetrieveParamIntRequest* internal_default_instance() {
      return reinterpret_cast<const RetrieveParamIntRequest*>(
                 &_RetrieveParamIntRequest_default_instance_);
    }
    static constexpr int kIndexInFileMessages =
      0;
  
    friend void swap(RetrieveParamIntRequest& a, RetrieveParamIntRequest& b) {
      a.Swap(&b);
    }
    inline void Swap(RetrieveParamIntRequest* other) {
      if (other == this) return;
    #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
      if (GetOwningArena() != nullptr &&
          GetOwningArena() == other->GetOwningArena()) {
     #else  // PROTOBUF_FORCE_COPY_IN_SWAP
      if (GetOwningArena() == other->GetOwningArena()) {
    #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
        InternalSwap(other);
      } else {
        ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
      }
    }
    void UnsafeArenaSwap(RetrieveParamIntRequest* other) {
      if (other == this) return;
      GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
      InternalSwap(other);
    }
  
    // implements Message ----------------------------------------------
  
    RetrieveParamIntRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
      return CreateMaybeMessage<RetrieveParamIntRequest>(arena);
    }
    using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
    void CopyFrom(const RetrieveParamIntRequest& from);
    using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
    void MergeFrom(const RetrieveParamIntRequest& from);
    private:
    static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
    public:
    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;
    uint8_t* _InternalSerialize(
        uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
    int GetCachedSize() const final { return _cached_size_.Get(); }
  
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const final;
    void InternalSwap(RetrieveParamIntRequest* other);
  
    private:
    friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
    static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
      return "mavsdk.rpc.param_server.RetrieveParamIntRequest";
    }
    protected:
    explicit RetrieveParamIntRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned = false);
    public:
  
    static const ClassData _class_data_;
    const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
  
    ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    enum : int {
      kNameFieldNumber = 1,
    };
    // string name = 1;
    void clear_name();
    const std::string& name() const;
    template <typename ArgT0 = const std::string&, typename... ArgT>
    void set_name(ArgT0&& arg0, ArgT... args);
    std::string* mutable_name();
    PROTOBUF_NODISCARD std::string* release_name();
    void set_allocated_name(std::string* name);
    private:
    const std::string& _internal_name() const;
    inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value);
    std::string* _internal_mutable_name();
    public:
  
    // @@protoc_insertion_point(class_scope:mavsdk.rpc.param_server.RetrieveParamIntRequest)
   private:
    class _Internal;
  
    template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
    typedef void InternalArenaConstructable_;
    typedef void DestructorSkippable_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    friend struct ::TableStruct_param_5fserver_2fparam_5fserver_2eproto;
  };
  // -------------------------------------------------------------------
  
  class RetrieveParamIntResponse final :
      public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:mavsdk.rpc.param_server.RetrieveParamIntResponse) */ {
   public:
    inline RetrieveParamIntResponse() : RetrieveParamIntResponse(nullptr) {}
    ~RetrieveParamIntResponse() override;
    explicit PROTOBUF_CONSTEXPR RetrieveParamIntResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
  
    RetrieveParamIntResponse(const RetrieveParamIntResponse& from);
    RetrieveParamIntResponse(RetrieveParamIntResponse&& from) noexcept
      : RetrieveParamIntResponse() {
      *this = ::std::move(from);
    }
  
    inline RetrieveParamIntResponse& operator=(const RetrieveParamIntResponse& from) {
      CopyFrom(from);
      return *this;
    }
    inline RetrieveParamIntResponse& operator=(RetrieveParamIntResponse&& from) noexcept {
      if (this == &from) return *this;
      if (GetOwningArena() == from.GetOwningArena()
    #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
          && GetOwningArena() != nullptr
    #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
      ) {
        InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
  
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
      return GetDescriptor();
    }
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
      return default_instance().GetMetadata().descriptor;
    }
    static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
      return default_instance().GetMetadata().reflection;
    }
    static const RetrieveParamIntResponse& default_instance() {
      return *internal_default_instance();
    }
    static inline const RetrieveParamIntResponse* internal_default_instance() {
      return reinterpret_cast<const RetrieveParamIntResponse*>(
                 &_RetrieveParamIntResponse_default_instance_);
    }
    static constexpr int kIndexInFileMessages =
      1;
  
    friend void swap(RetrieveParamIntResponse& a, RetrieveParamIntResponse& b) {
      a.Swap(&b);
    }
    inline void Swap(RetrieveParamIntResponse* other) {
      if (other == this) return;
    #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
      if (GetOwningArena() != nullptr &&
          GetOwningArena() == other->GetOwningArena()) {
     #else  // PROTOBUF_FORCE_COPY_IN_SWAP
      if (GetOwningArena() == other->GetOwningArena()) {
    #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
        InternalSwap(other);
      } else {
        ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
      }
    }
    void UnsafeArenaSwap(RetrieveParamIntResponse* other) {
      if (other == this) return;
      GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
      InternalSwap(other);
    }
  
    // implements Message ----------------------------------------------
  
    RetrieveParamIntResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
      return CreateMaybeMessage<RetrieveParamIntResponse>(arena);
    }
    using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
    void CopyFrom(const RetrieveParamIntResponse& from);
    using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
    void MergeFrom(const RetrieveParamIntResponse& from);
    private:
    static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
    public:
    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;
    uint8_t* _InternalSerialize(
        uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
    int GetCachedSize() const final { return _cached_size_.Get(); }
  
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const final;
    void InternalSwap(RetrieveParamIntResponse* other);
  
    private:
    friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
    static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
      return "mavsdk.rpc.param_server.RetrieveParamIntResponse";
    }
    protected:
    explicit RetrieveParamIntResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned = false);
    public:
  
    static const ClassData _class_data_;
    const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
  
    ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    enum : int {
      kParamServerResultFieldNumber = 1,
      kValueFieldNumber = 2,
    };
    // .mavsdk.rpc.param_server.ParamServerResult param_server_result = 1;
    bool has_param_server_result() const;
    private:
    bool _internal_has_param_server_result() const;
    public:
    void clear_param_server_result();
    const ::mavsdk::rpc::param_server::ParamServerResult& param_server_result() const;
    PROTOBUF_NODISCARD ::mavsdk::rpc::param_server::ParamServerResult* release_param_server_result();
    ::mavsdk::rpc::param_server::ParamServerResult* mutable_param_server_result();
    void set_allocated_param_server_result(::mavsdk::rpc::param_server::ParamServerResult* param_server_result);
    private:
    const ::mavsdk::rpc::param_server::ParamServerResult& _internal_param_server_result() const;
    ::mavsdk::rpc::param_server::ParamServerResult* _internal_mutable_param_server_result();
    public:
    void unsafe_arena_set_allocated_param_server_result(
        ::mavsdk::rpc::param_server::ParamServerResult* param_server_result);
    ::mavsdk::rpc::param_server::ParamServerResult* unsafe_arena_release_param_server_result();
  
    // int32 value = 2;
    void clear_value();
    int32_t value() const;
    void set_value(int32_t value);
    private:
    int32_t _internal_value() const;
    void _internal_set_value(int32_t value);
    public:
  
    // @@protoc_insertion_point(class_scope:mavsdk.rpc.param_server.RetrieveParamIntResponse)
   private:
    class _Internal;
  
    template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
    typedef void InternalArenaConstructable_;
    typedef void DestructorSkippable_;
    ::mavsdk::rpc::param_server::ParamServerResult* param_server_result_;
    int32_t value_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    friend struct ::TableStruct_param_5fserver_2fparam_5fserver_2eproto;
  };
  // -------------------------------------------------------------------
  
  class ProvideParamIntRequest final :
      public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:mavsdk.rpc.param_server.ProvideParamIntRequest) */ {
   public:
    inline ProvideParamIntRequest() : ProvideParamIntRequest(nullptr) {}
    ~ProvideParamIntRequest() override;
    explicit PROTOBUF_CONSTEXPR ProvideParamIntRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
  
    ProvideParamIntRequest(const ProvideParamIntRequest& from);
    ProvideParamIntRequest(ProvideParamIntRequest&& from) noexcept
      : ProvideParamIntRequest() {
      *this = ::std::move(from);
    }
  
    inline ProvideParamIntRequest& operator=(const ProvideParamIntRequest& from) {
      CopyFrom(from);
      return *this;
    }
    inline ProvideParamIntRequest& operator=(ProvideParamIntRequest&& from) noexcept {
      if (this == &from) return *this;
      if (GetOwningArena() == from.GetOwningArena()
    #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
          && GetOwningArena() != nullptr
    #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
      ) {
        InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
  
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
      return GetDescriptor();
    }
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
      return default_instance().GetMetadata().descriptor;
    }
    static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
      return default_instance().GetMetadata().reflection;
    }
    static const ProvideParamIntRequest& default_instance() {
      return *internal_default_instance();
    }
    static inline const ProvideParamIntRequest* internal_default_instance() {
      return reinterpret_cast<const ProvideParamIntRequest*>(
                 &_ProvideParamIntRequest_default_instance_);
    }
    static constexpr int kIndexInFileMessages =
      2;
  
    friend void swap(ProvideParamIntRequest& a, ProvideParamIntRequest& b) {
      a.Swap(&b);
    }
    inline void Swap(ProvideParamIntRequest* other) {
      if (other == this) return;
    #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
      if (GetOwningArena() != nullptr &&
          GetOwningArena() == other->GetOwningArena()) {
     #else  // PROTOBUF_FORCE_COPY_IN_SWAP
      if (GetOwningArena() == other->GetOwningArena()) {
    #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
        InternalSwap(other);
      } else {
        ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
      }
    }
    void UnsafeArenaSwap(ProvideParamIntRequest* other) {
      if (other == this) return;
      GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
      InternalSwap(other);
    }
  
    // implements Message ----------------------------------------------
  
    ProvideParamIntRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
      return CreateMaybeMessage<ProvideParamIntRequest>(arena);
    }
    using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
    void CopyFrom(const ProvideParamIntRequest& from);
    using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
    void MergeFrom(const ProvideParamIntRequest& from);
    private:
    static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
    public:
    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;
    uint8_t* _InternalSerialize(
        uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
    int GetCachedSize() const final { return _cached_size_.Get(); }
  
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const final;
    void InternalSwap(ProvideParamIntRequest* other);
  
    private:
    friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
    static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
      return "mavsdk.rpc.param_server.ProvideParamIntRequest";
    }
    protected:
    explicit ProvideParamIntRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned = false);
    public:
  
    static const ClassData _class_data_;
    const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
  
    ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    enum : int {
      kNameFieldNumber = 1,
      kValueFieldNumber = 2,
    };
    // string name = 1;
    void clear_name();
    const std::string& name() const;
    template <typename ArgT0 = const std::string&, typename... ArgT>
    void set_name(ArgT0&& arg0, ArgT... args);
    std::string* mutable_name();
    PROTOBUF_NODISCARD std::string* release_name();
    void set_allocated_name(std::string* name);
    private:
    const std::string& _internal_name() const;
    inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value);
    std::string* _internal_mutable_name();
    public:
  
    // int32 value = 2;
    void clear_value();
    int32_t value() const;
    void set_value(int32_t value);
    private:
    int32_t _internal_value() const;
    void _internal_set_value(int32_t value);
    public:
  
    // @@protoc_insertion_point(class_scope:mavsdk.rpc.param_server.ProvideParamIntRequest)
   private:
    class _Internal;
  
    template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
    typedef void InternalArenaConstructable_;
    typedef void DestructorSkippable_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
    int32_t value_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    friend struct ::TableStruct_param_5fserver_2fparam_5fserver_2eproto;
  };
  // -------------------------------------------------------------------
  
  class ProvideParamIntResponse final :
      public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:mavsdk.rpc.param_server.ProvideParamIntResponse) */ {
   public:
    inline ProvideParamIntResponse() : ProvideParamIntResponse(nullptr) {}
    ~ProvideParamIntResponse() override;
    explicit PROTOBUF_CONSTEXPR ProvideParamIntResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
  
    ProvideParamIntResponse(const ProvideParamIntResponse& from);
    ProvideParamIntResponse(ProvideParamIntResponse&& from) noexcept
      : ProvideParamIntResponse() {
      *this = ::std::move(from);
    }
  
    inline ProvideParamIntResponse& operator=(const ProvideParamIntResponse& from) {
      CopyFrom(from);
      return *this;
    }
    inline ProvideParamIntResponse& operator=(ProvideParamIntResponse&& from) noexcept {
      if (this == &from) return *this;
      if (GetOwningArena() == from.GetOwningArena()
    #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
          && GetOwningArena() != nullptr
    #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
      ) {
        InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
  
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
      return GetDescriptor();
    }
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
      return default_instance().GetMetadata().descriptor;
    }
    static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
      return default_instance().GetMetadata().reflection;
    }
    static const ProvideParamIntResponse& default_instance() {
      return *internal_default_instance();
    }
    static inline const ProvideParamIntResponse* internal_default_instance() {
      return reinterpret_cast<const ProvideParamIntResponse*>(
                 &_ProvideParamIntResponse_default_instance_);
    }
    static constexpr int kIndexInFileMessages =
      3;
  
    friend void swap(ProvideParamIntResponse& a, ProvideParamIntResponse& b) {
      a.Swap(&b);
    }
    inline void Swap(ProvideParamIntResponse* other) {
      if (other == this) return;
    #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
      if (GetOwningArena() != nullptr &&
          GetOwningArena() == other->GetOwningArena()) {
     #else  // PROTOBUF_FORCE_COPY_IN_SWAP
      if (GetOwningArena() == other->GetOwningArena()) {
    #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
        InternalSwap(other);
      } else {
        ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
      }
    }
    void UnsafeArenaSwap(ProvideParamIntResponse* other) {
      if (other == this) return;
      GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
      InternalSwap(other);
    }
  
    // implements Message ----------------------------------------------
  
    ProvideParamIntResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
      return CreateMaybeMessage<ProvideParamIntResponse>(arena);
    }
    using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
    void CopyFrom(const ProvideParamIntResponse& from);
    using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
    void MergeFrom(const ProvideParamIntResponse& from);
    private:
    static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
    public:
    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;
    uint8_t* _InternalSerialize(
        uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
    int GetCachedSize() const final { return _cached_size_.Get(); }
  
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const final;
    void InternalSwap(ProvideParamIntResponse* other);
  
    private:
    friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
    static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
      return "mavsdk.rpc.param_server.ProvideParamIntResponse";
    }
    protected:
    explicit ProvideParamIntResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned = false);
    public:
  
    static const ClassData _class_data_;
    const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
  
    ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    enum : int {
      kParamServerResultFieldNumber = 1,
    };
    // .mavsdk.rpc.param_server.ParamServerResult param_server_result = 1;
    bool has_param_server_result() const;
    private:
    bool _internal_has_param_server_result() const;
    public:
    void clear_param_server_result();
    const ::mavsdk::rpc::param_server::ParamServerResult& param_server_result() const;
    PROTOBUF_NODISCARD ::mavsdk::rpc::param_server::ParamServerResult* release_param_server_result();
    ::mavsdk::rpc::param_server::ParamServerResult* mutable_param_server_result();
    void set_allocated_param_server_result(::mavsdk::rpc::param_server::ParamServerResult* param_server_result);
    private:
    const ::mavsdk::rpc::param_server::ParamServerResult& _internal_param_server_result() const;
    ::mavsdk::rpc::param_server::ParamServerResult* _internal_mutable_param_server_result();
    public:
    void unsafe_arena_set_allocated_param_server_result(
        ::mavsdk::rpc::param_server::ParamServerResult* param_server_result);
    ::mavsdk::rpc::param_server::ParamServerResult* unsafe_arena_release_param_server_result();
  
    // @@protoc_insertion_point(class_scope:mavsdk.rpc.param_server.ProvideParamIntResponse)
   private:
    class _Internal;
  
    template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
    typedef void InternalArenaConstructable_;
    typedef void DestructorSkippable_;
    ::mavsdk::rpc::param_server::ParamServerResult* param_server_result_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    friend struct ::TableStruct_param_5fserver_2fparam_5fserver_2eproto;
  };
  // -------------------------------------------------------------------
  
  class RetrieveParamFloatRequest final :
      public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:mavsdk.rpc.param_server.RetrieveParamFloatRequest) */ {
   public:
    inline RetrieveParamFloatRequest() : RetrieveParamFloatRequest(nullptr) {}
    ~RetrieveParamFloatRequest() override;
    explicit PROTOBUF_CONSTEXPR RetrieveParamFloatRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
  
    RetrieveParamFloatRequest(const RetrieveParamFloatRequest& from);
    RetrieveParamFloatRequest(RetrieveParamFloatRequest&& from) noexcept
      : RetrieveParamFloatRequest() {
      *this = ::std::move(from);
    }
  
    inline RetrieveParamFloatRequest& operator=(const RetrieveParamFloatRequest& from) {
      CopyFrom(from);
      return *this;
    }
    inline RetrieveParamFloatRequest& operator=(RetrieveParamFloatRequest&& from) noexcept {
      if (this == &from) return *this;
      if (GetOwningArena() == from.GetOwningArena()
    #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
          && GetOwningArena() != nullptr
    #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
      ) {
        InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
  
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
      return GetDescriptor();
    }
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
      return default_instance().GetMetadata().descriptor;
    }
    static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
      return default_instance().GetMetadata().reflection;
    }
    static const RetrieveParamFloatRequest& default_instance() {
      return *internal_default_instance();
    }
    static inline const RetrieveParamFloatRequest* internal_default_instance() {
      return reinterpret_cast<const RetrieveParamFloatRequest*>(
                 &_RetrieveParamFloatRequest_default_instance_);
    }
    static constexpr int kIndexInFileMessages =
      4;
  
    friend void swap(RetrieveParamFloatRequest& a, RetrieveParamFloatRequest& b) {
      a.Swap(&b);
    }
    inline void Swap(RetrieveParamFloatRequest* other) {
      if (other == this) return;
    #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
      if (GetOwningArena() != nullptr &&
          GetOwningArena() == other->GetOwningArena()) {
     #else  // PROTOBUF_FORCE_COPY_IN_SWAP
      if (GetOwningArena() == other->GetOwningArena()) {
    #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
        InternalSwap(other);
      } else {
        ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
      }
    }
    void UnsafeArenaSwap(RetrieveParamFloatRequest* other) {
      if (other == this) return;
      GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
      InternalSwap(other);
    }
  
    // implements Message ----------------------------------------------
  
    RetrieveParamFloatRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
      return CreateMaybeMessage<RetrieveParamFloatRequest>(arena);
    }
    using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
    void CopyFrom(const RetrieveParamFloatRequest& from);
    using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
    void MergeFrom(const RetrieveParamFloatRequest& from);
    private:
    static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
    public:
    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;
    uint8_t* _InternalSerialize(
        uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
    int GetCachedSize() const final { return _cached_size_.Get(); }
  
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const final;
    void InternalSwap(RetrieveParamFloatRequest* other);
  
    private:
    friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
    static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
      return "mavsdk.rpc.param_server.RetrieveParamFloatRequest";
    }
    protected:
    explicit RetrieveParamFloatRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned = false);
    public:
  
    static const ClassData _class_data_;
    const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
  
    ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    enum : int {
      kNameFieldNumber = 1,
    };
    // string name = 1;
    void clear_name();
    const std::string& name() const;
    template <typename ArgT0 = const std::string&, typename... ArgT>
    void set_name(ArgT0&& arg0, ArgT... args);
    std::string* mutable_name();
    PROTOBUF_NODISCARD std::string* release_name();
    void set_allocated_name(std::string* name);
    private:
    const std::string& _internal_name() const;
    inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value);
    std::string* _internal_mutable_name();
    public:
  
    // @@protoc_insertion_point(class_scope:mavsdk.rpc.param_server.RetrieveParamFloatRequest)
   private:
    class _Internal;
  
    template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
    typedef void InternalArenaConstructable_;
    typedef void DestructorSkippable_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    friend struct ::TableStruct_param_5fserver_2fparam_5fserver_2eproto;
  };
  // -------------------------------------------------------------------
  
  class RetrieveParamFloatResponse final :
      public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:mavsdk.rpc.param_server.RetrieveParamFloatResponse) */ {
   public:
    inline RetrieveParamFloatResponse() : RetrieveParamFloatResponse(nullptr) {}
    ~RetrieveParamFloatResponse() override;
    explicit PROTOBUF_CONSTEXPR RetrieveParamFloatResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
  
    RetrieveParamFloatResponse(const RetrieveParamFloatResponse& from);
    RetrieveParamFloatResponse(RetrieveParamFloatResponse&& from) noexcept
      : RetrieveParamFloatResponse() {
      *this = ::std::move(from);
    }
  
    inline RetrieveParamFloatResponse& operator=(const RetrieveParamFloatResponse& from) {
      CopyFrom(from);
      return *this;
    }
    inline RetrieveParamFloatResponse& operator=(RetrieveParamFloatResponse&& from) noexcept {
      if (this == &from) return *this;
      if (GetOwningArena() == from.GetOwningArena()
    #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
          && GetOwningArena() != nullptr
    #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
      ) {
        InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
  
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
      return GetDescriptor();
    }
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
      return default_instance().GetMetadata().descriptor;
    }
    static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
      return default_instance().GetMetadata().reflection;
    }
    static const RetrieveParamFloatResponse& default_instance() {
      return *internal_default_instance();
    }
    static inline const RetrieveParamFloatResponse* internal_default_instance() {
      return reinterpret_cast<const RetrieveParamFloatResponse*>(
                 &_RetrieveParamFloatResponse_default_instance_);
    }
    static constexpr int kIndexInFileMessages =
      5;
  
    friend void swap(RetrieveParamFloatResponse& a, RetrieveParamFloatResponse& b) {
      a.Swap(&b);
    }
    inline void Swap(RetrieveParamFloatResponse* other) {
      if (other == this) return;
    #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
      if (GetOwningArena() != nullptr &&
          GetOwningArena() == other->GetOwningArena()) {
     #else  // PROTOBUF_FORCE_COPY_IN_SWAP
      if (GetOwningArena() == other->GetOwningArena()) {
    #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
        InternalSwap(other);
      } else {
        ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
      }
    }
    void UnsafeArenaSwap(RetrieveParamFloatResponse* other) {
      if (other == this) return;
      GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
      InternalSwap(other);
    }
  
    // implements Message ----------------------------------------------
  
    RetrieveParamFloatResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
      return CreateMaybeMessage<RetrieveParamFloatResponse>(arena);
    }
    using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
    void CopyFrom(const RetrieveParamFloatResponse& from);
    using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
    void MergeFrom(const RetrieveParamFloatResponse& from);
    private:
    static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
    public:
    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;
    uint8_t* _InternalSerialize(
        uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
    int GetCachedSize() const final { return _cached_size_.Get(); }
  
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const final;
    void InternalSwap(RetrieveParamFloatResponse* other);
  
    private:
    friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
    static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
      return "mavsdk.rpc.param_server.RetrieveParamFloatResponse";
    }
    protected:
    explicit RetrieveParamFloatResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned = false);
    public:
  
    static const ClassData _class_data_;
    const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
  
    ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    enum : int {
      kParamServerResultFieldNumber = 1,
      kValueFieldNumber = 2,
    };
    // .mavsdk.rpc.param_server.ParamServerResult param_server_result = 1;
    bool has_param_server_result() const;
    private:
    bool _internal_has_param_server_result() const;
    public:
    void clear_param_server_result();
    const ::mavsdk::rpc::param_server::ParamServerResult& param_server_result() const;
    PROTOBUF_NODISCARD ::mavsdk::rpc::param_server::ParamServerResult* release_param_server_result();
    ::mavsdk::rpc::param_server::ParamServerResult* mutable_param_server_result();
    void set_allocated_param_server_result(::mavsdk::rpc::param_server::ParamServerResult* param_server_result);
    private:
    const ::mavsdk::rpc::param_server::ParamServerResult& _internal_param_server_result() const;
    ::mavsdk::rpc::param_server::ParamServerResult* _internal_mutable_param_server_result();
    public:
    void unsafe_arena_set_allocated_param_server_result(
        ::mavsdk::rpc::param_server::ParamServerResult* param_server_result);
    ::mavsdk::rpc::param_server::ParamServerResult* unsafe_arena_release_param_server_result();
  
    // float value = 2;
    void clear_value();
    float value() const;
    void set_value(float value);
    private:
    float _internal_value() const;
    void _internal_set_value(float value);
    public:
  
    // @@protoc_insertion_point(class_scope:mavsdk.rpc.param_server.RetrieveParamFloatResponse)
   private:
    class _Internal;
  
    template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
    typedef void InternalArenaConstructable_;
    typedef void DestructorSkippable_;
    ::mavsdk::rpc::param_server::ParamServerResult* param_server_result_;
    float value_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    friend struct ::TableStruct_param_5fserver_2fparam_5fserver_2eproto;
  };
  // -------------------------------------------------------------------
  
  class ProvideParamFloatRequest final :
      public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:mavsdk.rpc.param_server.ProvideParamFloatRequest) */ {
   public:
    inline ProvideParamFloatRequest() : ProvideParamFloatRequest(nullptr) {}
    ~ProvideParamFloatRequest() override;
    explicit PROTOBUF_CONSTEXPR ProvideParamFloatRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
  
    ProvideParamFloatRequest(const ProvideParamFloatRequest& from);
    ProvideParamFloatRequest(ProvideParamFloatRequest&& from) noexcept
      : ProvideParamFloatRequest() {
      *this = ::std::move(from);
    }
  
    inline ProvideParamFloatRequest& operator=(const ProvideParamFloatRequest& from) {
      CopyFrom(from);
      return *this;
    }
    inline ProvideParamFloatRequest& operator=(ProvideParamFloatRequest&& from) noexcept {
      if (this == &from) return *this;
      if (GetOwningArena() == from.GetOwningArena()
    #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
          && GetOwningArena() != nullptr
    #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
      ) {
        InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
  
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
      return GetDescriptor();
    }
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
      return default_instance().GetMetadata().descriptor;
    }
    static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
      return default_instance().GetMetadata().reflection;
    }
    static const ProvideParamFloatRequest& default_instance() {
      return *internal_default_instance();
    }
    static inline const ProvideParamFloatRequest* internal_default_instance() {
      return reinterpret_cast<const ProvideParamFloatRequest*>(
                 &_ProvideParamFloatRequest_default_instance_);
    }
    static constexpr int kIndexInFileMessages =
      6;
  
    friend void swap(ProvideParamFloatRequest& a, ProvideParamFloatRequest& b) {
      a.Swap(&b);
    }
    inline void Swap(ProvideParamFloatRequest* other) {
      if (other == this) return;
    #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
      if (GetOwningArena() != nullptr &&
          GetOwningArena() == other->GetOwningArena()) {
     #else  // PROTOBUF_FORCE_COPY_IN_SWAP
      if (GetOwningArena() == other->GetOwningArena()) {
    #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
        InternalSwap(other);
      } else {
        ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
      }
    }
    void UnsafeArenaSwap(ProvideParamFloatRequest* other) {
      if (other == this) return;
      GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
      InternalSwap(other);
    }
  
    // implements Message ----------------------------------------------
  
    ProvideParamFloatRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
      return CreateMaybeMessage<ProvideParamFloatRequest>(arena);
    }
    using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
    void CopyFrom(const ProvideParamFloatRequest& from);
    using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
    void MergeFrom(const ProvideParamFloatRequest& from);
    private:
    static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
    public:
    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;
    uint8_t* _InternalSerialize(
        uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
    int GetCachedSize() const final { return _cached_size_.Get(); }
  
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const final;
    void InternalSwap(ProvideParamFloatRequest* other);
  
    private:
    friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
    static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
      return "mavsdk.rpc.param_server.ProvideParamFloatRequest";
    }
    protected:
    explicit ProvideParamFloatRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned = false);
    public:
  
    static const ClassData _class_data_;
    const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
  
    ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    enum : int {
      kNameFieldNumber = 1,
      kValueFieldNumber = 2,
    };
    // string name = 1;
    void clear_name();
    const std::string& name() const;
    template <typename ArgT0 = const std::string&, typename... ArgT>
    void set_name(ArgT0&& arg0, ArgT... args);
    std::string* mutable_name();
    PROTOBUF_NODISCARD std::string* release_name();
    void set_allocated_name(std::string* name);
    private:
    const std::string& _internal_name() const;
    inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value);
    std::string* _internal_mutable_name();
    public:
  
    // float value = 2;
    void clear_value();
    float value() const;
    void set_value(float value);
    private:
    float _internal_value() const;
    void _internal_set_value(float value);
    public:
  
    // @@protoc_insertion_point(class_scope:mavsdk.rpc.param_server.ProvideParamFloatRequest)
   private:
    class _Internal;
  
    template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
    typedef void InternalArenaConstructable_;
    typedef void DestructorSkippable_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
    float value_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    friend struct ::TableStruct_param_5fserver_2fparam_5fserver_2eproto;
  };
  // -------------------------------------------------------------------
  
  class ProvideParamFloatResponse final :
      public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:mavsdk.rpc.param_server.ProvideParamFloatResponse) */ {
   public:
    inline ProvideParamFloatResponse() : ProvideParamFloatResponse(nullptr) {}
    ~ProvideParamFloatResponse() override;
    explicit PROTOBUF_CONSTEXPR ProvideParamFloatResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
  
    ProvideParamFloatResponse(const ProvideParamFloatResponse& from);
    ProvideParamFloatResponse(ProvideParamFloatResponse&& from) noexcept
      : ProvideParamFloatResponse() {
      *this = ::std::move(from);
    }
  
    inline ProvideParamFloatResponse& operator=(const ProvideParamFloatResponse& from) {
      CopyFrom(from);
      return *this;
    }
    inline ProvideParamFloatResponse& operator=(ProvideParamFloatResponse&& from) noexcept {
      if (this == &from) return *this;
      if (GetOwningArena() == from.GetOwningArena()
    #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
          && GetOwningArena() != nullptr
    #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
      ) {
        InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
  
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
      return GetDescriptor();
    }
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
      return default_instance().GetMetadata().descriptor;
    }
    static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
      return default_instance().GetMetadata().reflection;
    }
    static const ProvideParamFloatResponse& default_instance() {
      return *internal_default_instance();
    }
    static inline const ProvideParamFloatResponse* internal_default_instance() {
      return reinterpret_cast<const ProvideParamFloatResponse*>(
                 &_ProvideParamFloatResponse_default_instance_);
    }
    static constexpr int kIndexInFileMessages =
      7;
  
    friend void swap(ProvideParamFloatResponse& a, ProvideParamFloatResponse& b) {
      a.Swap(&b);
    }
    inline void Swap(ProvideParamFloatResponse* other) {
      if (other == this) return;
    #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
      if (GetOwningArena() != nullptr &&
          GetOwningArena() == other->GetOwningArena()) {
     #else  // PROTOBUF_FORCE_COPY_IN_SWAP
      if (GetOwningArena() == other->GetOwningArena()) {
    #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
        InternalSwap(other);
      } else {
        ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
      }
    }
    void UnsafeArenaSwap(ProvideParamFloatResponse* other) {
      if (other == this) return;
      GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
      InternalSwap(other);
    }
  
    // implements Message ----------------------------------------------
  
    ProvideParamFloatResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
      return CreateMaybeMessage<ProvideParamFloatResponse>(arena);
    }
    using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
    void CopyFrom(const ProvideParamFloatResponse& from);
    using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
    void MergeFrom(const ProvideParamFloatResponse& from);
    private:
    static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
    public:
    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;
    uint8_t* _InternalSerialize(
        uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
    int GetCachedSize() const final { return _cached_size_.Get(); }
  
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const final;
    void InternalSwap(ProvideParamFloatResponse* other);
  
    private:
    friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
    static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
      return "mavsdk.rpc.param_server.ProvideParamFloatResponse";
    }
    protected:
    explicit ProvideParamFloatResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned = false);
    public:
  
    static const ClassData _class_data_;
    const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
  
    ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    enum : int {
      kParamServerResultFieldNumber = 1,
    };
    // .mavsdk.rpc.param_server.ParamServerResult param_server_result = 1;
    bool has_param_server_result() const;
    private:
    bool _internal_has_param_server_result() const;
    public:
    void clear_param_server_result();
    const ::mavsdk::rpc::param_server::ParamServerResult& param_server_result() const;
    PROTOBUF_NODISCARD ::mavsdk::rpc::param_server::ParamServerResult* release_param_server_result();
    ::mavsdk::rpc::param_server::ParamServerResult* mutable_param_server_result();
    void set_allocated_param_server_result(::mavsdk::rpc::param_server::ParamServerResult* param_server_result);
    private:
    const ::mavsdk::rpc::param_server::ParamServerResult& _internal_param_server_result() const;
    ::mavsdk::rpc::param_server::ParamServerResult* _internal_mutable_param_server_result();
    public:
    void unsafe_arena_set_allocated_param_server_result(
        ::mavsdk::rpc::param_server::ParamServerResult* param_server_result);
    ::mavsdk::rpc::param_server::ParamServerResult* unsafe_arena_release_param_server_result();
  
    // @@protoc_insertion_point(class_scope:mavsdk.rpc.param_server.ProvideParamFloatResponse)
   private:
    class _Internal;
  
    template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
    typedef void InternalArenaConstructable_;
    typedef void DestructorSkippable_;
    ::mavsdk::rpc::param_server::ParamServerResult* param_server_result_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    friend struct ::TableStruct_param_5fserver_2fparam_5fserver_2eproto;
  };
  // -------------------------------------------------------------------
  
  class RetrieveParamCustomRequest final :
      public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:mavsdk.rpc.param_server.RetrieveParamCustomRequest) */ {
   public:
    inline RetrieveParamCustomRequest() : RetrieveParamCustomRequest(nullptr) {}
    ~RetrieveParamCustomRequest() override;
    explicit PROTOBUF_CONSTEXPR RetrieveParamCustomRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
  
    RetrieveParamCustomRequest(const RetrieveParamCustomRequest& from);
    RetrieveParamCustomRequest(RetrieveParamCustomRequest&& from) noexcept
      : RetrieveParamCustomRequest() {
      *this = ::std::move(from);
    }
  
    inline RetrieveParamCustomRequest& operator=(const RetrieveParamCustomRequest& from) {
      CopyFrom(from);
      return *this;
    }
    inline RetrieveParamCustomRequest& operator=(RetrieveParamCustomRequest&& from) noexcept {
      if (this == &from) return *this;
      if (GetOwningArena() == from.GetOwningArena()
    #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
          && GetOwningArena() != nullptr
    #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
      ) {
        InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
  
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
      return GetDescriptor();
    }
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
      return default_instance().GetMetadata().descriptor;
    }
    static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
      return default_instance().GetMetadata().reflection;
    }
    static const RetrieveParamCustomRequest& default_instance() {
      return *internal_default_instance();
    }
    static inline const RetrieveParamCustomRequest* internal_default_instance() {
      return reinterpret_cast<const RetrieveParamCustomRequest*>(
                 &_RetrieveParamCustomRequest_default_instance_);
    }
    static constexpr int kIndexInFileMessages =
      8;
  
    friend void swap(RetrieveParamCustomRequest& a, RetrieveParamCustomRequest& b) {
      a.Swap(&b);
    }
    inline void Swap(RetrieveParamCustomRequest* other) {
      if (other == this) return;
    #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
      if (GetOwningArena() != nullptr &&
          GetOwningArena() == other->GetOwningArena()) {
     #else  // PROTOBUF_FORCE_COPY_IN_SWAP
      if (GetOwningArena() == other->GetOwningArena()) {
    #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
        InternalSwap(other);
      } else {
        ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
      }
    }
    void UnsafeArenaSwap(RetrieveParamCustomRequest* other) {
      if (other == this) return;
      GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
      InternalSwap(other);
    }
  
    // implements Message ----------------------------------------------
  
    RetrieveParamCustomRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
      return CreateMaybeMessage<RetrieveParamCustomRequest>(arena);
    }
    using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
    void CopyFrom(const RetrieveParamCustomRequest& from);
    using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
    void MergeFrom(const RetrieveParamCustomRequest& from);
    private:
    static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
    public:
    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;
    uint8_t* _InternalSerialize(
        uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
    int GetCachedSize() const final { return _cached_size_.Get(); }
  
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const final;
    void InternalSwap(RetrieveParamCustomRequest* other);
  
    private:
    friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
    static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
      return "mavsdk.rpc.param_server.RetrieveParamCustomRequest";
    }
    protected:
    explicit RetrieveParamCustomRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned = false);
    public:
  
    static const ClassData _class_data_;
    const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
  
    ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    enum : int {
      kNameFieldNumber = 1,
    };
    // string name = 1;
    void clear_name();
    const std::string& name() const;
    template <typename ArgT0 = const std::string&, typename... ArgT>
    void set_name(ArgT0&& arg0, ArgT... args);
    std::string* mutable_name();
    PROTOBUF_NODISCARD std::string* release_name();
    void set_allocated_name(std::string* name);
    private:
    const std::string& _internal_name() const;
    inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value);
    std::string* _internal_mutable_name();
    public:
  
    // @@protoc_insertion_point(class_scope:mavsdk.rpc.param_server.RetrieveParamCustomRequest)
   private:
    class _Internal;
  
    template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
    typedef void InternalArenaConstructable_;
    typedef void DestructorSkippable_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    friend struct ::TableStruct_param_5fserver_2fparam_5fserver_2eproto;
  };
  // -------------------------------------------------------------------
  
  class RetrieveParamCustomResponse final :
      public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:mavsdk.rpc.param_server.RetrieveParamCustomResponse) */ {
   public:
    inline RetrieveParamCustomResponse() : RetrieveParamCustomResponse(nullptr) {}
    ~RetrieveParamCustomResponse() override;
    explicit PROTOBUF_CONSTEXPR RetrieveParamCustomResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
  
    RetrieveParamCustomResponse(const RetrieveParamCustomResponse& from);
    RetrieveParamCustomResponse(RetrieveParamCustomResponse&& from) noexcept
      : RetrieveParamCustomResponse() {
      *this = ::std::move(from);
    }
  
    inline RetrieveParamCustomResponse& operator=(const RetrieveParamCustomResponse& from) {
      CopyFrom(from);
      return *this;
    }
    inline RetrieveParamCustomResponse& operator=(RetrieveParamCustomResponse&& from) noexcept {
      if (this == &from) return *this;
      if (GetOwningArena() == from.GetOwningArena()
    #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
          && GetOwningArena() != nullptr
    #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
      ) {
        InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
  
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
      return GetDescriptor();
    }
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
      return default_instance().GetMetadata().descriptor;
    }
    static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
      return default_instance().GetMetadata().reflection;
    }
    static const RetrieveParamCustomResponse& default_instance() {
      return *internal_default_instance();
    }
    static inline const RetrieveParamCustomResponse* internal_default_instance() {
      return reinterpret_cast<const RetrieveParamCustomResponse*>(
                 &_RetrieveParamCustomResponse_default_instance_);
    }
    static constexpr int kIndexInFileMessages =
      9;
  
    friend void swap(RetrieveParamCustomResponse& a, RetrieveParamCustomResponse& b) {
      a.Swap(&b);
    }
    inline void Swap(RetrieveParamCustomResponse* other) {
      if (other == this) return;
    #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
      if (GetOwningArena() != nullptr &&
          GetOwningArena() == other->GetOwningArena()) {
     #else  // PROTOBUF_FORCE_COPY_IN_SWAP
      if (GetOwningArena() == other->GetOwningArena()) {
    #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
        InternalSwap(other);
      } else {
        ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
      }
    }
    void UnsafeArenaSwap(RetrieveParamCustomResponse* other) {
      if (other == this) return;
      GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
      InternalSwap(other);
    }
  
    // implements Message ----------------------------------------------
  
    RetrieveParamCustomResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
      return CreateMaybeMessage<RetrieveParamCustomResponse>(arena);
    }
    using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
    void CopyFrom(const RetrieveParamCustomResponse& from);
    using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
    void MergeFrom(const RetrieveParamCustomResponse& from);
    private:
    static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
    public:
    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;
    uint8_t* _InternalSerialize(
        uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
    int GetCachedSize() const final { return _cached_size_.Get(); }
  
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const final;
    void InternalSwap(RetrieveParamCustomResponse* other);
  
    private:
    friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
    static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
      return "mavsdk.rpc.param_server.RetrieveParamCustomResponse";
    }
    protected:
    explicit RetrieveParamCustomResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned = false);
    public:
  
    static const ClassData _class_data_;
    const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
  
    ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    enum : int {
      kValueFieldNumber = 2,
      kParamServerResultFieldNumber = 1,
    };
    // string value = 2;
    void clear_value();
    const std::string& value() const;
    template <typename ArgT0 = const std::string&, typename... ArgT>
    void set_value(ArgT0&& arg0, ArgT... args);
    std::string* mutable_value();
    PROTOBUF_NODISCARD std::string* release_value();
    void set_allocated_value(std::string* value);
    private:
    const std::string& _internal_value() const;
    inline PROTOBUF_ALWAYS_INLINE void _internal_set_value(const std::string& value);
    std::string* _internal_mutable_value();
    public:
  
    // .mavsdk.rpc.param_server.ParamServerResult param_server_result = 1;
    bool has_param_server_result() const;
    private:
    bool _internal_has_param_server_result() const;
    public:
    void clear_param_server_result();
    const ::mavsdk::rpc::param_server::ParamServerResult& param_server_result() const;
    PROTOBUF_NODISCARD ::mavsdk::rpc::param_server::ParamServerResult* release_param_server_result();
    ::mavsdk::rpc::param_server::ParamServerResult* mutable_param_server_result();
    void set_allocated_param_server_result(::mavsdk::rpc::param_server::ParamServerResult* param_server_result);
    private:
    const ::mavsdk::rpc::param_server::ParamServerResult& _internal_param_server_result() const;
    ::mavsdk::rpc::param_server::ParamServerResult* _internal_mutable_param_server_result();
    public:
    void unsafe_arena_set_allocated_param_server_result(
        ::mavsdk::rpc::param_server::ParamServerResult* param_server_result);
    ::mavsdk::rpc::param_server::ParamServerResult* unsafe_arena_release_param_server_result();
  
    // @@protoc_insertion_point(class_scope:mavsdk.rpc.param_server.RetrieveParamCustomResponse)
   private:
    class _Internal;
  
    template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
    typedef void InternalArenaConstructable_;
    typedef void DestructorSkippable_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr value_;
    ::mavsdk::rpc::param_server::ParamServerResult* param_server_result_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    friend struct ::TableStruct_param_5fserver_2fparam_5fserver_2eproto;
  };
  // -------------------------------------------------------------------
  
  class ProvideParamCustomRequest final :
      public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:mavsdk.rpc.param_server.ProvideParamCustomRequest) */ {
   public:
    inline ProvideParamCustomRequest() : ProvideParamCustomRequest(nullptr) {}
    ~ProvideParamCustomRequest() override;
    explicit PROTOBUF_CONSTEXPR ProvideParamCustomRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
  
    ProvideParamCustomRequest(const ProvideParamCustomRequest& from);
    ProvideParamCustomRequest(ProvideParamCustomRequest&& from) noexcept
      : ProvideParamCustomRequest() {
      *this = ::std::move(from);
    }
  
    inline ProvideParamCustomRequest& operator=(const ProvideParamCustomRequest& from) {
      CopyFrom(from);
      return *this;
    }
    inline ProvideParamCustomRequest& operator=(ProvideParamCustomRequest&& from) noexcept {
      if (this == &from) return *this;
      if (GetOwningArena() == from.GetOwningArena()
    #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
          && GetOwningArena() != nullptr
    #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
      ) {
        InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
  
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
      return GetDescriptor();
    }
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
      return default_instance().GetMetadata().descriptor;
    }
    static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
      return default_instance().GetMetadata().reflection;
    }
    static const ProvideParamCustomRequest& default_instance() {
      return *internal_default_instance();
    }
    static inline const ProvideParamCustomRequest* internal_default_instance() {
      return reinterpret_cast<const ProvideParamCustomRequest*>(
                 &_ProvideParamCustomRequest_default_instance_);
    }
    static constexpr int kIndexInFileMessages =
      10;
  
    friend void swap(ProvideParamCustomRequest& a, ProvideParamCustomRequest& b) {
      a.Swap(&b);
    }
    inline void Swap(ProvideParamCustomRequest* other) {
      if (other == this) return;
    #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
      if (GetOwningArena() != nullptr &&
          GetOwningArena() == other->GetOwningArena()) {
     #else  // PROTOBUF_FORCE_COPY_IN_SWAP
      if (GetOwningArena() == other->GetOwningArena()) {
    #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
        InternalSwap(other);
      } else {
        ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
      }
    }
    void UnsafeArenaSwap(ProvideParamCustomRequest* other) {
      if (other == this) return;
      GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
      InternalSwap(other);
    }
  
    // implements Message ----------------------------------------------
  
    ProvideParamCustomRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
      return CreateMaybeMessage<ProvideParamCustomRequest>(arena);
    }
    using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
    void CopyFrom(const ProvideParamCustomRequest& from);
    using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
    void MergeFrom(const ProvideParamCustomRequest& from);
    private:
    static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
    public:
    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;
    uint8_t* _InternalSerialize(
        uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
    int GetCachedSize() const final { return _cached_size_.Get(); }
  
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const final;
    void InternalSwap(ProvideParamCustomRequest* other);
  
    private:
    friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
    static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
      return "mavsdk.rpc.param_server.ProvideParamCustomRequest";
    }
    protected:
    explicit ProvideParamCustomRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned = false);
    public:
  
    static const ClassData _class_data_;
    const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
  
    ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    enum : int {
      kNameFieldNumber = 1,
      kValueFieldNumber = 2,
    };
    // string name = 1;
    void clear_name();
    const std::string& name() const;
    template <typename ArgT0 = const std::string&, typename... ArgT>
    void set_name(ArgT0&& arg0, ArgT... args);
    std::string* mutable_name();
    PROTOBUF_NODISCARD std::string* release_name();
    void set_allocated_name(std::string* name);
    private:
    const std::string& _internal_name() const;
    inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value);
    std::string* _internal_mutable_name();
    public:
  
    // string value = 2;
    void clear_value();
    const std::string& value() const;
    template <typename ArgT0 = const std::string&, typename... ArgT>
    void set_value(ArgT0&& arg0, ArgT... args);
    std::string* mutable_value();
    PROTOBUF_NODISCARD std::string* release_value();
    void set_allocated_value(std::string* value);
    private:
    const std::string& _internal_value() const;
    inline PROTOBUF_ALWAYS_INLINE void _internal_set_value(const std::string& value);
    std::string* _internal_mutable_value();
    public:
  
    // @@protoc_insertion_point(class_scope:mavsdk.rpc.param_server.ProvideParamCustomRequest)
   private:
    class _Internal;
  
    template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
    typedef void InternalArenaConstructable_;
    typedef void DestructorSkippable_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr value_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    friend struct ::TableStruct_param_5fserver_2fparam_5fserver_2eproto;
  };
  // -------------------------------------------------------------------
  
  class ProvideParamCustomResponse final :
      public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:mavsdk.rpc.param_server.ProvideParamCustomResponse) */ {
   public:
    inline ProvideParamCustomResponse() : ProvideParamCustomResponse(nullptr) {}
    ~ProvideParamCustomResponse() override;
    explicit PROTOBUF_CONSTEXPR ProvideParamCustomResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
  
    ProvideParamCustomResponse(const ProvideParamCustomResponse& from);
    ProvideParamCustomResponse(ProvideParamCustomResponse&& from) noexcept
      : ProvideParamCustomResponse() {
      *this = ::std::move(from);
    }
  
    inline ProvideParamCustomResponse& operator=(const ProvideParamCustomResponse& from) {
      CopyFrom(from);
      return *this;
    }
    inline ProvideParamCustomResponse& operator=(ProvideParamCustomResponse&& from) noexcept {
      if (this == &from) return *this;
      if (GetOwningArena() == from.GetOwningArena()
    #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
          && GetOwningArena() != nullptr
    #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
      ) {
        InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
  
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
      return GetDescriptor();
    }
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
      return default_instance().GetMetadata().descriptor;
    }
    static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
      return default_instance().GetMetadata().reflection;
    }
    static const ProvideParamCustomResponse& default_instance() {
      return *internal_default_instance();
    }
    static inline const ProvideParamCustomResponse* internal_default_instance() {
      return reinterpret_cast<const ProvideParamCustomResponse*>(
                 &_ProvideParamCustomResponse_default_instance_);
    }
    static constexpr int kIndexInFileMessages =
      11;
  
    friend void swap(ProvideParamCustomResponse& a, ProvideParamCustomResponse& b) {
      a.Swap(&b);
    }
    inline void Swap(ProvideParamCustomResponse* other) {
      if (other == this) return;
    #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
      if (GetOwningArena() != nullptr &&
          GetOwningArena() == other->GetOwningArena()) {
     #else  // PROTOBUF_FORCE_COPY_IN_SWAP
      if (GetOwningArena() == other->GetOwningArena()) {
    #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
        InternalSwap(other);
      } else {
        ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
      }
    }
    void UnsafeArenaSwap(ProvideParamCustomResponse* other) {
      if (other == this) return;
      GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
      InternalSwap(other);
    }
  
    // implements Message ----------------------------------------------
  
    ProvideParamCustomResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
      return CreateMaybeMessage<ProvideParamCustomResponse>(arena);
    }
    using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
    void CopyFrom(const ProvideParamCustomResponse& from);
    using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
    void MergeFrom(const ProvideParamCustomResponse& from);
    private:
    static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
    public:
    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;
    uint8_t* _InternalSerialize(
        uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
    int GetCachedSize() const final { return _cached_size_.Get(); }
  
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const final;
    void InternalSwap(ProvideParamCustomResponse* other);
  
    private:
    friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
    static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
      return "mavsdk.rpc.param_server.ProvideParamCustomResponse";
    }
    protected:
    explicit ProvideParamCustomResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned = false);
    public:
  
    static const ClassData _class_data_;
    const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
  
    ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    enum : int {
      kParamServerResultFieldNumber = 1,
    };
    // .mavsdk.rpc.param_server.ParamServerResult param_server_result = 1;
    bool has_param_server_result() const;
    private:
    bool _internal_has_param_server_result() const;
    public:
    void clear_param_server_result();
    const ::mavsdk::rpc::param_server::ParamServerResult& param_server_result() const;
    PROTOBUF_NODISCARD ::mavsdk::rpc::param_server::ParamServerResult* release_param_server_result();
    ::mavsdk::rpc::param_server::ParamServerResult* mutable_param_server_result();
    void set_allocated_param_server_result(::mavsdk::rpc::param_server::ParamServerResult* param_server_result);
    private:
    const ::mavsdk::rpc::param_server::ParamServerResult& _internal_param_server_result() const;
    ::mavsdk::rpc::param_server::ParamServerResult* _internal_mutable_param_server_result();
    public:
    void unsafe_arena_set_allocated_param_server_result(
        ::mavsdk::rpc::param_server::ParamServerResult* param_server_result);
    ::mavsdk::rpc::param_server::ParamServerResult* unsafe_arena_release_param_server_result();
  
    // @@protoc_insertion_point(class_scope:mavsdk.rpc.param_server.ProvideParamCustomResponse)
   private:
    class _Internal;
  
    template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
    typedef void InternalArenaConstructable_;
    typedef void DestructorSkippable_;
    ::mavsdk::rpc::param_server::ParamServerResult* param_server_result_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    friend struct ::TableStruct_param_5fserver_2fparam_5fserver_2eproto;
  };
  // -------------------------------------------------------------------
  
  class RetrieveAllParamsRequest final :
      public ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase /* @@protoc_insertion_point(class_definition:mavsdk.rpc.param_server.RetrieveAllParamsRequest) */ {
   public:
    inline RetrieveAllParamsRequest() : RetrieveAllParamsRequest(nullptr) {}
    explicit PROTOBUF_CONSTEXPR RetrieveAllParamsRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
  
    RetrieveAllParamsRequest(const RetrieveAllParamsRequest& from);
    RetrieveAllParamsRequest(RetrieveAllParamsRequest&& from) noexcept
      : RetrieveAllParamsRequest() {
      *this = ::std::move(from);
    }
  
    inline RetrieveAllParamsRequest& operator=(const RetrieveAllParamsRequest& from) {
      CopyFrom(from);
      return *this;
    }
    inline RetrieveAllParamsRequest& operator=(RetrieveAllParamsRequest&& from) noexcept {
      if (this == &from) return *this;
      if (GetOwningArena() == from.GetOwningArena()
    #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
          && GetOwningArena() != nullptr
    #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
      ) {
        InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
  
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
      return GetDescriptor();
    }
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
      return default_instance().GetMetadata().descriptor;
    }
    static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
      return default_instance().GetMetadata().reflection;
    }
    static const RetrieveAllParamsRequest& default_instance() {
      return *internal_default_instance();
    }
    static inline const RetrieveAllParamsRequest* internal_default_instance() {
      return reinterpret_cast<const RetrieveAllParamsRequest*>(
                 &_RetrieveAllParamsRequest_default_instance_);
    }
    static constexpr int kIndexInFileMessages =
      12;
  
    friend void swap(RetrieveAllParamsRequest& a, RetrieveAllParamsRequest& b) {
      a.Swap(&b);
    }
    inline void Swap(RetrieveAllParamsRequest* other) {
      if (other == this) return;
    #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
      if (GetOwningArena() != nullptr &&
          GetOwningArena() == other->GetOwningArena()) {
     #else  // PROTOBUF_FORCE_COPY_IN_SWAP
      if (GetOwningArena() == other->GetOwningArena()) {
    #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
        InternalSwap(other);
      } else {
        ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
      }
    }
    void UnsafeArenaSwap(RetrieveAllParamsRequest* other) {
      if (other == this) return;
      GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
      InternalSwap(other);
    }
  
    // implements Message ----------------------------------------------
  
    RetrieveAllParamsRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
      return CreateMaybeMessage<RetrieveAllParamsRequest>(arena);
    }
    using ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::CopyFrom;
    inline void CopyFrom(const RetrieveAllParamsRequest& from) {
      ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::CopyImpl(this, from);
    }
    using ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::MergeFrom;
    void MergeFrom(const RetrieveAllParamsRequest& from) {
      ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::MergeImpl(this, from);
    }
    public:
  
    private:
    friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
    static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
      return "mavsdk.rpc.param_server.RetrieveAllParamsRequest";
    }
    protected:
    explicit RetrieveAllParamsRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned = false);
    public:
  
    static const ClassData _class_data_;
    const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
  
    ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // @@protoc_insertion_point(class_scope:mavsdk.rpc.param_server.RetrieveAllParamsRequest)
   private:
    class _Internal;
  
    template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
    typedef void InternalArenaConstructable_;
    typedef void DestructorSkippable_;
    friend struct ::TableStruct_param_5fserver_2fparam_5fserver_2eproto;
  };
  // -------------------------------------------------------------------
  
  class RetrieveAllParamsResponse final :
      public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:mavsdk.rpc.param_server.RetrieveAllParamsResponse) */ {
   public:
    inline RetrieveAllParamsResponse() : RetrieveAllParamsResponse(nullptr) {}
    ~RetrieveAllParamsResponse() override;
    explicit PROTOBUF_CONSTEXPR RetrieveAllParamsResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
  
    RetrieveAllParamsResponse(const RetrieveAllParamsResponse& from);
    RetrieveAllParamsResponse(RetrieveAllParamsResponse&& from) noexcept
      : RetrieveAllParamsResponse() {
      *this = ::std::move(from);
    }
  
    inline RetrieveAllParamsResponse& operator=(const RetrieveAllParamsResponse& from) {
      CopyFrom(from);
      return *this;
    }
    inline RetrieveAllParamsResponse& operator=(RetrieveAllParamsResponse&& from) noexcept {
      if (this == &from) return *this;
      if (GetOwningArena() == from.GetOwningArena()
    #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
          && GetOwningArena() != nullptr
    #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
      ) {
        InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
  
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
      return GetDescriptor();
    }
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
      return default_instance().GetMetadata().descriptor;
    }
    static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
      return default_instance().GetMetadata().reflection;
    }
    static const RetrieveAllParamsResponse& default_instance() {
      return *internal_default_instance();
    }
    static inline const RetrieveAllParamsResponse* internal_default_instance() {
      return reinterpret_cast<const RetrieveAllParamsResponse*>(
                 &_RetrieveAllParamsResponse_default_instance_);
    }
    static constexpr int kIndexInFileMessages =
      13;
  
    friend void swap(RetrieveAllParamsResponse& a, RetrieveAllParamsResponse& b) {
      a.Swap(&b);
    }
    inline void Swap(RetrieveAllParamsResponse* other) {
      if (other == this) return;
    #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
      if (GetOwningArena() != nullptr &&
          GetOwningArena() == other->GetOwningArena()) {
     #else  // PROTOBUF_FORCE_COPY_IN_SWAP
      if (GetOwningArena() == other->GetOwningArena()) {
    #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
        InternalSwap(other);
      } else {
        ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
      }
    }
    void UnsafeArenaSwap(RetrieveAllParamsResponse* other) {
      if (other == this) return;
      GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
      InternalSwap(other);
    }
  
    // implements Message ----------------------------------------------
  
    RetrieveAllParamsResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
      return CreateMaybeMessage<RetrieveAllParamsResponse>(arena);
    }
    using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
    void CopyFrom(const RetrieveAllParamsResponse& from);
    using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
    void MergeFrom(const RetrieveAllParamsResponse& from);
    private:
    static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
    public:
    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;
    uint8_t* _InternalSerialize(
        uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
    int GetCachedSize() const final { return _cached_size_.Get(); }
  
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const final;
    void InternalSwap(RetrieveAllParamsResponse* other);
  
    private:
    friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
    static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
      return "mavsdk.rpc.param_server.RetrieveAllParamsResponse";
    }
    protected:
    explicit RetrieveAllParamsResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned = false);
    public:
  
    static const ClassData _class_data_;
    const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
  
    ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    enum : int {
      kParamsFieldNumber = 1,
    };
    // .mavsdk.rpc.param_server.AllParams params = 1;
    bool has_params() const;
    private:
    bool _internal_has_params() const;
    public:
    void clear_params();
    const ::mavsdk::rpc::param_server::AllParams& params() const;
    PROTOBUF_NODISCARD ::mavsdk::rpc::param_server::AllParams* release_params();
    ::mavsdk::rpc::param_server::AllParams* mutable_params();
    void set_allocated_params(::mavsdk::rpc::param_server::AllParams* params);
    private:
    const ::mavsdk::rpc::param_server::AllParams& _internal_params() const;
    ::mavsdk::rpc::param_server::AllParams* _internal_mutable_params();
    public:
    void unsafe_arena_set_allocated_params(
        ::mavsdk::rpc::param_server::AllParams* params);
    ::mavsdk::rpc::param_server::AllParams* unsafe_arena_release_params();
  
    // @@protoc_insertion_point(class_scope:mavsdk.rpc.param_server.RetrieveAllParamsResponse)
   private:
    class _Internal;
  
    template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
    typedef void InternalArenaConstructable_;
    typedef void DestructorSkippable_;
    ::mavsdk::rpc::param_server::AllParams* params_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    friend struct ::TableStruct_param_5fserver_2fparam_5fserver_2eproto;
  };
  // -------------------------------------------------------------------
  
  class IntParam final :
      public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:mavsdk.rpc.param_server.IntParam) */ {
   public:
    inline IntParam() : IntParam(nullptr) {}
    ~IntParam() override;
    explicit PROTOBUF_CONSTEXPR IntParam(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
  
    IntParam(const IntParam& from);
    IntParam(IntParam&& from) noexcept
      : IntParam() {
      *this = ::std::move(from);
    }
  
    inline IntParam& operator=(const IntParam& from) {
      CopyFrom(from);
      return *this;
    }
    inline IntParam& operator=(IntParam&& from) noexcept {
      if (this == &from) return *this;
      if (GetOwningArena() == from.GetOwningArena()
    #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
          && GetOwningArena() != nullptr
    #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
      ) {
        InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
  
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
      return GetDescriptor();
    }
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
      return default_instance().GetMetadata().descriptor;
    }
    static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
      return default_instance().GetMetadata().reflection;
    }
    static const IntParam& default_instance() {
      return *internal_default_instance();
    }
    static inline const IntParam* internal_default_instance() {
      return reinterpret_cast<const IntParam*>(
                 &_IntParam_default_instance_);
    }
    static constexpr int kIndexInFileMessages =
      14;
  
    friend void swap(IntParam& a, IntParam& b) {
      a.Swap(&b);
    }
    inline void Swap(IntParam* other) {
      if (other == this) return;
    #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
      if (GetOwningArena() != nullptr &&
          GetOwningArena() == other->GetOwningArena()) {
     #else  // PROTOBUF_FORCE_COPY_IN_SWAP
      if (GetOwningArena() == other->GetOwningArena()) {
    #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
        InternalSwap(other);
      } else {
        ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
      }
    }
    void UnsafeArenaSwap(IntParam* other) {
      if (other == this) return;
      GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
      InternalSwap(other);
    }
  
    // implements Message ----------------------------------------------
  
    IntParam* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
      return CreateMaybeMessage<IntParam>(arena);
    }
    using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
    void CopyFrom(const IntParam& from);
    using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
    void MergeFrom(const IntParam& from);
    private:
    static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
    public:
    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;
    uint8_t* _InternalSerialize(
        uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
    int GetCachedSize() const final { return _cached_size_.Get(); }
  
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const final;
    void InternalSwap(IntParam* other);
  
    private:
    friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
    static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
      return "mavsdk.rpc.param_server.IntParam";
    }
    protected:
    explicit IntParam(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned = false);
    public:
  
    static const ClassData _class_data_;
    const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
  
    ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    enum : int {
      kNameFieldNumber = 1,
      kValueFieldNumber = 2,
    };
    // string name = 1;
    void clear_name();
    const std::string& name() const;
    template <typename ArgT0 = const std::string&, typename... ArgT>
    void set_name(ArgT0&& arg0, ArgT... args);
    std::string* mutable_name();
    PROTOBUF_NODISCARD std::string* release_name();
    void set_allocated_name(std::string* name);
    private:
    const std::string& _internal_name() const;
    inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value);
    std::string* _internal_mutable_name();
    public:
  
    // int32 value = 2;
    void clear_value();
    int32_t value() const;
    void set_value(int32_t value);
    private:
    int32_t _internal_value() const;
    void _internal_set_value(int32_t value);
    public:
  
    // @@protoc_insertion_point(class_scope:mavsdk.rpc.param_server.IntParam)
   private:
    class _Internal;
  
    template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
    typedef void InternalArenaConstructable_;
    typedef void DestructorSkippable_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
    int32_t value_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    friend struct ::TableStruct_param_5fserver_2fparam_5fserver_2eproto;
  };
  // -------------------------------------------------------------------
  
  class FloatParam final :
      public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:mavsdk.rpc.param_server.FloatParam) */ {
   public:
    inline FloatParam() : FloatParam(nullptr) {}
    ~FloatParam() override;
    explicit PROTOBUF_CONSTEXPR FloatParam(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
  
    FloatParam(const FloatParam& from);
    FloatParam(FloatParam&& from) noexcept
      : FloatParam() {
      *this = ::std::move(from);
    }
  
    inline FloatParam& operator=(const FloatParam& from) {
      CopyFrom(from);
      return *this;
    }
    inline FloatParam& operator=(FloatParam&& from) noexcept {
      if (this == &from) return *this;
      if (GetOwningArena() == from.GetOwningArena()
    #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
          && GetOwningArena() != nullptr
    #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
      ) {
        InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
  
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
      return GetDescriptor();
    }
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
      return default_instance().GetMetadata().descriptor;
    }
    static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
      return default_instance().GetMetadata().reflection;
    }
    static const FloatParam& default_instance() {
      return *internal_default_instance();
    }
    static inline const FloatParam* internal_default_instance() {
      return reinterpret_cast<const FloatParam*>(
                 &_FloatParam_default_instance_);
    }
    static constexpr int kIndexInFileMessages =
      15;
  
    friend void swap(FloatParam& a, FloatParam& b) {
      a.Swap(&b);
    }
    inline void Swap(FloatParam* other) {
      if (other == this) return;
    #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
      if (GetOwningArena() != nullptr &&
          GetOwningArena() == other->GetOwningArena()) {
     #else  // PROTOBUF_FORCE_COPY_IN_SWAP
      if (GetOwningArena() == other->GetOwningArena()) {
    #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
        InternalSwap(other);
      } else {
        ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
      }
    }
    void UnsafeArenaSwap(FloatParam* other) {
      if (other == this) return;
      GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
      InternalSwap(other);
    }
  
    // implements Message ----------------------------------------------
  
    FloatParam* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
      return CreateMaybeMessage<FloatParam>(arena);
    }
    using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
    void CopyFrom(const FloatParam& from);
    using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
    void MergeFrom(const FloatParam& from);
    private:
    static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
    public:
    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;
    uint8_t* _InternalSerialize(
        uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
    int GetCachedSize() const final { return _cached_size_.Get(); }
  
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const final;
    void InternalSwap(FloatParam* other);
  
    private:
    friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
    static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
      return "mavsdk.rpc.param_server.FloatParam";
    }
    protected:
    explicit FloatParam(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned = false);
    public:
  
    static const ClassData _class_data_;
    const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
  
    ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    enum : int {
      kNameFieldNumber = 1,
      kValueFieldNumber = 2,
    };
    // string name = 1;
    void clear_name();
    const std::string& name() const;
    template <typename ArgT0 = const std::string&, typename... ArgT>
    void set_name(ArgT0&& arg0, ArgT... args);
    std::string* mutable_name();
    PROTOBUF_NODISCARD std::string* release_name();
    void set_allocated_name(std::string* name);
    private:
    const std::string& _internal_name() const;
    inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value);
    std::string* _internal_mutable_name();
    public:
  
    // float value = 2;
    void clear_value();
    float value() const;
    void set_value(float value);
    private:
    float _internal_value() const;
    void _internal_set_value(float value);
    public:
  
    // @@protoc_insertion_point(class_scope:mavsdk.rpc.param_server.FloatParam)
   private:
    class _Internal;
  
    template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
    typedef void InternalArenaConstructable_;
    typedef void DestructorSkippable_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
    float value_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    friend struct ::TableStruct_param_5fserver_2fparam_5fserver_2eproto;
  };
  // -------------------------------------------------------------------
  
  class CustomParam final :
      public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:mavsdk.rpc.param_server.CustomParam) */ {
   public:
    inline CustomParam() : CustomParam(nullptr) {}
    ~CustomParam() override;
    explicit PROTOBUF_CONSTEXPR CustomParam(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
  
    CustomParam(const CustomParam& from);
    CustomParam(CustomParam&& from) noexcept
      : CustomParam() {
      *this = ::std::move(from);
    }
  
    inline CustomParam& operator=(const CustomParam& from) {
      CopyFrom(from);
      return *this;
    }
    inline CustomParam& operator=(CustomParam&& from) noexcept {
      if (this == &from) return *this;
      if (GetOwningArena() == from.GetOwningArena()
    #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
          && GetOwningArena() != nullptr
    #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
      ) {
        InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
  
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
      return GetDescriptor();
    }
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
      return default_instance().GetMetadata().descriptor;
    }
    static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
      return default_instance().GetMetadata().reflection;
    }
    static const CustomParam& default_instance() {
      return *internal_default_instance();
    }
    static inline const CustomParam* internal_default_instance() {
      return reinterpret_cast<const CustomParam*>(
                 &_CustomParam_default_instance_);
    }
    static constexpr int kIndexInFileMessages =
      16;
  
    friend void swap(CustomParam& a, CustomParam& b) {
      a.Swap(&b);
    }
    inline void Swap(CustomParam* other) {
      if (other == this) return;
    #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
      if (GetOwningArena() != nullptr &&
          GetOwningArena() == other->GetOwningArena()) {
     #else  // PROTOBUF_FORCE_COPY_IN_SWAP
      if (GetOwningArena() == other->GetOwningArena()) {
    #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
        InternalSwap(other);
      } else {
        ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
      }
    }
    void UnsafeArenaSwap(CustomParam* other) {
      if (other == this) return;
      GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
      InternalSwap(other);
    }
  
    // implements Message ----------------------------------------------
  
    CustomParam* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
      return CreateMaybeMessage<CustomParam>(arena);
    }
    using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
    void CopyFrom(const CustomParam& from);
    using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
    void MergeFrom(const CustomParam& from);
    private:
    static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
    public:
    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;
    uint8_t* _InternalSerialize(
        uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
    int GetCachedSize() const final { return _cached_size_.Get(); }
  
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const final;
    void InternalSwap(CustomParam* other);
  
    private:
    friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
    static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
      return "mavsdk.rpc.param_server.CustomParam";
    }
    protected:
    explicit CustomParam(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned = false);
    public:
  
    static const ClassData _class_data_;
    const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
  
    ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    enum : int {
      kNameFieldNumber = 1,
      kValueFieldNumber = 2,
    };
    // string name = 1;
    void clear_name();
    const std::string& name() const;
    template <typename ArgT0 = const std::string&, typename... ArgT>
    void set_name(ArgT0&& arg0, ArgT... args);
    std::string* mutable_name();
    PROTOBUF_NODISCARD std::string* release_name();
    void set_allocated_name(std::string* name);
    private:
    const std::string& _internal_name() const;
    inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value);
    std::string* _internal_mutable_name();
    public:
  
    // string value = 2;
    void clear_value();
    const std::string& value() const;
    template <typename ArgT0 = const std::string&, typename... ArgT>
    void set_value(ArgT0&& arg0, ArgT... args);
    std::string* mutable_value();
    PROTOBUF_NODISCARD std::string* release_value();
    void set_allocated_value(std::string* value);
    private:
    const std::string& _internal_value() const;
    inline PROTOBUF_ALWAYS_INLINE void _internal_set_value(const std::string& value);
    std::string* _internal_mutable_value();
    public:
  
    // @@protoc_insertion_point(class_scope:mavsdk.rpc.param_server.CustomParam)
   private:
    class _Internal;
  
    template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
    typedef void InternalArenaConstructable_;
    typedef void DestructorSkippable_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr value_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    friend struct ::TableStruct_param_5fserver_2fparam_5fserver_2eproto;
  };
  // -------------------------------------------------------------------
  
  class AllParams final :
      public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:mavsdk.rpc.param_server.AllParams) */ {
   public:
    inline AllParams() : AllParams(nullptr) {}
    ~AllParams() override;
    explicit PROTOBUF_CONSTEXPR AllParams(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
  
    AllParams(const AllParams& from);
    AllParams(AllParams&& from) noexcept
      : AllParams() {
      *this = ::std::move(from);
    }
  
    inline AllParams& operator=(const AllParams& from) {
      CopyFrom(from);
      return *this;
    }
    inline AllParams& operator=(AllParams&& from) noexcept {
      if (this == &from) return *this;
      if (GetOwningArena() == from.GetOwningArena()
    #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
          && GetOwningArena() != nullptr
    #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
      ) {
        InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
  
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
      return GetDescriptor();
    }
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
      return default_instance().GetMetadata().descriptor;
    }
    static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
      return default_instance().GetMetadata().reflection;
    }
    static const AllParams& default_instance() {
      return *internal_default_instance();
    }
    static inline const AllParams* internal_default_instance() {
      return reinterpret_cast<const AllParams*>(
                 &_AllParams_default_instance_);
    }
    static constexpr int kIndexInFileMessages =
      17;
  
    friend void swap(AllParams& a, AllParams& b) {
      a.Swap(&b);
    }
    inline void Swap(AllParams* other) {
      if (other == this) return;
    #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
      if (GetOwningArena() != nullptr &&
          GetOwningArena() == other->GetOwningArena()) {
     #else  // PROTOBUF_FORCE_COPY_IN_SWAP
      if (GetOwningArena() == other->GetOwningArena()) {
    #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
        InternalSwap(other);
      } else {
        ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
      }
    }
    void UnsafeArenaSwap(AllParams* other) {
      if (other == this) return;
      GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
      InternalSwap(other);
    }
  
    // implements Message ----------------------------------------------
  
    AllParams* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
      return CreateMaybeMessage<AllParams>(arena);
    }
    using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
    void CopyFrom(const AllParams& from);
    using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
    void MergeFrom(const AllParams& from);
    private:
    static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
    public:
    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;
    uint8_t* _InternalSerialize(
        uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
    int GetCachedSize() const final { return _cached_size_.Get(); }
  
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const final;
    void InternalSwap(AllParams* other);
  
    private:
    friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
    static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
      return "mavsdk.rpc.param_server.AllParams";
    }
    protected:
    explicit AllParams(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned = false);
    public:
  
    static const ClassData _class_data_;
    const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
  
    ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    enum : int {
      kIntParamsFieldNumber = 1,
      kFloatParamsFieldNumber = 2,
      kCustomParamsFieldNumber = 3,
    };
    // repeated .mavsdk.rpc.param_server.IntParam int_params = 1;
    int int_params_size() const;
    private:
    int _internal_int_params_size() const;
    public:
    void clear_int_params();
    ::mavsdk::rpc::param_server::IntParam* mutable_int_params(int index);
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::mavsdk::rpc::param_server::IntParam >*
        mutable_int_params();
    private:
    const ::mavsdk::rpc::param_server::IntParam& _internal_int_params(int index) const;
    ::mavsdk::rpc::param_server::IntParam* _internal_add_int_params();
    public:
    const ::mavsdk::rpc::param_server::IntParam& int_params(int index) const;
    ::mavsdk::rpc::param_server::IntParam* add_int_params();
    const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::mavsdk::rpc::param_server::IntParam >&
        int_params() const;
  
    // repeated .mavsdk.rpc.param_server.FloatParam float_params = 2;
    int float_params_size() const;
    private:
    int _internal_float_params_size() const;
    public:
    void clear_float_params();
    ::mavsdk::rpc::param_server::FloatParam* mutable_float_params(int index);
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::mavsdk::rpc::param_server::FloatParam >*
        mutable_float_params();
    private:
    const ::mavsdk::rpc::param_server::FloatParam& _internal_float_params(int index) const;
    ::mavsdk::rpc::param_server::FloatParam* _internal_add_float_params();
    public:
    const ::mavsdk::rpc::param_server::FloatParam& float_params(int index) const;
    ::mavsdk::rpc::param_server::FloatParam* add_float_params();
    const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::mavsdk::rpc::param_server::FloatParam >&
        float_params() const;
  
    // repeated .mavsdk.rpc.param_server.CustomParam custom_params = 3;
    int custom_params_size() const;
    private:
    int _internal_custom_params_size() const;
    public:
    void clear_custom_params();
    ::mavsdk::rpc::param_server::CustomParam* mutable_custom_params(int index);
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::mavsdk::rpc::param_server::CustomParam >*
        mutable_custom_params();
    private:
    const ::mavsdk::rpc::param_server::CustomParam& _internal_custom_params(int index) const;
    ::mavsdk::rpc::param_server::CustomParam* _internal_add_custom_params();
    public:
    const ::mavsdk::rpc::param_server::CustomParam& custom_params(int index) const;
    ::mavsdk::rpc::param_server::CustomParam* add_custom_params();
    const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::mavsdk::rpc::param_server::CustomParam >&
        custom_params() const;
  
    // @@protoc_insertion_point(class_scope:mavsdk.rpc.param_server.AllParams)
   private:
    class _Internal;
  
    template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
    typedef void InternalArenaConstructable_;
    typedef void DestructorSkippable_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::mavsdk::rpc::param_server::IntParam > int_params_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::mavsdk::rpc::param_server::FloatParam > float_params_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::mavsdk::rpc::param_server::CustomParam > custom_params_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    friend struct ::TableStruct_param_5fserver_2fparam_5fserver_2eproto;
  };
  // -------------------------------------------------------------------
  
  class ParamServerResult final :
      public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:mavsdk.rpc.param_server.ParamServerResult) */ {
   public:
    inline ParamServerResult() : ParamServerResult(nullptr) {}
    ~ParamServerResult() override;
    explicit PROTOBUF_CONSTEXPR ParamServerResult(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
  
    ParamServerResult(const ParamServerResult& from);
    ParamServerResult(ParamServerResult&& from) noexcept
      : ParamServerResult() {
      *this = ::std::move(from);
    }
  
    inline ParamServerResult& operator=(const ParamServerResult& from) {
      CopyFrom(from);
      return *this;
    }
    inline ParamServerResult& operator=(ParamServerResult&& from) noexcept {
      if (this == &from) return *this;
      if (GetOwningArena() == from.GetOwningArena()
    #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
          && GetOwningArena() != nullptr
    #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
      ) {
        InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
  
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
      return GetDescriptor();
    }
    static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
      return default_instance().GetMetadata().descriptor;
    }
    static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
      return default_instance().GetMetadata().reflection;
    }
    static const ParamServerResult& default_instance() {
      return *internal_default_instance();
    }
    static inline const ParamServerResult* internal_default_instance() {
      return reinterpret_cast<const ParamServerResult*>(
                 &_ParamServerResult_default_instance_);
    }
    static constexpr int kIndexInFileMessages =
      18;
  
    friend void swap(ParamServerResult& a, ParamServerResult& b) {
      a.Swap(&b);
    }
    inline void Swap(ParamServerResult* other) {
      if (other == this) return;
    #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
      if (GetOwningArena() != nullptr &&
          GetOwningArena() == other->GetOwningArena()) {
     #else  // PROTOBUF_FORCE_COPY_IN_SWAP
      if (GetOwningArena() == other->GetOwningArena()) {
    #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
        InternalSwap(other);
      } else {
        ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
      }
    }
    void UnsafeArenaSwap(ParamServerResult* other) {
      if (other == this) return;
      GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
      InternalSwap(other);
    }
  
    // implements Message ----------------------------------------------
  
    ParamServerResult* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
      return CreateMaybeMessage<ParamServerResult>(arena);
    }
    using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
    void CopyFrom(const ParamServerResult& from);
    using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
    void MergeFrom(const ParamServerResult& from);
    private:
    static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
    public:
    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;
    uint8_t* _InternalSerialize(
        uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
    int GetCachedSize() const final { return _cached_size_.Get(); }
  
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const final;
    void InternalSwap(ParamServerResult* other);
  
    private:
    friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
    static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
      return "mavsdk.rpc.param_server.ParamServerResult";
    }
    protected:
    explicit ParamServerResult(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned = false);
    public:
  
    static const ClassData _class_data_;
    const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
  
    ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  
    // nested types ----------------------------------------------------
  
    typedef ParamServerResult_Result Result;
    static constexpr Result RESULT_UNKNOWN =
      ParamServerResult_Result_RESULT_UNKNOWN;
    static constexpr Result RESULT_SUCCESS =
      ParamServerResult_Result_RESULT_SUCCESS;
    static constexpr Result RESULT_NOT_FOUND =
      ParamServerResult_Result_RESULT_NOT_FOUND;
    static constexpr Result RESULT_WRONG_TYPE =
      ParamServerResult_Result_RESULT_WRONG_TYPE;
    static constexpr Result RESULT_PARAM_NAME_TOO_LONG =
      ParamServerResult_Result_RESULT_PARAM_NAME_TOO_LONG;
    static constexpr Result RESULT_NO_SYSTEM =
      ParamServerResult_Result_RESULT_NO_SYSTEM;
    static constexpr Result RESULT_PARAM_VALUE_TOO_LONG =
      ParamServerResult_Result_RESULT_PARAM_VALUE_TOO_LONG;
    static inline bool Result_IsValid(int value) {
      return ParamServerResult_Result_IsValid(value);
    }
    static constexpr Result Result_MIN =
      ParamServerResult_Result_Result_MIN;
    static constexpr Result Result_MAX =
      ParamServerResult_Result_Result_MAX;
    static constexpr int Result_ARRAYSIZE =
      ParamServerResult_Result_Result_ARRAYSIZE;
    static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
    Result_descriptor() {
      return ParamServerResult_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 ParamServerResult_Result_Name(enum_t_value);
    }
    static inline bool Result_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
        Result* value) {
      return ParamServerResult_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;
    template <typename ArgT0 = const std::string&, typename... ArgT>
    void set_result_str(ArgT0&& arg0, ArgT... args);
    std::string* mutable_result_str();
    PROTOBUF_NODISCARD std::string* release_result_str();
    void set_allocated_result_str(std::string* result_str);
    private:
    const std::string& _internal_result_str() const;
    inline PROTOBUF_ALWAYS_INLINE void _internal_set_result_str(const std::string& value);
    std::string* _internal_mutable_result_str();
    public:
  
    // .mavsdk.rpc.param_server.ParamServerResult.Result result = 1;
    void clear_result();
    ::mavsdk::rpc::param_server::ParamServerResult_Result result() const;
    void set_result(::mavsdk::rpc::param_server::ParamServerResult_Result value);
    private:
    ::mavsdk::rpc::param_server::ParamServerResult_Result _internal_result() const;
    void _internal_set_result(::mavsdk::rpc::param_server::ParamServerResult_Result value);
    public:
  
    // @@protoc_insertion_point(class_scope:mavsdk.rpc.param_server.ParamServerResult)
   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_param_5fserver_2fparam_5fserver_2eproto;
  };
  // ===================================================================
  
  
  // ===================================================================
  
  #ifdef __GNUC__
    #pragma GCC diagnostic push
    #pragma GCC diagnostic ignored "-Wstrict-aliasing"
  #endif  // __GNUC__
  // RetrieveParamIntRequest
  
  // string name = 1;
  inline void RetrieveParamIntRequest::clear_name() {
    name_.ClearToEmpty();
  }
  inline const std::string& RetrieveParamIntRequest::name() const {
    // @@protoc_insertion_point(field_get:mavsdk.rpc.param_server.RetrieveParamIntRequest.name)
    return _internal_name();
  }
  template <typename ArgT0, typename... ArgT>
  inline PROTOBUF_ALWAYS_INLINE
  void RetrieveParamIntRequest::set_name(ArgT0&& arg0, ArgT... args) {
   
   name_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
    // @@protoc_insertion_point(field_set:mavsdk.rpc.param_server.RetrieveParamIntRequest.name)
  }
  inline std::string* RetrieveParamIntRequest::mutable_name() {
    std::string* _s = _internal_mutable_name();
    // @@protoc_insertion_point(field_mutable:mavsdk.rpc.param_server.RetrieveParamIntRequest.name)
    return _s;
  }
  inline const std::string& RetrieveParamIntRequest::_internal_name() const {
    return name_.Get();
  }
  inline void RetrieveParamIntRequest::_internal_set_name(const std::string& value) {
    
    name_.Set(value, GetArenaForAllocation());
  }
  inline std::string* RetrieveParamIntRequest::_internal_mutable_name() {
    
    return name_.Mutable(GetArenaForAllocation());
  }
  inline std::string* RetrieveParamIntRequest::release_name() {
    // @@protoc_insertion_point(field_release:mavsdk.rpc.param_server.RetrieveParamIntRequest.name)
    return name_.Release();
  }
  inline void RetrieveParamIntRequest::set_allocated_name(std::string* name) {
    if (name != nullptr) {
      
    } else {
      
    }
    name_.SetAllocated(name, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    if (name_.IsDefault()) {
      name_.Set("", GetArenaForAllocation());
    }
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
    // @@protoc_insertion_point(field_set_allocated:mavsdk.rpc.param_server.RetrieveParamIntRequest.name)
  }
  
  // -------------------------------------------------------------------
  
  // RetrieveParamIntResponse
  
  // .mavsdk.rpc.param_server.ParamServerResult param_server_result = 1;
  inline bool RetrieveParamIntResponse::_internal_has_param_server_result() const {
    return this != internal_default_instance() && param_server_result_ != nullptr;
  }
  inline bool RetrieveParamIntResponse::has_param_server_result() const {
    return _internal_has_param_server_result();
  }
  inline void RetrieveParamIntResponse::clear_param_server_result() {
    if (GetArenaForAllocation() == nullptr && param_server_result_ != nullptr) {
      delete param_server_result_;
    }
    param_server_result_ = nullptr;
  }
  inline const ::mavsdk::rpc::param_server::ParamServerResult& RetrieveParamIntResponse::_internal_param_server_result() const {
    const ::mavsdk::rpc::param_server::ParamServerResult* p = param_server_result_;
    return p != nullptr ? *p : reinterpret_cast<const ::mavsdk::rpc::param_server::ParamServerResult&>(
        ::mavsdk::rpc::param_server::_ParamServerResult_default_instance_);
  }
  inline const ::mavsdk::rpc::param_server::ParamServerResult& RetrieveParamIntResponse::param_server_result() const {
    // @@protoc_insertion_point(field_get:mavsdk.rpc.param_server.RetrieveParamIntResponse.param_server_result)
    return _internal_param_server_result();
  }
  inline void RetrieveParamIntResponse::unsafe_arena_set_allocated_param_server_result(
      ::mavsdk::rpc::param_server::ParamServerResult* param_server_result) {
    if (GetArenaForAllocation() == nullptr) {
      delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(param_server_result_);
    }
    param_server_result_ = param_server_result;
    if (param_server_result) {
      
    } else {
      
    }
    // @@protoc_insertion_point(field_unsafe_arena_set_allocated:mavsdk.rpc.param_server.RetrieveParamIntResponse.param_server_result)
  }
  inline ::mavsdk::rpc::param_server::ParamServerResult* RetrieveParamIntResponse::release_param_server_result() {
    
    ::mavsdk::rpc::param_server::ParamServerResult* temp = param_server_result_;
    param_server_result_ = nullptr;
  #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
    auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    if (GetArenaForAllocation() == nullptr) { delete old; }
  #else  // PROTOBUF_FORCE_COPY_IN_RELEASE
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
  #endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
    return temp;
  }
  inline ::mavsdk::rpc::param_server::ParamServerResult* RetrieveParamIntResponse::unsafe_arena_release_param_server_result() {
    // @@protoc_insertion_point(field_release:mavsdk.rpc.param_server.RetrieveParamIntResponse.param_server_result)
    
    ::mavsdk::rpc::param_server::ParamServerResult* temp = param_server_result_;
    param_server_result_ = nullptr;
    return temp;
  }
  inline ::mavsdk::rpc::param_server::ParamServerResult* RetrieveParamIntResponse::_internal_mutable_param_server_result() {
    
    if (param_server_result_ == nullptr) {
      auto* p = CreateMaybeMessage<::mavsdk::rpc::param_server::ParamServerResult>(GetArenaForAllocation());
      param_server_result_ = p;
    }
    return param_server_result_;
  }
  inline ::mavsdk::rpc::param_server::ParamServerResult* RetrieveParamIntResponse::mutable_param_server_result() {
    ::mavsdk::rpc::param_server::ParamServerResult* _msg = _internal_mutable_param_server_result();
    // @@protoc_insertion_point(field_mutable:mavsdk.rpc.param_server.RetrieveParamIntResponse.param_server_result)
    return _msg;
  }
  inline void RetrieveParamIntResponse::set_allocated_param_server_result(::mavsdk::rpc::param_server::ParamServerResult* param_server_result) {
    ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
    if (message_arena == nullptr) {
      delete param_server_result_;
    }
    if (param_server_result) {
      ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
          ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(param_server_result);
      if (message_arena != submessage_arena) {
        param_server_result = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
            message_arena, param_server_result, submessage_arena);
      }
      
    } else {
      
    }
    param_server_result_ = param_server_result;
    // @@protoc_insertion_point(field_set_allocated:mavsdk.rpc.param_server.RetrieveParamIntResponse.param_server_result)
  }
  
  // int32 value = 2;
  inline void RetrieveParamIntResponse::clear_value() {
    value_ = 0;
  }
  inline int32_t RetrieveParamIntResponse::_internal_value() const {
    return value_;
  }
  inline int32_t RetrieveParamIntResponse::value() const {
    // @@protoc_insertion_point(field_get:mavsdk.rpc.param_server.RetrieveParamIntResponse.value)
    return _internal_value();
  }
  inline void RetrieveParamIntResponse::_internal_set_value(int32_t value) {
    
    value_ = value;
  }
  inline void RetrieveParamIntResponse::set_value(int32_t value) {
    _internal_set_value(value);
    // @@protoc_insertion_point(field_set:mavsdk.rpc.param_server.RetrieveParamIntResponse.value)
  }
  
  // -------------------------------------------------------------------
  
  // ProvideParamIntRequest
  
  // string name = 1;
  inline void ProvideParamIntRequest::clear_name() {
    name_.ClearToEmpty();
  }
  inline const std::string& ProvideParamIntRequest::name() const {
    // @@protoc_insertion_point(field_get:mavsdk.rpc.param_server.ProvideParamIntRequest.name)
    return _internal_name();
  }
  template <typename ArgT0, typename... ArgT>
  inline PROTOBUF_ALWAYS_INLINE
  void ProvideParamIntRequest::set_name(ArgT0&& arg0, ArgT... args) {
   
   name_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
    // @@protoc_insertion_point(field_set:mavsdk.rpc.param_server.ProvideParamIntRequest.name)
  }
  inline std::string* ProvideParamIntRequest::mutable_name() {
    std::string* _s = _internal_mutable_name();
    // @@protoc_insertion_point(field_mutable:mavsdk.rpc.param_server.ProvideParamIntRequest.name)
    return _s;
  }
  inline const std::string& ProvideParamIntRequest::_internal_name() const {
    return name_.Get();
  }
  inline void ProvideParamIntRequest::_internal_set_name(const std::string& value) {
    
    name_.Set(value, GetArenaForAllocation());
  }
  inline std::string* ProvideParamIntRequest::_internal_mutable_name() {
    
    return name_.Mutable(GetArenaForAllocation());
  }
  inline std::string* ProvideParamIntRequest::release_name() {
    // @@protoc_insertion_point(field_release:mavsdk.rpc.param_server.ProvideParamIntRequest.name)
    return name_.Release();
  }
  inline void ProvideParamIntRequest::set_allocated_name(std::string* name) {
    if (name != nullptr) {
      
    } else {
      
    }
    name_.SetAllocated(name, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    if (name_.IsDefault()) {
      name_.Set("", GetArenaForAllocation());
    }
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
    // @@protoc_insertion_point(field_set_allocated:mavsdk.rpc.param_server.ProvideParamIntRequest.name)
  }
  
  // int32 value = 2;
  inline void ProvideParamIntRequest::clear_value() {
    value_ = 0;
  }
  inline int32_t ProvideParamIntRequest::_internal_value() const {
    return value_;
  }
  inline int32_t ProvideParamIntRequest::value() const {
    // @@protoc_insertion_point(field_get:mavsdk.rpc.param_server.ProvideParamIntRequest.value)
    return _internal_value();
  }
  inline void ProvideParamIntRequest::_internal_set_value(int32_t value) {
    
    value_ = value;
  }
  inline void ProvideParamIntRequest::set_value(int32_t value) {
    _internal_set_value(value);
    // @@protoc_insertion_point(field_set:mavsdk.rpc.param_server.ProvideParamIntRequest.value)
  }
  
  // -------------------------------------------------------------------
  
  // ProvideParamIntResponse
  
  // .mavsdk.rpc.param_server.ParamServerResult param_server_result = 1;
  inline bool ProvideParamIntResponse::_internal_has_param_server_result() const {
    return this != internal_default_instance() && param_server_result_ != nullptr;
  }
  inline bool ProvideParamIntResponse::has_param_server_result() const {
    return _internal_has_param_server_result();
  }
  inline void ProvideParamIntResponse::clear_param_server_result() {
    if (GetArenaForAllocation() == nullptr && param_server_result_ != nullptr) {
      delete param_server_result_;
    }
    param_server_result_ = nullptr;
  }
  inline const ::mavsdk::rpc::param_server::ParamServerResult& ProvideParamIntResponse::_internal_param_server_result() const {
    const ::mavsdk::rpc::param_server::ParamServerResult* p = param_server_result_;
    return p != nullptr ? *p : reinterpret_cast<const ::mavsdk::rpc::param_server::ParamServerResult&>(
        ::mavsdk::rpc::param_server::_ParamServerResult_default_instance_);
  }
  inline const ::mavsdk::rpc::param_server::ParamServerResult& ProvideParamIntResponse::param_server_result() const {
    // @@protoc_insertion_point(field_get:mavsdk.rpc.param_server.ProvideParamIntResponse.param_server_result)
    return _internal_param_server_result();
  }
  inline void ProvideParamIntResponse::unsafe_arena_set_allocated_param_server_result(
      ::mavsdk::rpc::param_server::ParamServerResult* param_server_result) {
    if (GetArenaForAllocation() == nullptr) {
      delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(param_server_result_);
    }
    param_server_result_ = param_server_result;
    if (param_server_result) {
      
    } else {
      
    }
    // @@protoc_insertion_point(field_unsafe_arena_set_allocated:mavsdk.rpc.param_server.ProvideParamIntResponse.param_server_result)
  }
  inline ::mavsdk::rpc::param_server::ParamServerResult* ProvideParamIntResponse::release_param_server_result() {
    
    ::mavsdk::rpc::param_server::ParamServerResult* temp = param_server_result_;
    param_server_result_ = nullptr;
  #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
    auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    if (GetArenaForAllocation() == nullptr) { delete old; }
  #else  // PROTOBUF_FORCE_COPY_IN_RELEASE
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
  #endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
    return temp;
  }
  inline ::mavsdk::rpc::param_server::ParamServerResult* ProvideParamIntResponse::unsafe_arena_release_param_server_result() {
    // @@protoc_insertion_point(field_release:mavsdk.rpc.param_server.ProvideParamIntResponse.param_server_result)
    
    ::mavsdk::rpc::param_server::ParamServerResult* temp = param_server_result_;
    param_server_result_ = nullptr;
    return temp;
  }
  inline ::mavsdk::rpc::param_server::ParamServerResult* ProvideParamIntResponse::_internal_mutable_param_server_result() {
    
    if (param_server_result_ == nullptr) {
      auto* p = CreateMaybeMessage<::mavsdk::rpc::param_server::ParamServerResult>(GetArenaForAllocation());
      param_server_result_ = p;
    }
    return param_server_result_;
  }
  inline ::mavsdk::rpc::param_server::ParamServerResult* ProvideParamIntResponse::mutable_param_server_result() {
    ::mavsdk::rpc::param_server::ParamServerResult* _msg = _internal_mutable_param_server_result();
    // @@protoc_insertion_point(field_mutable:mavsdk.rpc.param_server.ProvideParamIntResponse.param_server_result)
    return _msg;
  }
  inline void ProvideParamIntResponse::set_allocated_param_server_result(::mavsdk::rpc::param_server::ParamServerResult* param_server_result) {
    ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
    if (message_arena == nullptr) {
      delete param_server_result_;
    }
    if (param_server_result) {
      ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
          ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(param_server_result);
      if (message_arena != submessage_arena) {
        param_server_result = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
            message_arena, param_server_result, submessage_arena);
      }
      
    } else {
      
    }
    param_server_result_ = param_server_result;
    // @@protoc_insertion_point(field_set_allocated:mavsdk.rpc.param_server.ProvideParamIntResponse.param_server_result)
  }
  
  // -------------------------------------------------------------------
  
  // RetrieveParamFloatRequest
  
  // string name = 1;
  inline void RetrieveParamFloatRequest::clear_name() {
    name_.ClearToEmpty();
  }
  inline const std::string& RetrieveParamFloatRequest::name() const {
    // @@protoc_insertion_point(field_get:mavsdk.rpc.param_server.RetrieveParamFloatRequest.name)
    return _internal_name();
  }
  template <typename ArgT0, typename... ArgT>
  inline PROTOBUF_ALWAYS_INLINE
  void RetrieveParamFloatRequest::set_name(ArgT0&& arg0, ArgT... args) {
   
   name_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
    // @@protoc_insertion_point(field_set:mavsdk.rpc.param_server.RetrieveParamFloatRequest.name)
  }
  inline std::string* RetrieveParamFloatRequest::mutable_name() {
    std::string* _s = _internal_mutable_name();
    // @@protoc_insertion_point(field_mutable:mavsdk.rpc.param_server.RetrieveParamFloatRequest.name)
    return _s;
  }
  inline const std::string& RetrieveParamFloatRequest::_internal_name() const {
    return name_.Get();
  }
  inline void RetrieveParamFloatRequest::_internal_set_name(const std::string& value) {
    
    name_.Set(value, GetArenaForAllocation());
  }
  inline std::string* RetrieveParamFloatRequest::_internal_mutable_name() {
    
    return name_.Mutable(GetArenaForAllocation());
  }
  inline std::string* RetrieveParamFloatRequest::release_name() {
    // @@protoc_insertion_point(field_release:mavsdk.rpc.param_server.RetrieveParamFloatRequest.name)
    return name_.Release();
  }
  inline void RetrieveParamFloatRequest::set_allocated_name(std::string* name) {
    if (name != nullptr) {
      
    } else {
      
    }
    name_.SetAllocated(name, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    if (name_.IsDefault()) {
      name_.Set("", GetArenaForAllocation());
    }
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
    // @@protoc_insertion_point(field_set_allocated:mavsdk.rpc.param_server.RetrieveParamFloatRequest.name)
  }
  
  // -------------------------------------------------------------------
  
  // RetrieveParamFloatResponse
  
  // .mavsdk.rpc.param_server.ParamServerResult param_server_result = 1;
  inline bool RetrieveParamFloatResponse::_internal_has_param_server_result() const {
    return this != internal_default_instance() && param_server_result_ != nullptr;
  }
  inline bool RetrieveParamFloatResponse::has_param_server_result() const {
    return _internal_has_param_server_result();
  }
  inline void RetrieveParamFloatResponse::clear_param_server_result() {
    if (GetArenaForAllocation() == nullptr && param_server_result_ != nullptr) {
      delete param_server_result_;
    }
    param_server_result_ = nullptr;
  }
  inline const ::mavsdk::rpc::param_server::ParamServerResult& RetrieveParamFloatResponse::_internal_param_server_result() const {
    const ::mavsdk::rpc::param_server::ParamServerResult* p = param_server_result_;
    return p != nullptr ? *p : reinterpret_cast<const ::mavsdk::rpc::param_server::ParamServerResult&>(
        ::mavsdk::rpc::param_server::_ParamServerResult_default_instance_);
  }
  inline const ::mavsdk::rpc::param_server::ParamServerResult& RetrieveParamFloatResponse::param_server_result() const {
    // @@protoc_insertion_point(field_get:mavsdk.rpc.param_server.RetrieveParamFloatResponse.param_server_result)
    return _internal_param_server_result();
  }
  inline void RetrieveParamFloatResponse::unsafe_arena_set_allocated_param_server_result(
      ::mavsdk::rpc::param_server::ParamServerResult* param_server_result) {
    if (GetArenaForAllocation() == nullptr) {
      delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(param_server_result_);
    }
    param_server_result_ = param_server_result;
    if (param_server_result) {
      
    } else {
      
    }
    // @@protoc_insertion_point(field_unsafe_arena_set_allocated:mavsdk.rpc.param_server.RetrieveParamFloatResponse.param_server_result)
  }
  inline ::mavsdk::rpc::param_server::ParamServerResult* RetrieveParamFloatResponse::release_param_server_result() {
    
    ::mavsdk::rpc::param_server::ParamServerResult* temp = param_server_result_;
    param_server_result_ = nullptr;
  #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
    auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    if (GetArenaForAllocation() == nullptr) { delete old; }
  #else  // PROTOBUF_FORCE_COPY_IN_RELEASE
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
  #endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
    return temp;
  }
  inline ::mavsdk::rpc::param_server::ParamServerResult* RetrieveParamFloatResponse::unsafe_arena_release_param_server_result() {
    // @@protoc_insertion_point(field_release:mavsdk.rpc.param_server.RetrieveParamFloatResponse.param_server_result)
    
    ::mavsdk::rpc::param_server::ParamServerResult* temp = param_server_result_;
    param_server_result_ = nullptr;
    return temp;
  }
  inline ::mavsdk::rpc::param_server::ParamServerResult* RetrieveParamFloatResponse::_internal_mutable_param_server_result() {
    
    if (param_server_result_ == nullptr) {
      auto* p = CreateMaybeMessage<::mavsdk::rpc::param_server::ParamServerResult>(GetArenaForAllocation());
      param_server_result_ = p;
    }
    return param_server_result_;
  }
  inline ::mavsdk::rpc::param_server::ParamServerResult* RetrieveParamFloatResponse::mutable_param_server_result() {
    ::mavsdk::rpc::param_server::ParamServerResult* _msg = _internal_mutable_param_server_result();
    // @@protoc_insertion_point(field_mutable:mavsdk.rpc.param_server.RetrieveParamFloatResponse.param_server_result)
    return _msg;
  }
  inline void RetrieveParamFloatResponse::set_allocated_param_server_result(::mavsdk::rpc::param_server::ParamServerResult* param_server_result) {
    ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
    if (message_arena == nullptr) {
      delete param_server_result_;
    }
    if (param_server_result) {
      ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
          ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(param_server_result);
      if (message_arena != submessage_arena) {
        param_server_result = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
            message_arena, param_server_result, submessage_arena);
      }
      
    } else {
      
    }
    param_server_result_ = param_server_result;
    // @@protoc_insertion_point(field_set_allocated:mavsdk.rpc.param_server.RetrieveParamFloatResponse.param_server_result)
  }
  
  // float value = 2;
  inline void RetrieveParamFloatResponse::clear_value() {
    value_ = 0;
  }
  inline float RetrieveParamFloatResponse::_internal_value() const {
    return value_;
  }
  inline float RetrieveParamFloatResponse::value() const {
    // @@protoc_insertion_point(field_get:mavsdk.rpc.param_server.RetrieveParamFloatResponse.value)
    return _internal_value();
  }
  inline void RetrieveParamFloatResponse::_internal_set_value(float value) {
    
    value_ = value;
  }
  inline void RetrieveParamFloatResponse::set_value(float value) {
    _internal_set_value(value);
    // @@protoc_insertion_point(field_set:mavsdk.rpc.param_server.RetrieveParamFloatResponse.value)
  }
  
  // -------------------------------------------------------------------
  
  // ProvideParamFloatRequest
  
  // string name = 1;
  inline void ProvideParamFloatRequest::clear_name() {
    name_.ClearToEmpty();
  }
  inline const std::string& ProvideParamFloatRequest::name() const {
    // @@protoc_insertion_point(field_get:mavsdk.rpc.param_server.ProvideParamFloatRequest.name)
    return _internal_name();
  }
  template <typename ArgT0, typename... ArgT>
  inline PROTOBUF_ALWAYS_INLINE
  void ProvideParamFloatRequest::set_name(ArgT0&& arg0, ArgT... args) {
   
   name_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
    // @@protoc_insertion_point(field_set:mavsdk.rpc.param_server.ProvideParamFloatRequest.name)
  }
  inline std::string* ProvideParamFloatRequest::mutable_name() {
    std::string* _s = _internal_mutable_name();
    // @@protoc_insertion_point(field_mutable:mavsdk.rpc.param_server.ProvideParamFloatRequest.name)
    return _s;
  }
  inline const std::string& ProvideParamFloatRequest::_internal_name() const {
    return name_.Get();
  }
  inline void ProvideParamFloatRequest::_internal_set_name(const std::string& value) {
    
    name_.Set(value, GetArenaForAllocation());
  }
  inline std::string* ProvideParamFloatRequest::_internal_mutable_name() {
    
    return name_.Mutable(GetArenaForAllocation());
  }
  inline std::string* ProvideParamFloatRequest::release_name() {
    // @@protoc_insertion_point(field_release:mavsdk.rpc.param_server.ProvideParamFloatRequest.name)
    return name_.Release();
  }
  inline void ProvideParamFloatRequest::set_allocated_name(std::string* name) {
    if (name != nullptr) {
      
    } else {
      
    }
    name_.SetAllocated(name, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    if (name_.IsDefault()) {
      name_.Set("", GetArenaForAllocation());
    }
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
    // @@protoc_insertion_point(field_set_allocated:mavsdk.rpc.param_server.ProvideParamFloatRequest.name)
  }
  
  // float value = 2;
  inline void ProvideParamFloatRequest::clear_value() {
    value_ = 0;
  }
  inline float ProvideParamFloatRequest::_internal_value() const {
    return value_;
  }
  inline float ProvideParamFloatRequest::value() const {
    // @@protoc_insertion_point(field_get:mavsdk.rpc.param_server.ProvideParamFloatRequest.value)
    return _internal_value();
  }
  inline void ProvideParamFloatRequest::_internal_set_value(float value) {
    
    value_ = value;
  }
  inline void ProvideParamFloatRequest::set_value(float value) {
    _internal_set_value(value);
    // @@protoc_insertion_point(field_set:mavsdk.rpc.param_server.ProvideParamFloatRequest.value)
  }
  
  // -------------------------------------------------------------------
  
  // ProvideParamFloatResponse
  
  // .mavsdk.rpc.param_server.ParamServerResult param_server_result = 1;
  inline bool ProvideParamFloatResponse::_internal_has_param_server_result() const {
    return this != internal_default_instance() && param_server_result_ != nullptr;
  }
  inline bool ProvideParamFloatResponse::has_param_server_result() const {
    return _internal_has_param_server_result();
  }
  inline void ProvideParamFloatResponse::clear_param_server_result() {
    if (GetArenaForAllocation() == nullptr && param_server_result_ != nullptr) {
      delete param_server_result_;
    }
    param_server_result_ = nullptr;
  }
  inline const ::mavsdk::rpc::param_server::ParamServerResult& ProvideParamFloatResponse::_internal_param_server_result() const {
    const ::mavsdk::rpc::param_server::ParamServerResult* p = param_server_result_;
    return p != nullptr ? *p : reinterpret_cast<const ::mavsdk::rpc::param_server::ParamServerResult&>(
        ::mavsdk::rpc::param_server::_ParamServerResult_default_instance_);
  }
  inline const ::mavsdk::rpc::param_server::ParamServerResult& ProvideParamFloatResponse::param_server_result() const {
    // @@protoc_insertion_point(field_get:mavsdk.rpc.param_server.ProvideParamFloatResponse.param_server_result)
    return _internal_param_server_result();
  }
  inline void ProvideParamFloatResponse::unsafe_arena_set_allocated_param_server_result(
      ::mavsdk::rpc::param_server::ParamServerResult* param_server_result) {
    if (GetArenaForAllocation() == nullptr) {
      delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(param_server_result_);
    }
    param_server_result_ = param_server_result;
    if (param_server_result) {
      
    } else {
      
    }
    // @@protoc_insertion_point(field_unsafe_arena_set_allocated:mavsdk.rpc.param_server.ProvideParamFloatResponse.param_server_result)
  }
  inline ::mavsdk::rpc::param_server::ParamServerResult* ProvideParamFloatResponse::release_param_server_result() {
    
    ::mavsdk::rpc::param_server::ParamServerResult* temp = param_server_result_;
    param_server_result_ = nullptr;
  #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
    auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    if (GetArenaForAllocation() == nullptr) { delete old; }
  #else  // PROTOBUF_FORCE_COPY_IN_RELEASE
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
  #endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
    return temp;
  }
  inline ::mavsdk::rpc::param_server::ParamServerResult* ProvideParamFloatResponse::unsafe_arena_release_param_server_result() {
    // @@protoc_insertion_point(field_release:mavsdk.rpc.param_server.ProvideParamFloatResponse.param_server_result)
    
    ::mavsdk::rpc::param_server::ParamServerResult* temp = param_server_result_;
    param_server_result_ = nullptr;
    return temp;
  }
  inline ::mavsdk::rpc::param_server::ParamServerResult* ProvideParamFloatResponse::_internal_mutable_param_server_result() {
    
    if (param_server_result_ == nullptr) {
      auto* p = CreateMaybeMessage<::mavsdk::rpc::param_server::ParamServerResult>(GetArenaForAllocation());
      param_server_result_ = p;
    }
    return param_server_result_;
  }
  inline ::mavsdk::rpc::param_server::ParamServerResult* ProvideParamFloatResponse::mutable_param_server_result() {
    ::mavsdk::rpc::param_server::ParamServerResult* _msg = _internal_mutable_param_server_result();
    // @@protoc_insertion_point(field_mutable:mavsdk.rpc.param_server.ProvideParamFloatResponse.param_server_result)
    return _msg;
  }
  inline void ProvideParamFloatResponse::set_allocated_param_server_result(::mavsdk::rpc::param_server::ParamServerResult* param_server_result) {
    ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
    if (message_arena == nullptr) {
      delete param_server_result_;
    }
    if (param_server_result) {
      ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
          ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(param_server_result);
      if (message_arena != submessage_arena) {
        param_server_result = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
            message_arena, param_server_result, submessage_arena);
      }
      
    } else {
      
    }
    param_server_result_ = param_server_result;
    // @@protoc_insertion_point(field_set_allocated:mavsdk.rpc.param_server.ProvideParamFloatResponse.param_server_result)
  }
  
  // -------------------------------------------------------------------
  
  // RetrieveParamCustomRequest
  
  // string name = 1;
  inline void RetrieveParamCustomRequest::clear_name() {
    name_.ClearToEmpty();
  }
  inline const std::string& RetrieveParamCustomRequest::name() const {
    // @@protoc_insertion_point(field_get:mavsdk.rpc.param_server.RetrieveParamCustomRequest.name)
    return _internal_name();
  }
  template <typename ArgT0, typename... ArgT>
  inline PROTOBUF_ALWAYS_INLINE
  void RetrieveParamCustomRequest::set_name(ArgT0&& arg0, ArgT... args) {
   
   name_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
    // @@protoc_insertion_point(field_set:mavsdk.rpc.param_server.RetrieveParamCustomRequest.name)
  }
  inline std::string* RetrieveParamCustomRequest::mutable_name() {
    std::string* _s = _internal_mutable_name();
    // @@protoc_insertion_point(field_mutable:mavsdk.rpc.param_server.RetrieveParamCustomRequest.name)
    return _s;
  }
  inline const std::string& RetrieveParamCustomRequest::_internal_name() const {
    return name_.Get();
  }
  inline void RetrieveParamCustomRequest::_internal_set_name(const std::string& value) {
    
    name_.Set(value, GetArenaForAllocation());
  }
  inline std::string* RetrieveParamCustomRequest::_internal_mutable_name() {
    
    return name_.Mutable(GetArenaForAllocation());
  }
  inline std::string* RetrieveParamCustomRequest::release_name() {
    // @@protoc_insertion_point(field_release:mavsdk.rpc.param_server.RetrieveParamCustomRequest.name)
    return name_.Release();
  }
  inline void RetrieveParamCustomRequest::set_allocated_name(std::string* name) {
    if (name != nullptr) {
      
    } else {
      
    }
    name_.SetAllocated(name, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    if (name_.IsDefault()) {
      name_.Set("", GetArenaForAllocation());
    }
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
    // @@protoc_insertion_point(field_set_allocated:mavsdk.rpc.param_server.RetrieveParamCustomRequest.name)
  }
  
  // -------------------------------------------------------------------
  
  // RetrieveParamCustomResponse
  
  // .mavsdk.rpc.param_server.ParamServerResult param_server_result = 1;
  inline bool RetrieveParamCustomResponse::_internal_has_param_server_result() const {
    return this != internal_default_instance() && param_server_result_ != nullptr;
  }
  inline bool RetrieveParamCustomResponse::has_param_server_result() const {
    return _internal_has_param_server_result();
  }
  inline void RetrieveParamCustomResponse::clear_param_server_result() {
    if (GetArenaForAllocation() == nullptr && param_server_result_ != nullptr) {
      delete param_server_result_;
    }
    param_server_result_ = nullptr;
  }
  inline const ::mavsdk::rpc::param_server::ParamServerResult& RetrieveParamCustomResponse::_internal_param_server_result() const {
    const ::mavsdk::rpc::param_server::ParamServerResult* p = param_server_result_;
    return p != nullptr ? *p : reinterpret_cast<const ::mavsdk::rpc::param_server::ParamServerResult&>(
        ::mavsdk::rpc::param_server::_ParamServerResult_default_instance_);
  }
  inline const ::mavsdk::rpc::param_server::ParamServerResult& RetrieveParamCustomResponse::param_server_result() const {
    // @@protoc_insertion_point(field_get:mavsdk.rpc.param_server.RetrieveParamCustomResponse.param_server_result)
    return _internal_param_server_result();
  }
  inline void RetrieveParamCustomResponse::unsafe_arena_set_allocated_param_server_result(
      ::mavsdk::rpc::param_server::ParamServerResult* param_server_result) {
    if (GetArenaForAllocation() == nullptr) {
      delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(param_server_result_);
    }
    param_server_result_ = param_server_result;
    if (param_server_result) {
      
    } else {
      
    }
    // @@protoc_insertion_point(field_unsafe_arena_set_allocated:mavsdk.rpc.param_server.RetrieveParamCustomResponse.param_server_result)
  }
  inline ::mavsdk::rpc::param_server::ParamServerResult* RetrieveParamCustomResponse::release_param_server_result() {
    
    ::mavsdk::rpc::param_server::ParamServerResult* temp = param_server_result_;
    param_server_result_ = nullptr;
  #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
    auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    if (GetArenaForAllocation() == nullptr) { delete old; }
  #else  // PROTOBUF_FORCE_COPY_IN_RELEASE
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
  #endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
    return temp;
  }
  inline ::mavsdk::rpc::param_server::ParamServerResult* RetrieveParamCustomResponse::unsafe_arena_release_param_server_result() {
    // @@protoc_insertion_point(field_release:mavsdk.rpc.param_server.RetrieveParamCustomResponse.param_server_result)
    
    ::mavsdk::rpc::param_server::ParamServerResult* temp = param_server_result_;
    param_server_result_ = nullptr;
    return temp;
  }
  inline ::mavsdk::rpc::param_server::ParamServerResult* RetrieveParamCustomResponse::_internal_mutable_param_server_result() {
    
    if (param_server_result_ == nullptr) {
      auto* p = CreateMaybeMessage<::mavsdk::rpc::param_server::ParamServerResult>(GetArenaForAllocation());
      param_server_result_ = p;
    }
    return param_server_result_;
  }
  inline ::mavsdk::rpc::param_server::ParamServerResult* RetrieveParamCustomResponse::mutable_param_server_result() {
    ::mavsdk::rpc::param_server::ParamServerResult* _msg = _internal_mutable_param_server_result();
    // @@protoc_insertion_point(field_mutable:mavsdk.rpc.param_server.RetrieveParamCustomResponse.param_server_result)
    return _msg;
  }
  inline void RetrieveParamCustomResponse::set_allocated_param_server_result(::mavsdk::rpc::param_server::ParamServerResult* param_server_result) {
    ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
    if (message_arena == nullptr) {
      delete param_server_result_;
    }
    if (param_server_result) {
      ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
          ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(param_server_result);
      if (message_arena != submessage_arena) {
        param_server_result = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
            message_arena, param_server_result, submessage_arena);
      }
      
    } else {
      
    }
    param_server_result_ = param_server_result;
    // @@protoc_insertion_point(field_set_allocated:mavsdk.rpc.param_server.RetrieveParamCustomResponse.param_server_result)
  }
  
  // string value = 2;
  inline void RetrieveParamCustomResponse::clear_value() {
    value_.ClearToEmpty();
  }
  inline const std::string& RetrieveParamCustomResponse::value() const {
    // @@protoc_insertion_point(field_get:mavsdk.rpc.param_server.RetrieveParamCustomResponse.value)
    return _internal_value();
  }
  template <typename ArgT0, typename... ArgT>
  inline PROTOBUF_ALWAYS_INLINE
  void RetrieveParamCustomResponse::set_value(ArgT0&& arg0, ArgT... args) {
   
   value_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
    // @@protoc_insertion_point(field_set:mavsdk.rpc.param_server.RetrieveParamCustomResponse.value)
  }
  inline std::string* RetrieveParamCustomResponse::mutable_value() {
    std::string* _s = _internal_mutable_value();
    // @@protoc_insertion_point(field_mutable:mavsdk.rpc.param_server.RetrieveParamCustomResponse.value)
    return _s;
  }
  inline const std::string& RetrieveParamCustomResponse::_internal_value() const {
    return value_.Get();
  }
  inline void RetrieveParamCustomResponse::_internal_set_value(const std::string& value) {
    
    value_.Set(value, GetArenaForAllocation());
  }
  inline std::string* RetrieveParamCustomResponse::_internal_mutable_value() {
    
    return value_.Mutable(GetArenaForAllocation());
  }
  inline std::string* RetrieveParamCustomResponse::release_value() {
    // @@protoc_insertion_point(field_release:mavsdk.rpc.param_server.RetrieveParamCustomResponse.value)
    return value_.Release();
  }
  inline void RetrieveParamCustomResponse::set_allocated_value(std::string* value) {
    if (value != nullptr) {
      
    } else {
      
    }
    value_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    if (value_.IsDefault()) {
      value_.Set("", GetArenaForAllocation());
    }
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
    // @@protoc_insertion_point(field_set_allocated:mavsdk.rpc.param_server.RetrieveParamCustomResponse.value)
  }
  
  // -------------------------------------------------------------------
  
  // ProvideParamCustomRequest
  
  // string name = 1;
  inline void ProvideParamCustomRequest::clear_name() {
    name_.ClearToEmpty();
  }
  inline const std::string& ProvideParamCustomRequest::name() const {
    // @@protoc_insertion_point(field_get:mavsdk.rpc.param_server.ProvideParamCustomRequest.name)
    return _internal_name();
  }
  template <typename ArgT0, typename... ArgT>
  inline PROTOBUF_ALWAYS_INLINE
  void ProvideParamCustomRequest::set_name(ArgT0&& arg0, ArgT... args) {
   
   name_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
    // @@protoc_insertion_point(field_set:mavsdk.rpc.param_server.ProvideParamCustomRequest.name)
  }
  inline std::string* ProvideParamCustomRequest::mutable_name() {
    std::string* _s = _internal_mutable_name();
    // @@protoc_insertion_point(field_mutable:mavsdk.rpc.param_server.ProvideParamCustomRequest.name)
    return _s;
  }
  inline const std::string& ProvideParamCustomRequest::_internal_name() const {
    return name_.Get();
  }
  inline void ProvideParamCustomRequest::_internal_set_name(const std::string& value) {
    
    name_.Set(value, GetArenaForAllocation());
  }
  inline std::string* ProvideParamCustomRequest::_internal_mutable_name() {
    
    return name_.Mutable(GetArenaForAllocation());
  }
  inline std::string* ProvideParamCustomRequest::release_name() {
    // @@protoc_insertion_point(field_release:mavsdk.rpc.param_server.ProvideParamCustomRequest.name)
    return name_.Release();
  }
  inline void ProvideParamCustomRequest::set_allocated_name(std::string* name) {
    if (name != nullptr) {
      
    } else {
      
    }
    name_.SetAllocated(name, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    if (name_.IsDefault()) {
      name_.Set("", GetArenaForAllocation());
    }
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
    // @@protoc_insertion_point(field_set_allocated:mavsdk.rpc.param_server.ProvideParamCustomRequest.name)
  }
  
  // string value = 2;
  inline void ProvideParamCustomRequest::clear_value() {
    value_.ClearToEmpty();
  }
  inline const std::string& ProvideParamCustomRequest::value() const {
    // @@protoc_insertion_point(field_get:mavsdk.rpc.param_server.ProvideParamCustomRequest.value)
    return _internal_value();
  }
  template <typename ArgT0, typename... ArgT>
  inline PROTOBUF_ALWAYS_INLINE
  void ProvideParamCustomRequest::set_value(ArgT0&& arg0, ArgT... args) {
   
   value_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
    // @@protoc_insertion_point(field_set:mavsdk.rpc.param_server.ProvideParamCustomRequest.value)
  }
  inline std::string* ProvideParamCustomRequest::mutable_value() {
    std::string* _s = _internal_mutable_value();
    // @@protoc_insertion_point(field_mutable:mavsdk.rpc.param_server.ProvideParamCustomRequest.value)
    return _s;
  }
  inline const std::string& ProvideParamCustomRequest::_internal_value() const {
    return value_.Get();
  }
  inline void ProvideParamCustomRequest::_internal_set_value(const std::string& value) {
    
    value_.Set(value, GetArenaForAllocation());
  }
  inline std::string* ProvideParamCustomRequest::_internal_mutable_value() {
    
    return value_.Mutable(GetArenaForAllocation());
  }
  inline std::string* ProvideParamCustomRequest::release_value() {
    // @@protoc_insertion_point(field_release:mavsdk.rpc.param_server.ProvideParamCustomRequest.value)
    return value_.Release();
  }
  inline void ProvideParamCustomRequest::set_allocated_value(std::string* value) {
    if (value != nullptr) {
      
    } else {
      
    }
    value_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    if (value_.IsDefault()) {
      value_.Set("", GetArenaForAllocation());
    }
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
    // @@protoc_insertion_point(field_set_allocated:mavsdk.rpc.param_server.ProvideParamCustomRequest.value)
  }
  
  // -------------------------------------------------------------------
  
  // ProvideParamCustomResponse
  
  // .mavsdk.rpc.param_server.ParamServerResult param_server_result = 1;
  inline bool ProvideParamCustomResponse::_internal_has_param_server_result() const {
    return this != internal_default_instance() && param_server_result_ != nullptr;
  }
  inline bool ProvideParamCustomResponse::has_param_server_result() const {
    return _internal_has_param_server_result();
  }
  inline void ProvideParamCustomResponse::clear_param_server_result() {
    if (GetArenaForAllocation() == nullptr && param_server_result_ != nullptr) {
      delete param_server_result_;
    }
    param_server_result_ = nullptr;
  }
  inline const ::mavsdk::rpc::param_server::ParamServerResult& ProvideParamCustomResponse::_internal_param_server_result() const {
    const ::mavsdk::rpc::param_server::ParamServerResult* p = param_server_result_;
    return p != nullptr ? *p : reinterpret_cast<const ::mavsdk::rpc::param_server::ParamServerResult&>(
        ::mavsdk::rpc::param_server::_ParamServerResult_default_instance_);
  }
  inline const ::mavsdk::rpc::param_server::ParamServerResult& ProvideParamCustomResponse::param_server_result() const {
    // @@protoc_insertion_point(field_get:mavsdk.rpc.param_server.ProvideParamCustomResponse.param_server_result)
    return _internal_param_server_result();
  }
  inline void ProvideParamCustomResponse::unsafe_arena_set_allocated_param_server_result(
      ::mavsdk::rpc::param_server::ParamServerResult* param_server_result) {
    if (GetArenaForAllocation() == nullptr) {
      delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(param_server_result_);
    }
    param_server_result_ = param_server_result;
    if (param_server_result) {
      
    } else {
      
    }
    // @@protoc_insertion_point(field_unsafe_arena_set_allocated:mavsdk.rpc.param_server.ProvideParamCustomResponse.param_server_result)
  }
  inline ::mavsdk::rpc::param_server::ParamServerResult* ProvideParamCustomResponse::release_param_server_result() {
    
    ::mavsdk::rpc::param_server::ParamServerResult* temp = param_server_result_;
    param_server_result_ = nullptr;
  #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
    auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    if (GetArenaForAllocation() == nullptr) { delete old; }
  #else  // PROTOBUF_FORCE_COPY_IN_RELEASE
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
  #endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
    return temp;
  }
  inline ::mavsdk::rpc::param_server::ParamServerResult* ProvideParamCustomResponse::unsafe_arena_release_param_server_result() {
    // @@protoc_insertion_point(field_release:mavsdk.rpc.param_server.ProvideParamCustomResponse.param_server_result)
    
    ::mavsdk::rpc::param_server::ParamServerResult* temp = param_server_result_;
    param_server_result_ = nullptr;
    return temp;
  }
  inline ::mavsdk::rpc::param_server::ParamServerResult* ProvideParamCustomResponse::_internal_mutable_param_server_result() {
    
    if (param_server_result_ == nullptr) {
      auto* p = CreateMaybeMessage<::mavsdk::rpc::param_server::ParamServerResult>(GetArenaForAllocation());
      param_server_result_ = p;
    }
    return param_server_result_;
  }
  inline ::mavsdk::rpc::param_server::ParamServerResult* ProvideParamCustomResponse::mutable_param_server_result() {
    ::mavsdk::rpc::param_server::ParamServerResult* _msg = _internal_mutable_param_server_result();
    // @@protoc_insertion_point(field_mutable:mavsdk.rpc.param_server.ProvideParamCustomResponse.param_server_result)
    return _msg;
  }
  inline void ProvideParamCustomResponse::set_allocated_param_server_result(::mavsdk::rpc::param_server::ParamServerResult* param_server_result) {
    ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
    if (message_arena == nullptr) {
      delete param_server_result_;
    }
    if (param_server_result) {
      ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
          ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(param_server_result);
      if (message_arena != submessage_arena) {
        param_server_result = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
            message_arena, param_server_result, submessage_arena);
      }
      
    } else {
      
    }
    param_server_result_ = param_server_result;
    // @@protoc_insertion_point(field_set_allocated:mavsdk.rpc.param_server.ProvideParamCustomResponse.param_server_result)
  }
  
  // -------------------------------------------------------------------
  
  // RetrieveAllParamsRequest
  
  // -------------------------------------------------------------------
  
  // RetrieveAllParamsResponse
  
  // .mavsdk.rpc.param_server.AllParams params = 1;
  inline bool RetrieveAllParamsResponse::_internal_has_params() const {
    return this != internal_default_instance() && params_ != nullptr;
  }
  inline bool RetrieveAllParamsResponse::has_params() const {
    return _internal_has_params();
  }
  inline void RetrieveAllParamsResponse::clear_params() {
    if (GetArenaForAllocation() == nullptr && params_ != nullptr) {
      delete params_;
    }
    params_ = nullptr;
  }
  inline const ::mavsdk::rpc::param_server::AllParams& RetrieveAllParamsResponse::_internal_params() const {
    const ::mavsdk::rpc::param_server::AllParams* p = params_;
    return p != nullptr ? *p : reinterpret_cast<const ::mavsdk::rpc::param_server::AllParams&>(
        ::mavsdk::rpc::param_server::_AllParams_default_instance_);
  }
  inline const ::mavsdk::rpc::param_server::AllParams& RetrieveAllParamsResponse::params() const {
    // @@protoc_insertion_point(field_get:mavsdk.rpc.param_server.RetrieveAllParamsResponse.params)
    return _internal_params();
  }
  inline void RetrieveAllParamsResponse::unsafe_arena_set_allocated_params(
      ::mavsdk::rpc::param_server::AllParams* params) {
    if (GetArenaForAllocation() == nullptr) {
      delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(params_);
    }
    params_ = params;
    if (params) {
      
    } else {
      
    }
    // @@protoc_insertion_point(field_unsafe_arena_set_allocated:mavsdk.rpc.param_server.RetrieveAllParamsResponse.params)
  }
  inline ::mavsdk::rpc::param_server::AllParams* RetrieveAllParamsResponse::release_params() {
    
    ::mavsdk::rpc::param_server::AllParams* temp = params_;
    params_ = nullptr;
  #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
    auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    if (GetArenaForAllocation() == nullptr) { delete old; }
  #else  // PROTOBUF_FORCE_COPY_IN_RELEASE
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
  #endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
    return temp;
  }
  inline ::mavsdk::rpc::param_server::AllParams* RetrieveAllParamsResponse::unsafe_arena_release_params() {
    // @@protoc_insertion_point(field_release:mavsdk.rpc.param_server.RetrieveAllParamsResponse.params)
    
    ::mavsdk::rpc::param_server::AllParams* temp = params_;
    params_ = nullptr;
    return temp;
  }
  inline ::mavsdk::rpc::param_server::AllParams* RetrieveAllParamsResponse::_internal_mutable_params() {
    
    if (params_ == nullptr) {
      auto* p = CreateMaybeMessage<::mavsdk::rpc::param_server::AllParams>(GetArenaForAllocation());
      params_ = p;
    }
    return params_;
  }
  inline ::mavsdk::rpc::param_server::AllParams* RetrieveAllParamsResponse::mutable_params() {
    ::mavsdk::rpc::param_server::AllParams* _msg = _internal_mutable_params();
    // @@protoc_insertion_point(field_mutable:mavsdk.rpc.param_server.RetrieveAllParamsResponse.params)
    return _msg;
  }
  inline void RetrieveAllParamsResponse::set_allocated_params(::mavsdk::rpc::param_server::AllParams* params) {
    ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
    if (message_arena == nullptr) {
      delete params_;
    }
    if (params) {
      ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
          ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(params);
      if (message_arena != submessage_arena) {
        params = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
            message_arena, params, submessage_arena);
      }
      
    } else {
      
    }
    params_ = params;
    // @@protoc_insertion_point(field_set_allocated:mavsdk.rpc.param_server.RetrieveAllParamsResponse.params)
  }
  
  // -------------------------------------------------------------------
  
  // IntParam
  
  // string name = 1;
  inline void IntParam::clear_name() {
    name_.ClearToEmpty();
  }
  inline const std::string& IntParam::name() const {
    // @@protoc_insertion_point(field_get:mavsdk.rpc.param_server.IntParam.name)
    return _internal_name();
  }
  template <typename ArgT0, typename... ArgT>
  inline PROTOBUF_ALWAYS_INLINE
  void IntParam::set_name(ArgT0&& arg0, ArgT... args) {
   
   name_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
    // @@protoc_insertion_point(field_set:mavsdk.rpc.param_server.IntParam.name)
  }
  inline std::string* IntParam::mutable_name() {
    std::string* _s = _internal_mutable_name();
    // @@protoc_insertion_point(field_mutable:mavsdk.rpc.param_server.IntParam.name)
    return _s;
  }
  inline const std::string& IntParam::_internal_name() const {
    return name_.Get();
  }
  inline void IntParam::_internal_set_name(const std::string& value) {
    
    name_.Set(value, GetArenaForAllocation());
  }
  inline std::string* IntParam::_internal_mutable_name() {
    
    return name_.Mutable(GetArenaForAllocation());
  }
  inline std::string* IntParam::release_name() {
    // @@protoc_insertion_point(field_release:mavsdk.rpc.param_server.IntParam.name)
    return name_.Release();
  }
  inline void IntParam::set_allocated_name(std::string* name) {
    if (name != nullptr) {
      
    } else {
      
    }
    name_.SetAllocated(name, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    if (name_.IsDefault()) {
      name_.Set("", GetArenaForAllocation());
    }
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
    // @@protoc_insertion_point(field_set_allocated:mavsdk.rpc.param_server.IntParam.name)
  }
  
  // int32 value = 2;
  inline void IntParam::clear_value() {
    value_ = 0;
  }
  inline int32_t IntParam::_internal_value() const {
    return value_;
  }
  inline int32_t IntParam::value() const {
    // @@protoc_insertion_point(field_get:mavsdk.rpc.param_server.IntParam.value)
    return _internal_value();
  }
  inline void IntParam::_internal_set_value(int32_t value) {
    
    value_ = value;
  }
  inline void IntParam::set_value(int32_t value) {
    _internal_set_value(value);
    // @@protoc_insertion_point(field_set:mavsdk.rpc.param_server.IntParam.value)
  }
  
  // -------------------------------------------------------------------
  
  // FloatParam
  
  // string name = 1;
  inline void FloatParam::clear_name() {
    name_.ClearToEmpty();
  }
  inline const std::string& FloatParam::name() const {
    // @@protoc_insertion_point(field_get:mavsdk.rpc.param_server.FloatParam.name)
    return _internal_name();
  }
  template <typename ArgT0, typename... ArgT>
  inline PROTOBUF_ALWAYS_INLINE
  void FloatParam::set_name(ArgT0&& arg0, ArgT... args) {
   
   name_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
    // @@protoc_insertion_point(field_set:mavsdk.rpc.param_server.FloatParam.name)
  }
  inline std::string* FloatParam::mutable_name() {
    std::string* _s = _internal_mutable_name();
    // @@protoc_insertion_point(field_mutable:mavsdk.rpc.param_server.FloatParam.name)
    return _s;
  }
  inline const std::string& FloatParam::_internal_name() const {
    return name_.Get();
  }
  inline void FloatParam::_internal_set_name(const std::string& value) {
    
    name_.Set(value, GetArenaForAllocation());
  }
  inline std::string* FloatParam::_internal_mutable_name() {
    
    return name_.Mutable(GetArenaForAllocation());
  }
  inline std::string* FloatParam::release_name() {
    // @@protoc_insertion_point(field_release:mavsdk.rpc.param_server.FloatParam.name)
    return name_.Release();
  }
  inline void FloatParam::set_allocated_name(std::string* name) {
    if (name != nullptr) {
      
    } else {
      
    }
    name_.SetAllocated(name, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    if (name_.IsDefault()) {
      name_.Set("", GetArenaForAllocation());
    }
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
    // @@protoc_insertion_point(field_set_allocated:mavsdk.rpc.param_server.FloatParam.name)
  }
  
  // float value = 2;
  inline void FloatParam::clear_value() {
    value_ = 0;
  }
  inline float FloatParam::_internal_value() const {
    return value_;
  }
  inline float FloatParam::value() const {
    // @@protoc_insertion_point(field_get:mavsdk.rpc.param_server.FloatParam.value)
    return _internal_value();
  }
  inline void FloatParam::_internal_set_value(float value) {
    
    value_ = value;
  }
  inline void FloatParam::set_value(float value) {
    _internal_set_value(value);
    // @@protoc_insertion_point(field_set:mavsdk.rpc.param_server.FloatParam.value)
  }
  
  // -------------------------------------------------------------------
  
  // CustomParam
  
  // string name = 1;
  inline void CustomParam::clear_name() {
    name_.ClearToEmpty();
  }
  inline const std::string& CustomParam::name() const {
    // @@protoc_insertion_point(field_get:mavsdk.rpc.param_server.CustomParam.name)
    return _internal_name();
  }
  template <typename ArgT0, typename... ArgT>
  inline PROTOBUF_ALWAYS_INLINE
  void CustomParam::set_name(ArgT0&& arg0, ArgT... args) {
   
   name_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
    // @@protoc_insertion_point(field_set:mavsdk.rpc.param_server.CustomParam.name)
  }
  inline std::string* CustomParam::mutable_name() {
    std::string* _s = _internal_mutable_name();
    // @@protoc_insertion_point(field_mutable:mavsdk.rpc.param_server.CustomParam.name)
    return _s;
  }
  inline const std::string& CustomParam::_internal_name() const {
    return name_.Get();
  }
  inline void CustomParam::_internal_set_name(const std::string& value) {
    
    name_.Set(value, GetArenaForAllocation());
  }
  inline std::string* CustomParam::_internal_mutable_name() {
    
    return name_.Mutable(GetArenaForAllocation());
  }
  inline std::string* CustomParam::release_name() {
    // @@protoc_insertion_point(field_release:mavsdk.rpc.param_server.CustomParam.name)
    return name_.Release();
  }
  inline void CustomParam::set_allocated_name(std::string* name) {
    if (name != nullptr) {
      
    } else {
      
    }
    name_.SetAllocated(name, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    if (name_.IsDefault()) {
      name_.Set("", GetArenaForAllocation());
    }
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
    // @@protoc_insertion_point(field_set_allocated:mavsdk.rpc.param_server.CustomParam.name)
  }
  
  // string value = 2;
  inline void CustomParam::clear_value() {
    value_.ClearToEmpty();
  }
  inline const std::string& CustomParam::value() const {
    // @@protoc_insertion_point(field_get:mavsdk.rpc.param_server.CustomParam.value)
    return _internal_value();
  }
  template <typename ArgT0, typename... ArgT>
  inline PROTOBUF_ALWAYS_INLINE
  void CustomParam::set_value(ArgT0&& arg0, ArgT... args) {
   
   value_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
    // @@protoc_insertion_point(field_set:mavsdk.rpc.param_server.CustomParam.value)
  }
  inline std::string* CustomParam::mutable_value() {
    std::string* _s = _internal_mutable_value();
    // @@protoc_insertion_point(field_mutable:mavsdk.rpc.param_server.CustomParam.value)
    return _s;
  }
  inline const std::string& CustomParam::_internal_value() const {
    return value_.Get();
  }
  inline void CustomParam::_internal_set_value(const std::string& value) {
    
    value_.Set(value, GetArenaForAllocation());
  }
  inline std::string* CustomParam::_internal_mutable_value() {
    
    return value_.Mutable(GetArenaForAllocation());
  }
  inline std::string* CustomParam::release_value() {
    // @@protoc_insertion_point(field_release:mavsdk.rpc.param_server.CustomParam.value)
    return value_.Release();
  }
  inline void CustomParam::set_allocated_value(std::string* value) {
    if (value != nullptr) {
      
    } else {
      
    }
    value_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    if (value_.IsDefault()) {
      value_.Set("", GetArenaForAllocation());
    }
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
    // @@protoc_insertion_point(field_set_allocated:mavsdk.rpc.param_server.CustomParam.value)
  }
  
  // -------------------------------------------------------------------
  
  // AllParams
  
  // repeated .mavsdk.rpc.param_server.IntParam int_params = 1;
  inline int AllParams::_internal_int_params_size() const {
    return int_params_.size();
  }
  inline int AllParams::int_params_size() const {
    return _internal_int_params_size();
  }
  inline void AllParams::clear_int_params() {
    int_params_.Clear();
  }
  inline ::mavsdk::rpc::param_server::IntParam* AllParams::mutable_int_params(int index) {
    // @@protoc_insertion_point(field_mutable:mavsdk.rpc.param_server.AllParams.int_params)
    return int_params_.Mutable(index);
  }
  inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::mavsdk::rpc::param_server::IntParam >*
  AllParams::mutable_int_params() {
    // @@protoc_insertion_point(field_mutable_list:mavsdk.rpc.param_server.AllParams.int_params)
    return &int_params_;
  }
  inline const ::mavsdk::rpc::param_server::IntParam& AllParams::_internal_int_params(int index) const {
    return int_params_.Get(index);
  }
  inline const ::mavsdk::rpc::param_server::IntParam& AllParams::int_params(int index) const {
    // @@protoc_insertion_point(field_get:mavsdk.rpc.param_server.AllParams.int_params)
    return _internal_int_params(index);
  }
  inline ::mavsdk::rpc::param_server::IntParam* AllParams::_internal_add_int_params() {
    return int_params_.Add();
  }
  inline ::mavsdk::rpc::param_server::IntParam* AllParams::add_int_params() {
    ::mavsdk::rpc::param_server::IntParam* _add = _internal_add_int_params();
    // @@protoc_insertion_point(field_add:mavsdk.rpc.param_server.AllParams.int_params)
    return _add;
  }
  inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::mavsdk::rpc::param_server::IntParam >&
  AllParams::int_params() const {
    // @@protoc_insertion_point(field_list:mavsdk.rpc.param_server.AllParams.int_params)
    return int_params_;
  }
  
  // repeated .mavsdk.rpc.param_server.FloatParam float_params = 2;
  inline int AllParams::_internal_float_params_size() const {
    return float_params_.size();
  }
  inline int AllParams::float_params_size() const {
    return _internal_float_params_size();
  }
  inline void AllParams::clear_float_params() {
    float_params_.Clear();
  }
  inline ::mavsdk::rpc::param_server::FloatParam* AllParams::mutable_float_params(int index) {
    // @@protoc_insertion_point(field_mutable:mavsdk.rpc.param_server.AllParams.float_params)
    return float_params_.Mutable(index);
  }
  inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::mavsdk::rpc::param_server::FloatParam >*
  AllParams::mutable_float_params() {
    // @@protoc_insertion_point(field_mutable_list:mavsdk.rpc.param_server.AllParams.float_params)
    return &float_params_;
  }
  inline const ::mavsdk::rpc::param_server::FloatParam& AllParams::_internal_float_params(int index) const {
    return float_params_.Get(index);
  }
  inline const ::mavsdk::rpc::param_server::FloatParam& AllParams::float_params(int index) const {
    // @@protoc_insertion_point(field_get:mavsdk.rpc.param_server.AllParams.float_params)
    return _internal_float_params(index);
  }
  inline ::mavsdk::rpc::param_server::FloatParam* AllParams::_internal_add_float_params() {
    return float_params_.Add();
  }
  inline ::mavsdk::rpc::param_server::FloatParam* AllParams::add_float_params() {
    ::mavsdk::rpc::param_server::FloatParam* _add = _internal_add_float_params();
    // @@protoc_insertion_point(field_add:mavsdk.rpc.param_server.AllParams.float_params)
    return _add;
  }
  inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::mavsdk::rpc::param_server::FloatParam >&
  AllParams::float_params() const {
    // @@protoc_insertion_point(field_list:mavsdk.rpc.param_server.AllParams.float_params)
    return float_params_;
  }
  
  // repeated .mavsdk.rpc.param_server.CustomParam custom_params = 3;
  inline int AllParams::_internal_custom_params_size() const {
    return custom_params_.size();
  }
  inline int AllParams::custom_params_size() const {
    return _internal_custom_params_size();
  }
  inline void AllParams::clear_custom_params() {
    custom_params_.Clear();
  }
  inline ::mavsdk::rpc::param_server::CustomParam* AllParams::mutable_custom_params(int index) {
    // @@protoc_insertion_point(field_mutable:mavsdk.rpc.param_server.AllParams.custom_params)
    return custom_params_.Mutable(index);
  }
  inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::mavsdk::rpc::param_server::CustomParam >*
  AllParams::mutable_custom_params() {
    // @@protoc_insertion_point(field_mutable_list:mavsdk.rpc.param_server.AllParams.custom_params)
    return &custom_params_;
  }
  inline const ::mavsdk::rpc::param_server::CustomParam& AllParams::_internal_custom_params(int index) const {
    return custom_params_.Get(index);
  }
  inline const ::mavsdk::rpc::param_server::CustomParam& AllParams::custom_params(int index) const {
    // @@protoc_insertion_point(field_get:mavsdk.rpc.param_server.AllParams.custom_params)
    return _internal_custom_params(index);
  }
  inline ::mavsdk::rpc::param_server::CustomParam* AllParams::_internal_add_custom_params() {
    return custom_params_.Add();
  }
  inline ::mavsdk::rpc::param_server::CustomParam* AllParams::add_custom_params() {
    ::mavsdk::rpc::param_server::CustomParam* _add = _internal_add_custom_params();
    // @@protoc_insertion_point(field_add:mavsdk.rpc.param_server.AllParams.custom_params)
    return _add;
  }
  inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::mavsdk::rpc::param_server::CustomParam >&
  AllParams::custom_params() const {
    // @@protoc_insertion_point(field_list:mavsdk.rpc.param_server.AllParams.custom_params)
    return custom_params_;
  }
  
  // -------------------------------------------------------------------
  
  // ParamServerResult
  
  // .mavsdk.rpc.param_server.ParamServerResult.Result result = 1;
  inline void ParamServerResult::clear_result() {
    result_ = 0;
  }
  inline ::mavsdk::rpc::param_server::ParamServerResult_Result ParamServerResult::_internal_result() const {
    return static_cast< ::mavsdk::rpc::param_server::ParamServerResult_Result >(result_);
  }
  inline ::mavsdk::rpc::param_server::ParamServerResult_Result ParamServerResult::result() const {
    // @@protoc_insertion_point(field_get:mavsdk.rpc.param_server.ParamServerResult.result)
    return _internal_result();
  }
  inline void ParamServerResult::_internal_set_result(::mavsdk::rpc::param_server::ParamServerResult_Result value) {
    
    result_ = value;
  }
  inline void ParamServerResult::set_result(::mavsdk::rpc::param_server::ParamServerResult_Result value) {
    _internal_set_result(value);
    // @@protoc_insertion_point(field_set:mavsdk.rpc.param_server.ParamServerResult.result)
  }
  
  // string result_str = 2;
  inline void ParamServerResult::clear_result_str() {
    result_str_.ClearToEmpty();
  }
  inline const std::string& ParamServerResult::result_str() const {
    // @@protoc_insertion_point(field_get:mavsdk.rpc.param_server.ParamServerResult.result_str)
    return _internal_result_str();
  }
  template <typename ArgT0, typename... ArgT>
  inline PROTOBUF_ALWAYS_INLINE
  void ParamServerResult::set_result_str(ArgT0&& arg0, ArgT... args) {
   
   result_str_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
    // @@protoc_insertion_point(field_set:mavsdk.rpc.param_server.ParamServerResult.result_str)
  }
  inline std::string* ParamServerResult::mutable_result_str() {
    std::string* _s = _internal_mutable_result_str();
    // @@protoc_insertion_point(field_mutable:mavsdk.rpc.param_server.ParamServerResult.result_str)
    return _s;
  }
  inline const std::string& ParamServerResult::_internal_result_str() const {
    return result_str_.Get();
  }
  inline void ParamServerResult::_internal_set_result_str(const std::string& value) {
    
    result_str_.Set(value, GetArenaForAllocation());
  }
  inline std::string* ParamServerResult::_internal_mutable_result_str() {
    
    return result_str_.Mutable(GetArenaForAllocation());
  }
  inline std::string* ParamServerResult::release_result_str() {
    // @@protoc_insertion_point(field_release:mavsdk.rpc.param_server.ParamServerResult.result_str)
    return result_str_.Release();
  }
  inline void ParamServerResult::set_allocated_result_str(std::string* result_str) {
    if (result_str != nullptr) {
      
    } else {
      
    }
    result_str_.SetAllocated(result_str, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    if (result_str_.IsDefault()) {
      result_str_.Set("", GetArenaForAllocation());
    }
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
    // @@protoc_insertion_point(field_set_allocated:mavsdk.rpc.param_server.ParamServerResult.result_str)
  }
  
  #ifdef __GNUC__
    #pragma GCC diagnostic pop
  #endif  // __GNUC__
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  
  // @@protoc_insertion_point(namespace_scope)
  
  }  // namespace param_server
  }  // namespace rpc
  }  // namespace mavsdk
  
  PROTOBUF_NAMESPACE_OPEN
  
  template <> struct is_proto_enum< ::mavsdk::rpc::param_server::ParamServerResult_Result> : ::std::true_type {};
  template <>
  inline const EnumDescriptor* GetEnumDescriptor< ::mavsdk::rpc::param_server::ParamServerResult_Result>() {
    return ::mavsdk::rpc::param_server::ParamServerResult_Result_descriptor();
  }
  
  PROTOBUF_NAMESPACE_CLOSE
  
  // @@protoc_insertion_point(global_scope)
  
  #include <google/protobuf/port_undef.inc>
  #endif  // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_param_5fserver_2fparam_5fserver_2eproto
  