OpenVPN 3 Core Library
Loading...
Searching...
No Matches
openvpn::TunLinuxSetup::Setup< TUNMETHODS > Class Template Reference

#include <tunsetup.hpp>

Inheritance diagram for openvpn::TunLinuxSetup::Setup< TUNMETHODS >:
[legend]
Collaboration diagram for openvpn::TunLinuxSetup::Setup< TUNMETHODS >:
[legend]

Classes

struct  Config
 

Public Types

typedef RCPtr< SetupPtr
 
- Public Types inherited from openvpn::TunBuilderSetup::Base
typedef RCPtr< BasePtr
 
- Public Types inherited from openvpn::DestructorBase
typedef RCPtr< DestructorBasePtr
 
- Public Types inherited from openvpn::RC< thread_unsafe_refcount >
typedef RCPtr< RCPtr
 

Public Member Functions

 Setup ()
 
void destroy (std::ostream &os) override
 
bool add_bypass_route (const std::string &address, bool ipv6, std::ostream &os)
 
int establish (const TunBuilderCapture &pull, TunBuilderSetup::Config *config, Stop *stop, std::ostream &os) override
 
- Public Member Functions inherited from openvpn::DestructorBase
virtual ~DestructorBase ()=default
 
- Public Member Functions inherited from openvpn::RC< thread_unsafe_refcount >
 RC () noexcept=default
 
 RC (const RC &)=delete
 
virtual ~RC ()=default
 
RCoperator= (const RC &)=delete
 
olong use_count () const noexcept
 Delegates call to RCImpl and returns the result.
 

Private Member Functions

int open_tun (Config *conf)
 
void open_unit (const std::string &name, struct ifreq &ifr, ScopedFD &fd)
 

Private Attributes

ActionList::Ptr remove_cmds_bypass_gw = new ActionList()
 
ActionListReversed::Ptr remove_cmds = new ActionListReversed()
 
std::string connected_gw
 
std::string tun_iface_name
 

Additional Inherited Members

- Static Public Member Functions inherited from openvpn::RC< thread_unsafe_refcount >
static constexpr bool is_thread_safe ()
 Delegates call to RCImpl and returns the result.
 

Detailed Description

template<class TUNMETHODS>
class openvpn::TunLinuxSetup::Setup< TUNMETHODS >

Definition at line 52 of file tunsetup.hpp.

Member Typedef Documentation

◆ Ptr

template<class TUNMETHODS >
typedef RCPtr<Setup> openvpn::TunLinuxSetup::Setup< TUNMETHODS >::Ptr

Definition at line 55 of file tunsetup.hpp.

Constructor & Destructor Documentation

◆ Setup()

template<class TUNMETHODS >
openvpn::TunLinuxSetup::Setup< TUNMETHODS >::Setup ( )
inline

Definition at line 62 of file tunsetup.hpp.

Member Function Documentation

◆ add_bypass_route()

template<class TUNMETHODS >
bool openvpn::TunLinuxSetup::Setup< TUNMETHODS >::add_bypass_route ( const std::string &  address,
bool  ipv6,
std::ostream &  os 
)
inline

Definition at line 108 of file tunsetup.hpp.

◆ destroy()

template<class TUNMETHODS >
void openvpn::TunLinuxSetup::Setup< TUNMETHODS >::destroy ( std::ostream &  os)
inlineoverridevirtual

Implements openvpn::DestructorBase.

Definition at line 99 of file tunsetup.hpp.

◆ establish()

template<class TUNMETHODS >
int openvpn::TunLinuxSetup::Setup< TUNMETHODS >::establish ( const TunBuilderCapture pull,
TunBuilderSetup< TUNMETHODS >::Config config,
Stop stop,
std::ostream &  os 
)
inlineoverridevirtual

Implements openvpn::TunBuilderSetup::Base.

Definition at line 128 of file tunsetup.hpp.

◆ open_tun()

template<class TUNMETHODS >
int openvpn::TunLinuxSetup::Setup< TUNMETHODS >::open_tun ( Config conf)
inlineprivate

Definition at line 173 of file tunsetup.hpp.

Here is the caller graph for this function:

◆ open_unit()

template<class TUNMETHODS >
void openvpn::TunLinuxSetup::Setup< TUNMETHODS >::open_unit ( const std::string &  name,
struct ifreq &  ifr,
ScopedFD fd 
)
inlineprivate

Definition at line 219 of file tunsetup.hpp.

Here is the caller graph for this function:

Member Data Documentation

◆ connected_gw

template<class TUNMETHODS >
std::string openvpn::TunLinuxSetup::Setup< TUNMETHODS >::connected_gw
private

Definition at line 252 of file tunsetup.hpp.

◆ remove_cmds

template<class TUNMETHODS >
ActionListReversed::Ptr openvpn::TunLinuxSetup::Setup< TUNMETHODS >::remove_cmds = new ActionListReversed()
private

Definition at line 250 of file tunsetup.hpp.

◆ remove_cmds_bypass_gw

template<class TUNMETHODS >
ActionList::Ptr openvpn::TunLinuxSetup::Setup< TUNMETHODS >::remove_cmds_bypass_gw = new ActionList()
private

Definition at line 249 of file tunsetup.hpp.

◆ tun_iface_name

template<class TUNMETHODS >
std::string openvpn::TunLinuxSetup::Setup< TUNMETHODS >::tun_iface_name
private

Definition at line 254 of file tunsetup.hpp.


The documentation for this class was generated from the following file: