クラス toppers::kernel_cfg

"kernel_cfg.c"ファイル出力のための基底クラス [詳細]

#include "toppers/kernel_cfg.hpp"

toppers::kernel_cfgに対する継承グラフ

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

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

Public 型

typedef std::vector< boost::shared_ptr<
initial_block > > 
inib_array

Public メソッド

 kernel_cfg (const std::string &file=std::string("kernel_cfg.c"), const std::string &id_file=std::string("kernel_id.h"))
 コンストラクタ
const std::string & id_file () const
 ID定義ヘッダファイル名の取得
const inib_arrayget_inib_array (const std::string &key) const
 初期化ブロック配列の参照

Protected 型

typedef std::map< std::string,
inib_array
inib_array_map

Protected メソッド

void insert_inib (const std::string &key, const boost::shared_ptr< initial_block > &inib)
 初期化ブロックの挿入
void clear_inib_array (const std::string &key)
 初期化ブロックのクリア
virtual bool do_save (std::ostream &ostr) const
 ファイル出力の実処理

構成

class  initial_block
 カーネルオブジェクトの初期化ブロッククラス [詳細]

説明

"kernel_cfg.c"ファイル出力のための基底クラス

参照:
kernel_id

kernel_cfg.hpp66 行で定義されています。


コンストラクタとデストラクタ

toppers::kernel_cfg::kernel_cfg const std::string &  file = std::string( "kernel_cfg.c" ),
const std::string &  id_file = std::string( "kernel_id.h" )
[explicit]
 

コンストラクタ

引数:
file 出力ファイル名(ex. kernel_cfg.c)
id_file ID定義ヘッダファイル名(ex. kernel_id.h)

kernel_cfg.cpp131 行で定義されています。

00132     : cfg_base( file ), id_file_( id_file )
00133   {
00134   }


関数

void toppers::kernel_cfg::clear_inib_array const std::string &  key  )  [protected]
 

初期化ブロックのクリア

引数:
key クリアする初期化ブロックを特定するキー

kernel_cfg.cpp192 行で定義されています。

00193   {
00194     inib_map_[key].clear();
00195   }

bool toppers::kernel_cfg::do_save std::ostream &  ostr  )  const [protected, virtual]
 

ファイル出力の実処理

引数:
ostr 出力ストリーム
この関数ではファイルヘッダとボディを順に行います。 実際の処理はdo_file_headerとdo_bodyに委譲する。

toppers::cfg_baseを実装しています。

kernel_cfg.cpp152 行で定義されています。

参照先 toppers::cfg_base::do_body()toppers::cfg_base::do_file_header().

00153   {
00154     do_file_header( ostr );
00155     do_body( ostr );
00156     return true;
00157   }

関数の呼び出しグラフ:

const kernel_cfg::inib_array * toppers::kernel_cfg::get_inib_array const std::string &  key  )  const
 

初期化ブロック配列の参照

引数:
key オブジェクト種別を特定するための文字列
戻り値:
初期化ブロック配列を返す

kernel_cfg.cpp177 行で定義されています。

参照元 toppers::itron::cfg_kernel_cfg::do_initialize_object()toppers::itron::jsp::task_policy::generate_assertions()toppers::itron::jsp::semaphore_policy::generate_assertions()toppers::itron::jsp::mempfix_policy::generate_assertions()toppers::itron::jsp::mailbox_policy::generate_assertions()toppers::itron::jsp::interrupt_policy::generate_assertions()toppers::itron::jsp::initialization_policy::generate_assertions()toppers::itron::jsp::exception_policy::generate_assertions()toppers::itron::jsp::eventflag_policy::generate_assertions()toppers::itron::jsp::cyclic_policy::generate_assertions()toppers::itron::jsp::task_policy::generate_constants()toppers::itron::jsp::termination_policy::generate_kernel_cfg()toppers::itron::jsp::initialization_policy::generate_kernel_cfg()toppers::itron::jsp::file_generator< task_policy >::generate_kernel_cfg()toppers::itron::include_policy::generate_kernel_cfg().

00178   {
00179     inib_array_map::const_iterator iter( inib_map_.find( key ) );
00180     if ( iter == inib_map_.end() )
00181     {
00182       static inib_array dummy;
00183       return &dummy;
00184     }
00185     return &iter->second;
00186   }

const std::string & toppers::kernel_cfg::id_file  )  const
 

ID定義ヘッダファイル名の取得

戻り値:
ファイル名を返す

kernel_cfg.cpp140 行で定義されています。

00141   {
00142     return id_file_;
00143   }

void toppers::kernel_cfg::insert_inib const std::string &  key,
const boost::shared_ptr< initial_block > &  inib
[protected]
 

初期化ブロックの挿入

引数:
key オブジェクト種別を特定するための文字列
inib 初期化ブロック

kernel_cfg.cpp164 行で定義されています。

参照元 toppers::itron::cfg_kernel_cfg::do_load().

00165   {
00166     if ( inib )
00167     {
00168       inib_map_[key].push_back( inib );
00169     }
00170   }


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