mFrame
載入中...
搜尋中...
無符合項目
TinyKernel.h
1
7#ifndef MFRAME_D8F089C0_15D2_42B7_96B9_5416B7CDCD55
8#define MFRAME_D8F089C0_15D2_42B7_96B9_5416B7CDCD55
9
10/* ***************************************************************************************
11 * Include
12 */
13
14//----------------------------------------------------------------------------------------
15#include "./../lang/Object.h"
16#include "./../sys/Kernel.h"
17#include "./../sys/Thread.h"
18
19//----------------------------------------------------------------------------------------
20
21/* ***************************************************************************************
22 * Namespace
23 */
24namespace ufm::sys {
25 class TinyKernel;
26} // namespace ufm::sys
27
28/* ***************************************************************************************
29 * Class/Interface/Struct/Enum
30 */
32 /* *************************************************************************************
33 * Variable
34 */
35 private:
36 void (*vReboot)(void);
37
38 /* *************************************************************************************
39 * Abstract Method
40 */
41
42 /* *************************************************************************************
43 * Construct Method
44 */
45 public:
50 TinyKernel(void (*reboot)(void));
51
56 virtual ~TinyKernel(void) override;
57
58 /* *************************************************************************************
59 * Operator Method
60 */
61
62 /* *************************************************************************************
63 * Override - ufm::sys::Thread
64 */
65 public:
73 virtual const char* getThreadName(void) const override;
74
82 virtual ufm::sys::ThreadPriority getPriority(void) const override;
83
92 virtual ufm::sys::ThreadState getState(void) const override;
93
102 virtual int getStackSize(void) const override;
103
115 virtual bool start(const char* name, ufm::sys::ThreadPriority priority) override;
116
125 virtual void notify(void) override;
126
137 virtual bool setPriority(ufm::sys::ThreadPriority priority) override;
138
139 /* *************************************************************************************
140 * Override - ufm::sys::Kernel
141 */
142 public:
152 virtual bool initialize(void) override;
153
162 virtual void start(ufm::func::Runnable* task) override;
163
173 virtual int systemLock(void) override;
174
183 virtual int systemUnlock(void) override;
184
195 virtual bool systemDelay(int milliseconds) const override;
196
207 virtual bool systemWait(int timeout) const override;
208
217 virtual void reboot(void) override;
218
227 virtual ufm::sys::Thread* getCurrentThread(void) override;
228
242 virtual bool systemYield(void) override;
243
244 /* *************************************************************************************
245 * Public Method
246 */
247
248 /* *************************************************************************************
249 * Protected Method
250 */
251
252 /* *************************************************************************************
253 * Private Method
254 */
255
256 /* *************************************************************************************
257 * Static Variable
258 */
259
260 /* *************************************************************************************
261 * Static Method
262 */
263};
264
265/* ***************************************************************************************
266 * End of file
267 */
268
269#endif /* MFRAME_D8F089C0_15D2_42B7_96B9_5416B7CDCD55 */
執行緒類別
Definition Thread.h:49
Definition TinyKernel.h:31
virtual ~TinyKernel(void) override
Destroy the object.
virtual ufm::sys::ThreadState getState(void) const override
取得執行緒狀態
TinyKernel(void(*reboot)(void))
Construct a new object.
virtual bool initialize(void) override
核心初始化
virtual void reboot(void) override
核心重新啟動
virtual int systemLock(void) override
核心鎖定
virtual void start(ufm::func::Runnable *task) override
核心啟動
virtual bool setPriority(ufm::sys::ThreadPriority priority) override
設定執行緒優先權
virtual bool start(const char *name, ufm::sys::ThreadPriority priority) override
以指定名稱和優先權啟動執行緒
virtual bool systemWait(int timeout) const override
執行緒等待
virtual int getStackSize(void) const override
取得執行緒堆疊大小
virtual ufm::sys::Thread * getCurrentThread(void) override
取得當前執行緒
virtual ufm::sys::ThreadPriority getPriority(void) const override
取得執行緒優先權
virtual bool systemDelay(int milliseconds) const override
執行緒延遲
virtual void notify(void) override
通知執行緒,喚醒等待中的執行緒
virtual int systemUnlock(void) override
核心解鎖
virtual const char * getThreadName(void) const override
取得執行緒名稱
virtual bool systemYield(void) override
讓出執行時間片段
系統功能相關的命名空間
Definition Object.h:31
ThreadPriority
執行緒優先權等級定義
Definition ThreadPriority.h:51
ThreadState
執行緒狀態枚舉
Definition ThreadState.h:34
[Interface] 可執行函數式介面
Definition Runnable.h:40
[Interface] 系統核心介面
Definition Kernel.h:50