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::Starting Class Reference

#include <States.h>

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

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 ()
 
- Public Member Functions inherited from smproxy::State< Starting, Enabled >
std::string stateName () const
 

Private Attributes

boost::scoped_ptr< boost::thread > startingThread_
 

Additional Inherited Members

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

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

373  : my_state("Starting", c)
374  { safeEntryAction(); }
virtual smproxy::Starting::~Starting ( )
inlinevirtual

Member Function Documentation

void smproxy::Starting::activity ( )

Definition at line 232 of file StateMachine.cc.

Referenced by entryAction().

233  {
234  outermost_context_type& stateMachine = outermost_context();
235  stateMachine.clearInitMsgCollection();
236  boost::this_thread::interruption_point();
237  stateMachine.resetStatistics();
238  boost::this_thread::interruption_point();
239  stateMachine.clearConsumerRegistrations();
240  boost::this_thread::interruption_point();
241  stateMachine.enableConsumerRegistration();
242  boost::this_thread::interruption_point();
243  stateMachine.processEvent( StartingDone() );
244  }
void smproxy::Starting::entryAction ( )
virtual

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

Definition at line 224 of file StateMachine.cc.

References activity(), and startingThread_.

225  {
226  startingThread_.reset(
227  new boost::thread( boost::bind( &Starting::activity, this) )
228  );
229  }
boost::scoped_ptr< boost::thread > startingThread_
Definition: States.h:383
void smproxy::Starting::exitAction ( )
virtual

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

Definition at line 247 of file StateMachine.cc.

References startingThread_.

248  {
249  startingThread_->interrupt();
250  }
boost::scoped_ptr< boost::thread > startingThread_
Definition: States.h:383

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