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 243 of file StateMachine.cc.

Referenced by entryAction().

244  {
245  outermost_context_type& stateMachine = outermost_context();
246  stateMachine.clearInitMsgCollection();
247  boost::this_thread::interruption_point();
248  stateMachine.resetStatistics();
249  boost::this_thread::interruption_point();
250  stateMachine.clearConsumerRegistrations();
251  boost::this_thread::interruption_point();
252  stateMachine.enableConsumerRegistration();
253  boost::this_thread::interruption_point();
254  stateMachine.processEvent( StartingDone() );
255  }
void smproxy::Starting::entryAction ( )
virtual

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

Definition at line 235 of file StateMachine.cc.

References activity(), and startingThread_.

236  {
237  startingThread_.reset(
238  new boost::thread( boost::bind( &Starting::activity, this) )
239  );
240  }
boost::scoped_ptr< boost::thread > startingThread_
Definition: States.h:383
void smproxy::Starting::exitAction ( )
virtual

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

Definition at line 258 of file StateMachine.cc.

References startingThread_.

259  {
260  startingThread_->interrupt();
261  }
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().