Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040 #ifndef RTT_OS_MAIN_THREAD_HPP
00041 #define RTT_OS_MAIN_THREAD_HPP
00042
00043 #include "ThreadInterface.hpp"
00044 #include <boost/shared_ptr.hpp>
00045
00046 namespace RTT
00047 { namespace os {
00048
00052 class RTT_API MainThread
00053 : public ThreadInterface
00054 {
00055 MainThread();
00060 static boost::shared_ptr<ThreadInterface> mt;
00061 RTOS_TASK main_task;
00062 public:
00063 virtual ~MainThread();
00064
00069 static ThreadInterface* Instance();
00070
00075 static void Release();
00076
00080 virtual bool start();
00081
00085 virtual bool stop();
00086
00090 virtual Seconds getPeriod() const;
00091
00095 virtual bool setPeriod(Seconds period);
00096
00100 virtual nsecs getPeriodNS() const;
00101
00105 virtual bool isRunning() const;
00106
00110 virtual bool isActive() const;
00111
00115 virtual const char* getName() const;
00116
00117 virtual RTOS_TASK * getTask();
00118
00119 virtual const RTOS_TASK * getTask() const;
00120
00121 virtual bool setScheduler(int sched_type);
00122
00123 virtual int getScheduler() const;
00124
00125 virtual bool setPriority(int priority);
00126
00127 virtual int getPriority() const;
00128
00129 virtual unsigned int getPid() const;
00130
00131 virtual void setMaxOverrun(int m);
00132
00133 virtual int getMaxOverrun() const;
00134
00135 virtual void setWaitPeriodPolicy(int p);
00136
00137 virtual void yield();
00138
00142 unsigned int threadNumber() const;
00143 protected:
00144
00145 };
00146 }}
00147
00148 #endif