Tekkotsu Homepage
Demos
Overview
Downloads
Dev. Resources
Reference
Credits

TrackNode.h

Go to the documentation of this file.
00001  //-*-c++-*-
00002 #ifndef INCLUDED_TrackNode_h_
00003 #define INCLUDED_TrackNode_h_
00004 
00005 #include "Behaviors/StateNode.h"
00006 
00007 using namespace DualCoding;
00008 
00009 //! Creates a LookoutTrackRequest @a trackreq that the user can modify in their doStart() function, then has the Lookout execute the request when doStart() returns
00010 class TrackNode : public StateNode {
00011 public:
00012   //! Constructor
00013   TrackNode() :
00014     StateNode(), trackreq(), cancelFlag(false) {}
00015 
00016   //! Constructor
00017   TrackNode(std::string const &name) :
00018     StateNode(name), trackreq(), cancelFlag(false) {}
00019 
00020   virtual void stop();
00021 
00022   //! If called inside doStart, prevents request from being passed to Track, and posts a failure event
00023   virtual void cancelThisRequest();
00024 
00025   LookoutTrackRequest trackreq;  // must be public so state machine node initializers can access it
00026 
00027 protected:
00028   virtual void preStart();
00029   virtual void postStart();
00030   virtual void doEvent();
00031   
00032   bool cancelFlag;  //!< If set true in doStart, request will not be submitted to the Track
00033 };
00034 
00035 #endif

Tekkotsu v5.1CVS
Generated Mon May 9 04:58:52 2016 by Doxygen 1.6.3