クラス toppers::itron::chk_factory

チェッカー用ファクトリクラス [詳細]

#include "toppers/itron/chk_factory.hpp"

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

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

Public 型

typedef const boost::shared_ptr<
chk_factory >(* 
builder_type )(const cmdline::option_array &, long)
 ファンクタ生成関数へのポインタ型
typedef bool(* checker_type )(const itron::kernel_chk &chk, const s_record &srec, const nm_symbol &syms)
 リンク後のパラメータチェック関数へのポインタ型

Public メソッド

 chk_factory (const cmdline::option_array &options, long prid)
 コンフィギュレータ
virtual ~chk_factory ()
 デストラクタ
const boost::shared_ptr< kernel_chkcreate_kernel_chk () const
 チェッカー情報クラスの生成
const boost::shared_ptr< std::vector<
checker_type > > 
get_checkers () const
 リンク後のパラメータチェック関数群の取得
const boost::shared_ptr< cmdline::option_arrayoptions () const
 コマンドラインオプションの取得
long prid () const
 プロダクトID値の取得

Static Public メソッド

static const boost::shared_ptr<
chk_factory
build (const cmdline::option_array &options, long prid)
 ファクトリ自体の生成
static void register_builder (builder_type builder)
 ファクトリ自体の生成関数の登録
static void clear_builders ()
 登録しているファクトリ生成関数の消去
static void global (const boost::shared_ptr< chk_factory > &factory)
 グローバルファクトリの設定
static const boost::shared_ptr<
chk_factory
global ()
 グローバルファクトリの参照

Protected メソッド

virtual const boost::shared_ptr<
kernel_chk
do_create_kernel_chk () const =0
virtual const boost::shared_ptr<
std::vector< checker_type > > 
do_get_checkers () const =0

説明

チェッカー用ファクトリクラス

chk_factory.hpp64 行で定義されています。


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

toppers::itron::chk_factory::chk_factory const cmdline::option_array options,
long  prid
 

コンフィギュレータ

引数:
options コマンドラインオプション
prid TKERNEL_PRIDマクロの値

chk_factory.cpp52 行で定義されています。

00053       : options_( new cmdline::option_array( options ) ), prid_( prid )
00054     {
00055     }


関数

const boost::shared_ptr< chk_factory > toppers::itron::chk_factory::build const cmdline::option_array options,
long  prid
[static]
 

ファクトリ自体の生成

引数:
options コマンドラインオプション
prid TKERNEL_PRIDマクロの値

toppers::itron::specified_chk_factory< Policy >で再定義されています。

chk_factory.cpp62 行で定義されています。

参照先 options().

00063     {
00064       typedef std::vector<builder_type>::const_iterator const_iterator;
00065       for ( const_iterator iter( builders().begin() ), last( builders().end() ); iter != last; ++iter )
00066       {
00067         boost::shared_ptr<chk_factory> ptr( ( *iter )( options, prid ) );
00068         if ( ptr )
00069         {
00070           return ptr;
00071         }
00072       }
00073       return boost::shared_ptr<chk_factory>();
00074     }

関数の呼び出しグラフ:

const boost::shared_ptr<kernel_chk> toppers::itron::chk_factory::create_kernel_chk  )  const [inline]
 

チェッカー情報クラスの生成

戻り値:
kernel_chk クラスへのスマートポインタを返す

chk_factory.hpp86 行で定義されています。

00086 { return do_create_kernel_chk(); }

const boost::shared_ptr<std::vector<checker_type> > toppers::itron::chk_factory::get_checkers  )  const [inline]
 

リンク後のパラメータチェック関数群の取得

戻り値:
チェック関数へのベクタを指すスマートポインタを返す

chk_factory.hpp91 行で定義されています。

00091 { return do_get_checkers(); }

const boost::shared_ptr< chk_factory > toppers::itron::chk_factory::global  )  [static]
 

グローバルファクトリの参照

戻り値:
グローバルファクトリを指すスマートポインタを返す

chk_factory.cpp108 行で定義されています。

00109     {
00110       return global_factory();
00111     }

void toppers::itron::chk_factory::global const boost::shared_ptr< chk_factory > &  factory  )  [static]
 

グローバルファクトリの設定

引数:
factory グローバル登録するファクトリへのスマートポインタ

chk_factory.cpp99 行で定義されています。

00100     {
00101       global_factory() = factory;
00102     }

const boost::shared_ptr<cmdline::option_array> toppers::itron::chk_factory::options  )  const [inline]
 

コマンドラインオプションの取得

戻り値:
ファクトリ生成時に指定したコマンドラインオプションを返す

chk_factory.hpp96 行で定義されています。

参照元 toppers::itron::specified_chk_factory< Policy >::build()build().

00096 { return options_; }

long toppers::itron::chk_factory::prid  )  const [inline]
 

プロダクトID値の取得

戻り値:
ファクトリ生成時に指定したプロダクトID値を返す

chk_factory.hpp101 行で定義されています。

00101 { return prid_; }

void toppers::itron::chk_factory::register_builder builder_type  builder  )  [static]
 

ファクトリ自体の生成関数の登録

引数:
builder 生成関数
この関数で登録した生成関数は build 関数から呼び出されます。

chk_factory.cpp82 行で定義されています。

参照元 toppers::itron::jsp::register_chk_factory().

00083     {
00084       builders().push_back( builder );
00085     }


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