CMS 3D CMS Logo

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 state

List of all members.

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 ()

Private Attributes

boost::scoped_ptr< boost::thread > haltingThread_

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

                          : my_state("Halting", c)
    { safeEntryAction(); }
virtual smproxy::Halting::~Halting ( ) [inline, virtual]

Definition at line 348 of file States.h.

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


Member Function Documentation

void smproxy::Halting::activity ( )

Definition at line 297 of file StateMachine.cc.

Referenced by entryAction().

  {
    outermost_context_type& stateMachine = outermost_context();
    stateMachine.disableConsumerRegistration();
    boost::this_thread::interruption_point();
    stateMachine.clearQueues();
    boost::this_thread::interruption_point();
    stateMachine.processEvent( HaltingDone() );
  }
void smproxy::Halting::entryAction ( ) [virtual]

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

Definition at line 289 of file StateMachine.cc.

References activity(), and haltingThread_.

  {
    haltingThread_.reset(
      new boost::thread( boost::bind( &Halting::activity, this) )
    );
  }
void smproxy::Halting::exitAction ( ) [virtual]

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

Definition at line 308 of file StateMachine.cc.

References haltingThread_.

  {
    haltingThread_->interrupt();
  }

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