
 

// This file is autogenerated. DO NOT EDIT

#pragma once
#include <robotpy_build.h>


#include <networktables/NTSendableBuilder.h>




#include <rpygen/wpi__SendableBuilder.hpp>

namespace rpygen {

using namespace nt;


template <typename CfgBase>
using PyTrampolineCfgBase_nt__NTSendableBuilder =
    PyTrampolineCfg_wpi__SendableBuilder<
CfgBase
>;

template <typename CfgBase = EmptyTrampolineCfg>
struct PyTrampolineCfg_nt__NTSendableBuilder :
    PyTrampolineCfgBase_nt__NTSendableBuilder< CfgBase>
{
    using Base = nt::NTSendableBuilder;

    using override_base_SetUpdateTable_Tfunction_void___ = nt::NTSendableBuilder;
    using override_base_GetEntry_Tstring_view = nt::NTSendableBuilder;
    using override_base_AddValueProperty_Tstring_view_Tshared_ptr_Value_____Tshared_ptr_Value___ = nt::NTSendableBuilder;
    using override_base_GetTable_v = nt::NTSendableBuilder;
};


template <typename PyTrampolineBase, typename PyTrampolineCfg>
using PyTrampolineBase_nt__NTSendableBuilder =
    PyTrampoline_wpi__SendableBuilder<
        PyTrampolineBase
        
        , PyTrampolineCfg
    >
;

template <typename PyTrampolineBase, typename PyTrampolineCfg>
struct PyTrampoline_nt__NTSendableBuilder : PyTrampolineBase_nt__NTSendableBuilder<PyTrampolineBase, PyTrampolineCfg> {
    using PyTrampolineBase_nt__NTSendableBuilder<PyTrampolineBase, PyTrampolineCfg>::PyTrampolineBase_nt__NTSendableBuilder;



#ifndef RPYGEN_DISABLE_SetUpdateTable_Tfunction_void___
    void SetUpdateTable(std::function<void ( )> func) override {
        using LookupBase = typename PyTrampolineCfg::Base;
        RPYBUILD_OVERRIDE_PURE_NAME(NTSendableBuilder, PYBIND11_TYPE(void), LookupBase,
            "setUpdateTable", SetUpdateTable, func);
    }
#endif

#ifndef RPYGEN_DISABLE_GetEntry_Tstring_view
    NetworkTableEntry GetEntry(std::string_view key) override {
        using LookupBase = typename PyTrampolineCfg::Base;
        RPYBUILD_OVERRIDE_PURE_NAME(NTSendableBuilder, PYBIND11_TYPE(NetworkTableEntry), LookupBase,
            "getEntry", GetEntry, key);
    }
#endif

#ifndef RPYGEN_DISABLE_AddValueProperty_Tstring_view_Tshared_ptr_Value_____Tshared_ptr_Value___
    void AddValueProperty(std::string_view key, std::function<std::shared_ptr<Value> ( )> getter, std::function<void ( std::shared_ptr<Value> )> setter) override {
        using LookupBase = typename PyTrampolineCfg::Base;
        RPYBUILD_OVERRIDE_PURE_NAME(NTSendableBuilder, PYBIND11_TYPE(void), LookupBase,
            "addValueProperty", AddValueProperty, key, getter, setter);
    }
#endif

#ifndef RPYGEN_DISABLE_GetTable_v
    std::shared_ptr<NetworkTable > GetTable() override {
        using LookupBase = typename PyTrampolineCfg::Base;
        RPYBUILD_OVERRIDE_PURE_NAME(NTSendableBuilder, PYBIND11_TYPE(std::shared_ptr<NetworkTable >), LookupBase,
            "getTable", GetTable, );
    }
#endif




};

}; // namespace rpygen
