CMS 3D CMS Logo

Public Types | Public Member Functions | Private Attributes

smproxy::Starting Class Reference

#include <States.h>

Inheritance diagram for smproxy::Starting:
smproxy::State< Starting, Enabled > smproxy::StateName state

List of all members.

Public Types

typedef boost::mpl::list
< boost::statechart::transition
< StartingDone, Running > > 
reactions

Public Member Functions

void activity ()
virtual void entryAction ()
virtual void exitAction ()
 Starting (my_context c)
virtual ~Starting ()

Private Attributes

boost::scoped_ptr< boost::thread > startingThread_

Detailed Description

The Running state of the outer-state Enabled.

Definition at line 364 of file States.h.


Member Typedef Documentation

typedef boost::mpl::list< boost::statechart::transition<StartingDone,Running> > smproxy::Starting::reactions

Definition at line 371 of file States.h.


Constructor & Destructor Documentation

smproxy::Starting::Starting ( my_context  c) [inline]

Definition at line 373 of file States.h.

References smproxy::State< Starting, Enabled >::safeEntryAction().

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

Definition at line 375 of file States.h.

References smproxy::State< Starting, Enabled >::safeExitAction().


Member Function Documentation

void smproxy::Starting::activity ( )

Definition at line 232 of file StateMachine.cc.

Referenced by entryAction().

  {
    outermost_context_type& stateMachine = outermost_context();
    stateMachine.clearInitMsgCollection();
    boost::this_thread::interruption_point();
    stateMachine.resetStatistics();
    boost::this_thread::interruption_point();
    stateMachine.clearConsumerRegistrations();
    boost::this_thread::interruption_point();
    stateMachine.enableConsumerRegistration();
    boost::this_thread::interruption_point();
    stateMachine.processEvent( StartingDone() );
  }
void smproxy::Starting::entryAction ( ) [virtual]

Reimplemented from smproxy::State< Starting, Enabled >.

Definition at line 224 of file StateMachine.cc.

References activity(), and startingThread_.

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

Reimplemented from smproxy::State< Starting, Enabled >.

Definition at line 247 of file StateMachine.cc.

References startingThread_.

  {
    startingThread_->interrupt();
  }

Member Data Documentation

boost::scoped_ptr<boost::thread> smproxy::Starting::startingThread_ [private]

Definition at line 383 of file States.h.

Referenced by entryAction(), and exitAction().