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
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.

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.

Reimplemented from sigx::tunnel_context_base.

References 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: