OpenVPN 3 Core Library
Loading...
Searching...
No Matches
openvpn::EmulateExcludeRouteImpl Class Reference

#include <cliemuexr.hpp>

Inheritance diagram for openvpn::EmulateExcludeRouteImpl:
[legend]
Collaboration diagram for openvpn::EmulateExcludeRouteImpl:
[legend]

Public Types

typedef RCPtr< EmulateExcludeRouteImplPtr
 
- Public Types inherited from openvpn::EmulateExcludeRoute
typedef RCPtr< EmulateExcludeRoutePtr
 
- Public Types inherited from openvpn::RC< thread_unsafe_refcount >
typedef RCPtr< RCPtr
 

Public Member Functions

 OPENVPN_EXCEPTION (emulate_exclude_route_error)
 
 EmulateExcludeRouteImpl (const bool exclude_server_address)
 
- 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

void add_route (const bool add, const IP::Addr &addr, const int prefix_len) override
 
void add_default_routes (bool ipv4, bool ipv6) override
 
bool enabled (const IPVerFlags &ipv) const override
 
void emulate (TunBuilderBase *tb, IPVerFlags &ipv, const IP::Addr &server_addr) const override
 
bool check_route_should_be_installed (const IP::Route &r, const IP::RouteList &excludedRoutes) const
 

Private Attributes

const bool exclude_server_address_
 
IP::RouteList include
 
IP::RouteList exclude
 

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

Definition at line 22 of file cliemuexr.hpp.

Member Typedef Documentation

◆ Ptr

Constructor & Destructor Documentation

◆ EmulateExcludeRouteImpl()

openvpn::EmulateExcludeRouteImpl::EmulateExcludeRouteImpl ( const bool  exclude_server_address)
inlineexplicit

Definition at line 29 of file cliemuexr.hpp.

Member Function Documentation

◆ add_default_routes()

void openvpn::EmulateExcludeRouteImpl::add_default_routes ( bool  ipv4,
bool  ipv6 
)
inlineoverrideprivatevirtual

Implements openvpn::EmulateExcludeRoute.

Definition at line 40 of file cliemuexr.hpp.

◆ add_route()

void openvpn::EmulateExcludeRouteImpl::add_route ( const bool  add,
const IP::Addr addr,
const int  prefix_len 
)
inlineoverrideprivatevirtual

Implements openvpn::EmulateExcludeRoute.

Definition at line 35 of file cliemuexr.hpp.

Here is the caller graph for this function:

◆ check_route_should_be_installed()

bool openvpn::EmulateExcludeRouteImpl::check_route_should_be_installed ( const IP::Route r,
const IP::RouteList excludedRoutes 
) const
inlineprivate

Definition at line 110 of file cliemuexr.hpp.

Here is the caller graph for this function:

◆ emulate()

void openvpn::EmulateExcludeRouteImpl::emulate ( TunBuilderBase tb,
IPVerFlags ipv,
const IP::Addr server_addr 
) const
inlineoverrideprivatevirtual

Implements openvpn::EmulateExcludeRoute.

Definition at line 53 of file cliemuexr.hpp.

◆ enabled()

bool openvpn::EmulateExcludeRouteImpl::enabled ( const IPVerFlags ipv) const
inlineoverrideprivatevirtual

Implements openvpn::EmulateExcludeRoute.

Definition at line 48 of file cliemuexr.hpp.

◆ OPENVPN_EXCEPTION()

openvpn::EmulateExcludeRouteImpl::OPENVPN_EXCEPTION ( emulate_exclude_route_error  )

Member Data Documentation

◆ exclude

IP::RouteList openvpn::EmulateExcludeRouteImpl::exclude
private

Definition at line 145 of file cliemuexr.hpp.

◆ exclude_server_address_

const bool openvpn::EmulateExcludeRouteImpl::exclude_server_address_
private

Definition at line 143 of file cliemuexr.hpp.

◆ include

IP::RouteList openvpn::EmulateExcludeRouteImpl::include
private

Definition at line 144 of file cliemuexr.hpp.


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