OpenVPN 3 Core Library
Loading...
Searching...
No Matches
openvpn::TunPersistTemplate< SCOPED_OBJ, STATE > Class Template Reference

#include <tunpersist.hpp>

Inheritance diagram for openvpn::TunPersistTemplate< SCOPED_OBJ, STATE >:
[legend]
Collaboration diagram for openvpn::TunPersistTemplate< SCOPED_OBJ, STATE >:
[legend]

Public Types

typedef RCPtr< TunPersistTemplatePtr
 
- Public Types inherited from openvpn::TunWrapTemplate< SCOPED_OBJ >
typedef RCPtr< TunWrapTemplatePtr
 
- Public Types inherited from openvpn::RC< thread_unsafe_refcount >
typedef RCPtr< RCPtr
 

Public Member Functions

 TunPersistTemplate (const bool enable_persistence, const TunWrapObjRetain retain_obj, TunBuilderBase *tb)
 
const STATE & state () const
 
virtual ~TunPersistTemplate ()
 
void invalidate ()
 
void close ()
 
void set_disconnect ()
 
const std::string & options ()
 
bool use_persisted_tun (const IP::Addr server_addr, const TunProp::Config &tun_prop, const OptionList &opt)
 
bool persist_tun_state (const typename SCOPED_OBJ::base_type obj, const STATE &state, bool save_replace_sock=true)
 
- Public Member Functions inherited from openvpn::TunWrapTemplate< SCOPED_OBJ >
 TunWrapTemplate (const TunWrapObjRetain retain_obj)
 
virtual ~TunWrapTemplate ()
 
bool obj_defined () const
 
SCOPED_OBJ::base_type obj () const
 
bool destructor_defined () const
 
void add_destructor (const DestructorBase::Ptr &destruct)
 
void close_destructor ()
 
void close ()
 
void save_replace_sock (const typename SCOPED_OBJ::base_type obj)
 
- 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 close_local ()
 

Private Attributes

const bool enable_persistence_
 
TunBuilderBase *const tb_
 
STATE state_
 
std::string options_
 
TunBuilderCapture::Ptr copt_
 
bool use_persisted_tun_
 
bool disconnect
 

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<typename SCOPED_OBJ, typename STATE = TunProp::State::Ptr>
class openvpn::TunPersistTemplate< SCOPED_OBJ, STATE >

Definition at line 25 of file tunpersist.hpp.

Member Typedef Documentation

◆ Ptr

template<typename SCOPED_OBJ , typename STATE = TunProp::State::Ptr>
typedef RCPtr<TunPersistTemplate> openvpn::TunPersistTemplate< SCOPED_OBJ, STATE >::Ptr

Definition at line 28 of file tunpersist.hpp.

Constructor & Destructor Documentation

◆ TunPersistTemplate()

template<typename SCOPED_OBJ , typename STATE = TunProp::State::Ptr>
openvpn::TunPersistTemplate< SCOPED_OBJ, STATE >::TunPersistTemplate ( const bool  enable_persistence,
const TunWrapObjRetain  retain_obj,
TunBuilderBase tb 
)
inline

Definition at line 30 of file tunpersist.hpp.

◆ ~TunPersistTemplate()

template<typename SCOPED_OBJ , typename STATE = TunProp::State::Ptr>
virtual openvpn::TunPersistTemplate< SCOPED_OBJ, STATE >::~TunPersistTemplate ( )
inlinevirtual

Definition at line 45 of file tunpersist.hpp.

Member Function Documentation

◆ close()

template<typename SCOPED_OBJ , typename STATE = TunProp::State::Ptr>
void openvpn::TunPersistTemplate< SCOPED_OBJ, STATE >::close ( )
inline

Definition at line 55 of file tunpersist.hpp.

◆ close_local()

template<typename SCOPED_OBJ , typename STATE = TunProp::State::Ptr>
void openvpn::TunPersistTemplate< SCOPED_OBJ, STATE >::close_local ( )
inlineprivate

