構造体 toppers::itron::jsp::termination_policy

終了時処理のためのポリシークラス [詳細]

#include "toppers/itron/jsp/termination.hpp"

toppers::itron::jsp::termination_policyに対する継承グラフ

Inheritance graph
[凡例]
toppers::itron::jsp::termination_policyのコラボレーション図

Collaboration graph
[凡例]
すべてのメンバ一覧

Public 型

enum  { use_id_ = 0 }
 specified_object<Plociy> クラスが要求する Policy::use_id_ 定数 [詳細]

Static Public メソッド

static bool generate_kernel_cfg (const kernel_cfg &cfg, std::ostream &ostr)
 specified_object<Plociy> クラスが要求する Policy::generate_kernel_cfg 関数

Static Public 変数

static const char name_ [] = "termination"
static const char *const apis_ [] = { "VATT_TER", 0 }
static const char *const params_ [] = { "{ #teratr exinf terrtn }", 0, }

説明

終了時処理のためのポリシークラス

このクラスで実現される静的API

  VATT_TER( { ATR teratr, VP_INT exinf, FP terrtn } );

termination.hpp69 行で定義されています。


列挙型

anonymous enum
 

specified_object<Plociy> クラスが要求する Policy::use_id_ 定数

kernel_object_policy_base クラスでは true に定義しています。 ID番号ではなく、オブジェクト番号を使用する場合は、kernel_object_policy_base から継承したクラスで同名のメンバを再定義してください。

toppers::itron::kernel_object_policy_baseを再定義しています。

termination.hpp72 行で定義されています。

00072 { use_id_ = 0 };


関数

bool toppers::itron::jsp::termination_policy::generate_kernel_cfg const kernel_cfg cfg,
std::ostream &  ostr
[static]
 

specified_object<Plociy> クラスが要求する Policy::generate_kernel_cfg 関数

引数:
cfg kernel_cfg.c 生成情報
ostr 出力ストリーム
戻り値:
生成に成功すれば true を返す

toppers::itron::jsp::file_generator< termination_policy >を再定義しています。

termination.cpp55 行で定義されています。

参照先 toppers::kernel_cfg::get_inib_array()name_.

00056       {
00057         using boost::format;
00058         typedef kernel_cfg::inib_array::const_iterator const_iterator;
00059 
00060         const kernel_cfg::inib_array* pinibs = cfg.get_inib_array( name_ );
00061         if ( pinibs == 0 )
00062         {
00063           static const kernel_cfg::inib_array dummy;
00064           pinibs = &dummy;
00065         }
00066 
00067         // 終了時ルーチンの呼び出し関数定義
00068         ostr << "\t/* Termination handler */\n\n";
00069         ostr << "void\n_kernel_call_terrtn(void)\n{\n";
00070         for ( const_iterator iter( pinibs->begin() ), last( pinibs->end() ); iter != last; ++iter )
00071         {
00072           if ( !( *iter )->get( "terrtn" ).empty() )
00073           {
00074             ostr << format( "\t%1%((VP_INT)%2%);\n" ) % ( *iter )->get( "terrtn" ) % ( *iter )->get( "exinf" );
00075           }
00076         }
00077         ostr << "}\n\n";
00078 
00079         return true;
00080       }

関数の呼び出しグラフ:


この構造体の説明は次のファイルから生成されました:
Copyright © 2006 by TAKAGI Nobuhisa.
このページは Wed Apr 12 16:32:08 2006 に Doxygen によって生成されました。