sigx++  2.0.1
Public Member Functions | Protected Member Functions | Protected Attributes
sigx::sync_tunnel_context_base Class Reference

Specialities for synchronous tunnel context. More...

#include <tunnel_context_base.h>

Inheritance diagram for sigx::sync_tunnel_context_base:
sigx::tunnel_context_base sigx::operator_new sigx::tunnel_context< SYNC, T_return, T_unary_functor > sigx::tunnel_context< SYNC, void, T_unary_functor >

Public Member Functions

 sync_tunnel_context_base (const shared_dispatchable &_A_disp, const tunnel_validity_tracker &_A_validity_tracker)
 
- Public Member Functions inherited from sigx::tunnel_context_base
 tunnel_context_base (const shared_dispatchable &_A_disp, const tunnel_validity_tracker &_A_validity_tracker, bool sync=false)
 
virtual ~tunnel_context_base ()
 
virtual void invoke ()=0
 invokes the intended functor at the other end of the tunnel More...
 
bool is_sync () const
 
bool is_valid () const
 
const void * creator_thread () const
 
- Public Member Functions inherited from sigx::operator_new
void * operator new (std::size_t size)
 
void operator delete (void *p)
 
void * operator new[] (std::size_t size)
 
void operator delete[] (void *p)
 

Protected Member Functions

void dispatch_me ()
 sends the tunnel context over the dispatcher. More...
 
- Protected Member Functions inherited from sigx::tunnel_context_base
void dispatch_me ()
 sends the tunnel context over the dispatcher. More...
 
- Protected Member Functions inherited from sigx::operator_new
 operator_new ()
 
 ~operator_new ()
 

Protected Attributes

Glib::Cond m_cond
 
Glib::Mutex m_mutex
 
- Protected Attributes inherited from sigx::tunnel_context_base
tunnel_validity_tracker m_validity_tracker
 
shared_dispatchable m_disp
 
bool m_sync
 
const void *const m_creator_thread
 

Detailed Description

Specialities for synchronous tunnel context.

Constructor & Destructor Documentation

sigx::sync_tunnel_context_base::sync_tunnel_context_base ( const shared_dispatchable _A_disp,
const tunnel_validity_tracker _A_validity_tracker 
)

Member Function Documentation

void sigx::sync_tunnel_context_base::dispatch_me ( )
protected

sends the tunnel context over the dispatcher.

Locks until invoke() has completed.

Returns
whether the tunnel context is dispatchable, i.e. the dispatcher reference was still valid.
Exceptions
bad_dispatcherIf dispatcher is invalid.

References sigx::tunnel_context_base::dispatch_me(), m_cond, and m_mutex.

Referenced by sigx::tunnel_context< SYNC, void, T_unary_functor >::tunnel().

Field Documentation

Glib::Cond sigx::sync_tunnel_context_base::m_cond
protected

Referenced by dispatch_me().

Glib::Mutex sigx::sync_tunnel_context_base::m_mutex
protected

Referenced by dispatch_me().


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