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

the base class for all tunnel_context classes. More...

#include <tunnel_context_base.h>

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

Public Member Functions

 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

Protected Member Functions

void dispatch_me ()
 sends the tunnel context over the dispatcher.

Protected Attributes

tunnel_validity_tracker m_validity_tracker
shared_dispatchable m_disp
bool m_sync
const void *const m_creator_thread

Detailed Description

the base class for all tunnel_context classes.

A tunnel context represents the tunnel and all facilities involved: the dispatcher, the message, the functor to invoke, whether the message is dispatched asynchronously or synchronously.


Constructor & Destructor Documentation

sigx::tunnel_context_base::tunnel_context_base ( const shared_dispatchable _A_disp,
const tunnel_validity_tracker _A_validity_tracker,
bool  sync = false 
)
sigx::tunnel_context_base::~tunnel_context_base ( ) [virtual]

Member Function Documentation

const void* sigx::tunnel_context_base::creator_thread ( ) const [inline]
void sigx::tunnel_context_base::dispatch_me ( ) [protected]

sends the tunnel context over the dispatcher.

Exceptions:
bad_dispatcherIf dispatcher is invalid.

Reimplemented in sigx::sync_tunnel_context_base.

References m_disp.

Referenced by sigx::tunnel_context< SYNC, T_return, T_unary_functor >::tunnel(), and sigx::tunnel_context< ASYNC, T_return, T_unary_functor >::tunnel().

virtual void sigx::tunnel_context_base::invoke ( ) [pure virtual]
bool sigx::tunnel_context_base::is_sync ( ) const [inline]
bool sigx::tunnel_context_base::is_valid ( ) const [inline]

Field Documentation

const void* const sigx::tunnel_context_base::m_creator_thread [protected]

Referenced by dispatch_me().


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