メインページ | モジュール | 名前空間一覧 | クラス階層 | 構成 | ファイル一覧 | 名前空間メンバ | 構成メンバ | ファイルメンバ | 関連ページ

クラス テンプレートtoppers::task< Id, Diagnostics, Stub > の解説
[カーネルオブジェクト管理]

タスク機能をカプセル化したテンプレートクラス [詳細]

#include <toppers/task.hpp>

すべてのメンバ一覧

Public 型

typedef t_ctsk creation
 タスク生成情報パケット型

typedef t_rtsk reference
 タスク状態参照情報パケット型

typedef t_rtst easy_reference
 タスク状態参照情報パケット型(簡易版)

typedef task_body< Diagnostics,
Stub > 
body
 タスク本体定義用の基底クラス


Public メンバ関数

コンストラクタ
 task ()
 デフォルトコンストラクタ

 task (ID id)
 ID番号指定のコンストラクタ.

template<ID Id2, class Diagnostics2, class Stub2>  task (const task< Id2, Diagnostics2, Stub2 > &other)
 テンプレート実引数違いの他のオブジェクトからの変換コンストラクタ

生成と削除
ER create (const creation *pk_cobj)
 タスクの生成

ER create (ATR tskatr, VP_INT exinf, void(*entry)(VP_INT), PRI itskpri=0, SIZE stksz=TOPPERS_STACKSIZE, VP stk=0)
 タスクの生成(個別のフィールド指定)

template<class Body> ER create (ATR tskatr=TA_ACT, VP_INT exinf=0, PRI itskpri=0, SIZE stksz=TOPPERS_STACKSIZE, VP stk=0)
 タスクの生成(ボディ指定)

ER destroy ()
 タスクの削除

状態参照
ER refer (reference *pk_robj) const
 タスクの状態参照

ER refer (easy_reference *pk_robj) const
 タスクの状態参照(簡易版)

タスク管理機能
ER activate (task_context_tag=task_context) const
 タスクの起動

ER activate (non_task_context_tag) const
 タスクの起動(非タスクコンテキスト)

ER activate (context_independent_tag) const
 タスクの起動(コンテキスト非依存)

ER activate (VP_INT exinf) const
 タスクの起動(起動コード指定)

ER start (VP_INT exinf) const
 タスクの起動(起動コード指定)

ER_UINT cancel_activation () const
 タスク起動要求のキャンセル

ER terminate () const
 タスクの強制終了

ER change_priority (PRI tskpri) const
 タスク優先度の変更

ER get_priority (PRI *p_tskpri) const
 タスク優先度の参照

タスク付属同期機能
ER wakeup (task_context_tag=task_context) const
 タスクの起床

ER wakeup (non_task_context_tag) const
 タスクの起床(非タスクコンテキスト)

ER wakeup (context_independent_tag) const
 タスクの起床(コンテキスト非依存)

ER_UINT cancel_wakeup () const
 タスク起床要求のキャンセル

ER release_wait (task_context_tag=task_context) const
 待ち状態の強制解除

ER release_wait (non_task_context_tag) const
 待ち状態の強制解除(非タスクコンテキスト)

ER release_wait (context_independent_tag) const
 待ち状態の強制解除(コンテキスト非依存)

ER suspend () const
 強制待ち状態への移行

ER resume (normal_tag=normal) const
 強制待ち状態からの再開

ER resume (forced_tag) const
 強制待ち状態からの強制再開


フレンド

ID get_unsafe_id (const task< Id, Diagnostics, Stub > &obj)
 タスクID番号の取得


解説

template<ID Id = 0, class Diagnostics = TOPPERS_DEFAULT_DIAGNOSTICS, class Stub = TOPPERS_DEFAULT_STUB>
class toppers::task< Id, Diagnostics, Stub >

  task テンプレートクラスは、主として異なるタスクに対する操作をカプセル化している。 自タスクに対する操作は、task_bodytaskexception_body のメンバ関数を使用のこと。
基本概念やテンプレート引数の意味については、カーネルオブジェクト管理 を参照のこと。

参照:
task_body