CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Private Attributes
smproxy::Halting Class Reference

#include <States.h>

Inheritance diagram for smproxy::Halting:
smproxy::State< Halting, AllOk > smproxy::StateName

Public Types

typedef boost::mpl::list
< boost::statechart::transition
< HaltingDone, Halted > > 
reactions
 

Public Member Functions

void activity ()
 
virtual void entryAction ()
 
virtual void exitAction ()
 
 Halting (my_context c)
 
virtual ~Halting ()
 
- Public Member Functions inherited from smproxy::State< Halting, AllOk >
std::string stateName () const
 

Private Attributes

boost::scoped_ptr< boost::thread > haltingThread_
 

Additional Inherited Members

- Protected Types inherited from smproxy::State< Halting, AllOk >
typedef
boost::statechart::state
< Halting, AllOk,
boost::mpl::list
<>, boost::statechart::has_no_history > 
boost_state
 
typedef State my_state
 
- Protected Member Functions inherited from smproxy::State< Halting, AllOk >
void safeEntryAction ()
 
void safeExitAction ()
 
 State (const std::string stateName, typename boost_state::my_context &c)
 
virtual ~State ()
 
- Protected Attributes inherited from smproxy::State< Halting, AllOk >
const std::string stateName_
 

Detailed Description

The Halting state of the outer-state AllOk.

Definition at line 337 of file States.h.

Member Typedef Documentation

typedef boost::mpl::list< boost::statechart::transition<HaltingDone,Halted> > smproxy::Halting::reactions

Definition at line 344 of file States.h.

Constructor & Destructor Documentation

smproxy::Halting::Halting ( my_context  c)
inline

Definition at line 346 of file States.h.

References smproxy::State< Halting, AllOk >::safeEntryAction().

346  : my_state("Halting", c)
347  { safeEntryAction(); }
virtual smproxy::Halting::~Halting ( )
inlinevirtual

Definition at line 348 of file States.h.

References smproxy::State< Halting, AllOk >::safeExitAction().

Member Function Documentation

void Halting::activity ( )

Definition at line 297 of file StateMachine.cc.

Referenced by entryAction().

298  {
299  outermost_context_type& stateMachine = outermost_context();
300  stateMachine.disableConsumerRegistration();
301  boost::this_thread::interruption_point();
302  stateMachine.clearQueues();
303  boost::this_thread::interruption_point();
304  stateMachine.processEvent( HaltingDone() );
305  }
void Halting::entryAction ( )
virtual

Reimplemented from smproxy::State< Halting, AllOk >.

Definition at line 289 of file StateMachine.cc.

References activity(), and haltingThread_.

290  {
291  haltingThread_.reset(
292  new boost::thread( boost::bind( &Halting::activity, this) )
293  );
294  }
boost::scoped_ptr< boost::thread > haltingThread_
Definition: States.h:356
void Halting::exitAction ( )
virtual

Reimplemented from smproxy::State< Halting, AllOk >.

Definition at line 308 of file StateMachine.cc.

References haltingThread_.

309  {
310  haltingThread_->interrupt();
311  }
boost::scoped_ptr< boost::thread > haltingThread_
Definition: States.h:356

Member Data Documentation

boost::scoped_ptr<boost::thread> smproxy::Halting::haltingThread_
private

Definition at line 356 of file States.h.

Referenced by entryAction(), and exitAction().