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

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

タスク例外処理ルーチンの本体動作を定義する基底クラス [詳細]

#include <toppers/taskexception.hpp>

toppers::taskexception_body< Diagnostics, Stub >に対する継承グラフ

toppers::task_context_body< Diagnostics, Stub > すべてのメンバ一覧

Public メンバ関数

 taskexception_body (TEXPTN texptn, VP_INT exinf)
 コンストラクタ

const task< 0, Diagnostics,
Stub > & 
get_task () const
 自タスク管理オブジェクトの参照

void run ()
 タスク本体動作の実行

VP_INT get_extended_info () const
 タスクの拡張情報の参照


Static Public メンバ関数

bool filter (TEXPTN texptn)
 タスク例外処理マスク情報によるフィルタリング

ER change_mask (TEXPTN mask)
 タスク例外処理マスク情報の変更

ER get_mask (TEXPTN *p_mask)
 タスク例外処理マスク情報の参照

ER sleep (forever_tag=forever)
 タスクの起床待ち

ER sleep (TMO tmout)
 タスクの起床待ち(タイムアウト指定)

ER delay (RELTIM dlytim)
 タスクの遅延

ER yield ()
 タスクの切り替え


Static Public 変数

const task_context_tag task_context = toppers::task_context
 タスクコンテキストを指定する定数

const non_task_context_tag non_task_context = toppers::non_task_context
 非タスクコンテキストを指定する定数

const task_context_tag context_independent = toppers::task_context
 現在のコンテキスト(すなわちタスクコンテキスト)を指定する定数


Protected 型

typedef Stub stub
 サービスコールスタブ


Protected メンバ関数

 ~taskexception_body ()
 デストラクタ


Static Protected メンバ関数

ID get_task_id ()
 実行中のタスクID番号を参照する


解説

template<class Diagnostics = TOPPERS_DEFAULT_DIAGNOSTICS, class Stub = TOPPERS_DEFAULT_STUB>
class toppers::taskexception_body< Diagnostics, Stub >

  タスク例外処理ルーチンを作成する場合、taskexception_body テンプレートクラスから public 継承したクラスを定義し、その型をtaskexception_entry テンプレート関数のテンプレート 引数に渡す。

参照:
taskexception taskexception_entry


メンバ関数の解説

template<class Diagnostics = TOPPERS_DEFAULT_DIAGNOSTICS, class Stub = TOPPERS_DEFAULT_STUB>
bool toppers::taskexception_body< Diagnostics, Stub >::filter TEXPTN  texptn  )  [inline, static]
 

タスク例外処理のマスク機能を使わない場合は、派生クラスで filter を再定義し、 常にtrue を返すようにすればよい。