14#ifndef OPENVPN_TUN_CLIENT_TUNBASE_H
15#define OPENVPN_TUN_CLIENT_TUNBASE_H
Reference count base class for objects tracked by RCPtr. Disallows copying and assignment.
constexpr std::uint32_t INVALID_ADAPTER_INDEX
virtual bool layer_2_supported() const
virtual void finalize(const bool disconnected)
virtual TunClient::Ptr new_tun_client_obj(openvpn_io::io_context &io_context, TunClientParent &parent, TransportClient *transcli)=0
RCPtr< TunClientFactory > Ptr
virtual bool supports_epoch_data()=0
virtual ~TunClientParent()=default
virtual void tun_error(const Error::Type fatal_err, const std::string &err_text)=0
virtual void tun_event(ClientEvent::Base::Ptr ev)
virtual void tun_pre_route_config()=0
virtual void tun_connected()=0
virtual void tun_pre_tun_config()=0
virtual void tun_recv(BufferAllocated &buf)=0
virtual std::string vpn_gw6() const
virtual std::string vpn_ip4() const =0
virtual std::string tun_name() const =0
virtual int vpn_mtu() const =0
virtual void adjust_mss(int mss)
virtual void apply_push_update(const OptionList &opt, TransportClient &cli)
Notifies tun client about received PUSH_UPDATE control channel message.
virtual std::uint32_t vpn_interface_index() const
virtual void set_disconnect()=0
virtual void tun_start(const OptionList &, TransportClient &, CryptoDCSettings &)=0
virtual std::string vpn_gw4() const
virtual bool tun_send(BufferAllocated &buf)=0
virtual std::string vpn_ip6() const =0