SequentialActivity.hpp

00001 #ifndef ORO_SEQUENTIAL_ACTIVITY_HPP
00002 #define ORO_SEQUENTIAL_ACTIVITY_HPP
00003 
00004 #include "ActivityInterface.hpp"
00005 #include "RunnableInterface.hpp"
00006 #include "os/Mutex.hpp"
00007 
00008 namespace RTT
00009 {
00010 
00032     class RTT_API SequentialActivity
00033         :public ActivityInterface
00034     {
00035     public:
00040         SequentialActivity( RunnableInterface* run = 0 );
00041 
00045         ~SequentialActivity();
00046 
00047         Seconds getPeriod() const;
00048 
00049         OS::ThreadInterface* thread();
00050 
00051         bool initialize();
00052         void step();
00053         void loop();
00054         bool breakLoop();
00055         void finalize();
00056 
00057         bool start();
00058 
00059         bool stop();
00060 
00061         bool isRunning() const;
00062 
00063         bool isPeriodic() const;
00064 
00065         bool isActive() const;
00066 
00067         bool execute();
00068 
00069         bool trigger();
00070     private:
00071         bool running;
00072         bool active;
00073         OS::Mutex execution_lock;
00074 };
00075 
00076 }
00077 
00078 
00079 #endif
Generated on Thu Dec 23 13:22:38 2010 for Orocos Real-Time Toolkit by  doxygen 1.6.3