Definition at line 138 of file tunpersist.hpp.

Here is the caller graph for this function:

◆ invalidate()

template<typename SCOPED_OBJ , typename STATE = TunProp::State::Ptr>
void openvpn::TunPersistTemplate< SCOPED_OBJ, STATE >::invalidate ( )
inline

Definition at line 50 of file tunpersist.hpp.

◆ options()

template<typename SCOPED_OBJ , typename STATE = TunProp::State::Ptr>
const std::string & openvpn::TunPersistTemplate< SCOPED_OBJ, STATE >::options ( )
inline

Definition at line 67 of file tunpersist.hpp.

◆ persist_tun_state()

template<typename SCOPED_OBJ , typename STATE = TunProp::State::Ptr>
bool openvpn::TunPersistTemplate< SCOPED_OBJ, STATE >::persist_tun_state ( const typename SCOPED_OBJ::base_type  obj,
const STATE &  state,
bool  save_replace_sock = true 
)
inline

Definition at line 119 of file tunpersist.hpp.

◆ set_disconnect()

template<typename SCOPED_OBJ , typename STATE = TunProp::State::Ptr>
void openvpn::TunPersistTemplate< SCOPED_OBJ, STATE >::set_disconnect ( )
inline

Definition at line 61 of file tunpersist.hpp.

◆ state()

template<typename SCOPED_OBJ , typename STATE = TunProp::State::Ptr>
const STATE & openvpn::TunPersistTemplate< SCOPED_OBJ, STATE >::state ( ) const
inline

Definition at line 40 of file tunpersist.hpp.

Here is the caller graph for this function:

◆ use_persisted_tun()

template<typename SCOPED_OBJ , typename STATE = TunProp::State::Ptr>
bool openvpn::TunPersistTemplate< SCOPED_OBJ, STATE >::use_persisted_tun ( const IP::Addr  server_addr,
const TunProp::Config tun_prop,
const OptionList opt 
)
inline

Definition at line 74 of file tunpersist.hpp.

Member Data Documentation

◆ copt_

template<typename SCOPED_OBJ , typename STATE = TunProp::State::Ptr>
TunBuilderCapture::Ptr openvpn::TunPersistTemplate< SCOPED_OBJ, STATE >::copt_
private

Definition at line 151 of file tunpersist.hpp.

◆ disconnect

template<typename SCOPED_OBJ , typename STATE = TunProp::State::Ptr>
bool openvpn::TunPersistTemplate< SCOPED_OBJ, STATE >::disconnect
private

Definition at line 154 of file tunpersist.hpp.

◆ enable_persistence_

template<typename SCOPED_OBJ , typename STATE = TunProp::State::Ptr>
const bool openvpn::TunPersistTemplate< SCOPED_OBJ, STATE >::enable_persistence_
private

Definition at line 146 of file tunpersist.hpp.

◆ options_

template<typename SCOPED_OBJ , typename STATE = TunProp::State::Ptr>
std::string openvpn::TunPersistTemplate< SCOPED_OBJ, STATE >::options_
private

Definition at line 149 of file tunpersist.hpp.

◆ state_

template<typename SCOPED_OBJ , typename STATE = TunProp::State::Ptr>
STATE openvpn::TunPersistTemplate< SCOPED_OBJ, STATE >::state_
private

Definition at line 148 of file tunpersist.hpp.

◆ tb_

template<typename SCOPED_OBJ , typename STATE = TunProp::State::Ptr>
TunBuilderBase* const openvpn::TunPersistTemplate< SCOPED_OBJ, STATE >::tb_
private

Definition at line 147 of file tunpersist.hpp.

◆ use_persisted_tun_

template<typename SCOPED_OBJ , typename STATE = TunProp::State::Ptr>
bool openvpn::TunPersistTemplate< SCOPED_OBJ, STATE >::use_persisted_tun_
private

Definition at line 152 of file tunpersist.hpp.


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