sigx::tunnel_context_base Class Reference
[Dispatching]

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]

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:

Generated on Sun May 17 15:47:35 2009 for sigx++ by  doxygen 1.5.9